{"_id":"@bentwnghk/chat","_rev":"700-c170a01df10b25917989d079f2edb9f5","name":"@bentwnghk/chat","dist-tags":{"latest":"1.122.2"},"versions":{"1.0.0":{"name":"@bentwnghk/chat","version":"1.0.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a163085271540bc9ab11e38cca55d3884c745cf7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.0.tgz","fileCount":907,"integrity":"sha512-BFO5g1dlvIQw9YdhO3d7KhJ/yI8eYbEIPgjYFKcJF50PbslOw5Az12basy737HA9/TWbZCW3ZyC+o17hIXPnoQ==","signatures":[{"sig":"MEQCIDfqzFxsP9IejXGorCSCvAfLhqYGmR1UZtc8U5IhQfm3AiAKISiB9PoJBIZijp661WtILjCGbdHlJ2T9qYcaER29tw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3096316},"gitHead":"d17e9288c9cd866387696265c736de2797706b86","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.0_1704098495842_0.8619604484165755","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@bentwnghk/chat","version":"1.0.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e65afc7e5c6f867bd159d392caa93f38a620146a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.1.tgz","fileCount":907,"integrity":"sha512-oUIJ+qFMmWGkDShlb0xlotE3mPjEvgiR1DQDNH5WP+CZEiR6BqHuBk1+4UdFhW16Dx2nd2C9gPAJo340skgHpw==","signatures":[{"sig":"MEUCIAjjE+y1L6IP1mTOcx3TOC8CKIsFC+wMxY2WUrdiUDiOAiEA9A5xiNJEu2j8t9rbxq58Q8VIewVnDrX491I0uYHjivQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3096808},"gitHead":"6450893d1d2e587e2058fcc3deb16bafae60c0b6","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.1_1704106967343_0.840016074889318","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@bentwnghk/chat","version":"1.0.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ed60df7fcf06db5ea3329a7869aa03b403d54770","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.2.tgz","fileCount":907,"integrity":"sha512-fmm1/s5QTnK+gZIRi1GISVzFEhlL0qXGDeTRlCNTprHc/FtfmMMYmRp7ZAIbvRB0a8NYmJSDVp+qKFazr17ayQ==","signatures":[{"sig":"MEUCIQCg5STYtlNvQlL0s4WNuefgSsR9wdek7o6RKTUIn2oodgIgV2HLplKuAtqCPPIU8A0dX1E4kNxrbd5S0YqfOZ5DS78=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3097296},"gitHead":"efd76fac55aaf8733e5b896ffbd290a76dec458f","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.2_1704112181907_0.6899791001689481","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@bentwnghk/chat","version":"1.0.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b4c764c2ecad964a439c100a37c9e5dfd8323b0c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.3.tgz","fileCount":907,"integrity":"sha512-ZAUTv01wkkyamcCpres+AMfj3v8wH9yUxLakYNBqjRdQMuJjh0Le2SOiRnQY15ZvmkTioyuVUQSECDnk/856Pw==","signatures":[{"sig":"MEQCIFgH7uJJLWdVvqTLaaNb9+PKGtOv5r+niy1MCwhrGuFvAiBdgSz3PlobRbop7Ag0+61ML3HEcSZUz4rAggA7ArzfkA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3097788},"gitHead":"39f3619e2f4a2317f3b056ed002ea361edbff68c","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.3_1704114577286_0.8403302967691204","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@bentwnghk/chat","version":"1.0.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"3e8682834627c485364b9491c9f0d09c77d304ea","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.4.tgz","fileCount":907,"integrity":"sha512-w0Gpz6vEi3iC5+Vzzs8/FJN4Mi7NC+9STZpBz6AIcZJE3fbP4HeFO+WqSWIjW7tJThQWZWsFdnriOrltj/80PQ==","signatures":[{"sig":"MEUCIQD94Lg5NVqDCBMDCr15cqWXmdJbNIWdmO/JoBoNSdh86gIgEcwxO+kFhVrwMuFbykrGn96Whm2f0IU4qUwCzn0VBt4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3098276},"gitHead":"9e35f9f00c8ac86f1d0e2af034a671d774ab96d3","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.4_1704118465462_0.7281013163129639","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@bentwnghk/chat","version":"1.0.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"352d6646a010a23570f6bbedad174e7276d78640","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.5.tgz","fileCount":907,"integrity":"sha512-izIb18U2K2wjPtF5RlMy5QLghxR7WTeHCkjSA1gTA/3CojIJXE+tJm4iDBPGKNBemATX2cEg/HPhETWFIP/4Hw==","signatures":[{"sig":"MEUCIGEWsK2Dh8EqqdWrnoNf3kC9zv2yHOvoxciTnqZiK7lwAiEA+vVOnVL4Jgy6twarLG4m7/Wl1mG5PZGe4c+PWIrtavQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3098768},"gitHead":"6145d794787f5bc3ec8792bd014d7e5d12b77c35","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.5_1704121340663_0.1718417862819135","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@bentwnghk/chat","version":"1.0.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"bc9e5ee9083422f581f7a485058ecdc05ff7ee26","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.6.tgz","fileCount":907,"integrity":"sha512-saYZ7deQI/njB6lNOwnggeekT32YZuxZUySb/gAYvzKUwoboAEB0hP/G8XXVxE/2KQG9KU9POSV+flmnVqAdVA==","signatures":[{"sig":"MEYCIQDT7IlAI3nwTVQ1fAlVvPcEntdQKV4gbVWaeE9Yjtd7twIhAMXy0miFZ6I6/6EE85ey0jZIjlUDMhfB4FRq/fclxw/1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3099256},"gitHead":"4890e45a85255ab246fccd6e3a8aee7cddfae94f","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.6_1704123878238_0.9048366759691986","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@bentwnghk/chat","version":"1.0.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"9799bbef4dddc1eacc6585f73209d350f5fec581","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.7.tgz","fileCount":908,"integrity":"sha512-xdCPE5L9eAeYnB89XgOpJ2KF/rCLnluGGD0TpyrTq/LvEFFj+EzwfnTaf3P0vMmb4AqHnhieDCb3zN0A20qvDg==","signatures":[{"sig":"MEQCICl/MZjtQf3tduOECBaVogIvEW69+YzxX6NhxOn5KJElAiAs3Dl/If2g8i6AFeSNoNMybANnGD2FvqyTFfbWoYZkXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3110127},"gitHead":"2c6d83a00efb1bd94c8b60395966619973d63ef1","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.7_1704150324784_0.3283124906633752","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@bentwnghk/chat","version":"1.0.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e36c8b1b1391d6c93df32952cece3f988f126e48","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.8.tgz","fileCount":908,"integrity":"sha512-zDDuyOf3xaK2Bqy4KqPM13pHDFz7llYtB7IyMZDpNL3qXvYWOKe8fUMS9gKSdkGlabfEJFQSjhfG4ph7U4J/PA==","signatures":[{"sig":"MEYCIQCd1z2adzA/oPvHjWaSpXgzN5CxZIlOAq3B7kPQRvZ8HwIhAKE+qv6kKrf2jFgcC/+GcGaMaswJGEv08KZdhdfK6vGY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3110619},"gitHead":"40d8ddd5c14fb403b5f71b0f8f535f323b261bc2","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.8_1704157357674_0.8591998469097886","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@bentwnghk/chat","version":"1.0.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d13f39b64b518ecec7768491bafaa4f5caf25201","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.9.tgz","fileCount":908,"integrity":"sha512-7+/jqT4UvhU4fs88Lt+lESBvXQb0BDZHZ836hWqmOcur5N9KdJhVXDVvlHuuRGdHpta/Se2Z4bg0L+Zvr+CHkA==","signatures":[{"sig":"MEUCIQDe1RLx8w63Vhb8JM2Ua365aNsXaJpUPoHeGXffo7GregIgPtgZHrJXfTaxuyGhHp/k8Jqm9WIjQ2g4xamG8BedX0k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3111095},"gitHead":"6aa2a982e1695e6c56efb18605e1e59f5ea2013b","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.9_1704160629983_0.5649148418702956","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"@bentwnghk/chat","version":"1.0.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"8914cdb31cd5e63ed97ae70deb46ba6438e41551","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.10.tgz","fileCount":908,"integrity":"sha512-ZXHD1K+FbbEvWRNK6LXfKuUh5ROmQ6j7ayVkUqDwJc3bmp+aTISgQfz5DDJe8C46MGUjso2a+FhACYYAGk13KQ==","signatures":[{"sig":"MEYCIQDjVRUIbCAbuCYhOP21iBw/miv/u3lbPyuvzhDJdUMJDAIhAItCpiUQ8EtM/xap2YWvCLCOAKGcaY449RhvSLDupjQE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3111563},"gitHead":"3e6193db5f6761fe34e88b957bfa664350ee611f","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.10_1704161679852_0.5105699093684075","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"@bentwnghk/chat","version":"1.0.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"8ef71419fe46875b6897d6fe0124db5e0a2541be","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.11.tgz","fileCount":910,"integrity":"sha512-Y2BX5OR8KZvBVDRIzpU1o+x8Lcc3jDz1eRqOSDz6AgJYvk7GRpqiL6Ce0ieJiCGUA2eS7DTnvpNIRCRhMqaNeQ==","signatures":[{"sig":"MEYCIQCFzriqbZidAm4aAqu7wlYhVDtDDCbV5Tvcsczi8tjnuQIhAI8W2/dL/3Gk50JKNLGN8XlUOCIFidqwFEPd7kaKxdyj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3121523},"gitHead":"716cd4399c94912a3416fa4d1db5463f59f03849","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.11_1704191241381_0.08339545257404923","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"@bentwnghk/chat","version":"1.0.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a9ae872b43817be08d9840e9ad3b2e364e1c774c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.12.tgz","fileCount":915,"integrity":"sha512-KY1ftP+yFtqVy35G3akuGrWjmJQ4anrTY7I6zT6lzh2sYZQKH4SSLW2+tG3FZoLnAK3Skt1U4cjDnl3vAfxX3A==","signatures":[{"sig":"MEQCICqzcWHda3xzLuapN7VVqsg+eE5k9xsFk0h9xwV5yvn9AiAP7HVdmGs0HGkRqmC7E5vBOn9JqJcSgmqrLg0+Eb0zcA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3140826},"gitHead":"7854a6298d568079eb44727ab65b1290ffd2385c","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.12_1704207313695_0.8393120405601673","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"@bentwnghk/chat","version":"1.0.13","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.13","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"69dcd71c81d24922d05419c058c18e061074be97","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.13.tgz","fileCount":923,"integrity":"sha512-0Onyb656VmcCa4jb4vt7fDm+EWqNrcgAjuxK94HlQxEyUqyjRu4JTlPmbWJz5ch6fHQ168NhKlO1ZPal6z/sIg==","signatures":[{"sig":"MEQCIGkkmizSMDK296bOJQzWAeRrYPKA1A5CjRroK/EmloPoAiArhsi9b+qI6rNBaFHtCaWAQRATraUXAhRoNBJiYttvug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3158574},"gitHead":"2d0a3f6a1fd9600a39e5a9af74769e007a145506","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.13_1704269215726_0.31651604163372604","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"@bentwnghk/chat","version":"1.0.14","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.14","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d2a0ee7c5cc14fa86ad4e21af654a8c7f540f3d8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.14.tgz","fileCount":923,"integrity":"sha512-QgHyj03wKBCRZ6LzFnB6UbnYxoErlz254U3vfdVqbgMFtwUyXoz39i+ulx8WDFiXQTnJBWJ+ozdVAR4o3+hLPQ==","signatures":[{"sig":"MEUCIQCXjgjAucxq7K75S2VyQrsAzCKW2GuplOkFbqrSDWv1yQIgM6o/PErbEM9zf7XSRpGvnCZ/5vP5OhVMJHGKP7QC18w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3159067},"gitHead":"d18bb65bcce0f667a99cf219dc40083d8b704600","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.14_1704273059792_0.1765855291120746","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"@bentwnghk/chat","version":"1.0.15","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.15","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c02e5ae7463e511066aae1ee13a6fc8b61ff1fb5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.15.tgz","fileCount":933,"integrity":"sha512-DvOgKxCRmFSN4osEf9v6qxbZ90B53ffs4NdyY/9MHxDAuOZnAHJlaj2aa/+uwT0XX79XotK6HJdk6fgTfTZtEg==","signatures":[{"sig":"MEUCIQCcBWqhstIrZsw1Rmn6naC+5ZcvCdtp/9XCjIJ7aJKzngIgRomG7Ld7ih2BJjPpGLUMqOiaOb/Oq4mNawRzFbvdX4g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3198420},"gitHead":"8a6216c1846c7b8bdc6de9c735f2ea829ee47e0a","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^13","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.15_1704273687978_0.21532407837705025","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"@bentwnghk/chat","version":"1.0.16","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.16","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"659431f02295f2b51d4fa2057d1e9ec285a5c643","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.16.tgz","fileCount":935,"integrity":"sha512-BQSaU23DAWCdBt3ERamvU7uQL7xd85nX+jZNiSgoRVWvesdeU3b8A5RwW8f1Lgkr8RA/BfrslL66FuzLICbDdA==","signatures":[{"sig":"MEUCIQCjOer+hz4/RJ36RvI61CRRWrKQ7U2m9evogOlyoh81zwIgUv0kD84PBjFY7GvO4hUPn+QElLRklFGF/GDyEe9W3EE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3207236},"gitHead":"dcc08ff2efaaaed2ea91b19a41e72fd9b68b00f0","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.16_1704289031082_0.008665171369398594","host":"s3://npm-registry-packages"}},"1.0.17":{"name":"@bentwnghk/chat","version":"1.0.17","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.0.17","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"0794bc4992244962c7d9449cae2a5fb5ad54c3a1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.0.17.tgz","fileCount":935,"integrity":"sha512-XsV9FaRchVy9u84vRuTyTSjkKS29vbUELvUT1SAUnYC4JzCaj4TLJlF+iH30sSpbI7ASDCfBxswpQuxc1XO4+Q==","signatures":[{"sig":"MEUCIEJxd+C+0cjXxO0X0Wk3jH8HUEsem5u1UWiQ4CsjTXdxAiEAm3ddKAcec4DuQ80dRaOELCMsqIV98jxLJ5toxAuEjzY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3240919},"gitHead":"61d4fb2c6a0be383feea6daabdc84515fb7a2379","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.0.17_1704324356768_0.8687729987215542","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@bentwnghk/chat","version":"1.1.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"35e9257e66f67200e50b59b566a5b7bf168930af","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.0.tgz","fileCount":938,"integrity":"sha512-AP4oj7cjnHPO6A4RnJmCJUaC1MHj2tEL/y6hvWGCwzBgMwSexlzDbStNY4u9D1mGHZG/lJJXue5le/tjwC8kxg==","signatures":[{"sig":"MEYCIQCV0eAjJ5qgNQoJe6y3dqVehHL+N1frJttng5pNEjI0NQIhAKwjajAaoJDIeB9T3KfiqCyCflkDe3/byDFHVude7WYF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3263627},"gitHead":"9d20b2f335031f637bd6ae6437cfcc882e6cd4d7","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"5.12.5","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"4.4.1","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^9","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.0_1704366613836_0.8385510039072941","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@bentwnghk/chat","version":"1.1.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"6602fa6c706b4ea31a2706c2ba1011d0df09986a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.1.tgz","fileCount":939,"integrity":"sha512-5fln2stXpuB1nIE8X2HuroNdhuJFBoR1YdO2yz6KkzDwfb3L9RTeTqnBVpFK++umGhSjIdXdAUncAFkN6VOhrA==","signatures":[{"sig":"MEYCIQCwgNkCvN7mPyjMQLSP7fNk3TRpL4/djVnBL5gBLGzdTwIhAO98uZkJ1igj/sLaMqNNp/nkZE48Jge35J22yOrk9OFn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3269746},"gitHead":"47eb6eb469d66ff42158ceba5c2897ed99a4b5c9","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"1.1.1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"1.1.1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.1_1704459656772_0.7265737974524473","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@bentwnghk/chat","version":"1.1.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"82c3d9a16e058cd47891f5a4ca83aab83d6de37c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.2.tgz","fileCount":939,"integrity":"sha512-h3UZEhMgo2TyM9uOPM/SOyExWHbqyif8JfH+bDHqsnGPkF+F6/CzV7VM10QfYTs9JCB11nQoL68WCf9XqEBQRQ==","signatures":[{"sig":"MEQCIHPTXfsUvKdobjq7Ue3vcFT+tGlI5bI6ner3b/lrJRY+AiANydz8LY+ZahtDry9somEc1BXKFTwozww217J4fGlGVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3270386},"gitHead":"908e34b635eb55b4d365a8d744549d1032543858","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"1.1.1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"1.1.1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.2_1704545584329_0.5568946080848003","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@bentwnghk/chat","version":"1.1.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"739e429727bca18c6459cfd7ab8491a22f45dec5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.3.tgz","fileCount":924,"integrity":"sha512-gF1AuA2is3EuJAcmcwSV/Zw41z/Q7RkmK3sfAReOcD5tbZup42o70JVlwnPC87EKUi+9QvDK6FupBNU5BSCWKQ==","signatures":[{"sig":"MEUCIQCZg6CdWyYlR2PhXQtzqUjGA9WZIhX3W9DJvGcI5wmADwIge+5DVx4U2XPAyoLd+da5NVjX1fkROhbYsyDJd2mYRoQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3277191},"gitHead":"54ee87333a4d52071c52122e660d055281a69a15","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"1.1.1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"1.1.1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.3_1704589498250_0.17335129976206942","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@bentwnghk/chat","version":"1.1.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b128a93f742ffa0bdf89283c454b7f1c76f7c2a5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.4.tgz","fileCount":924,"integrity":"sha512-DP52ofLqS9UbZDAthAiXo0uA6hdCvcjiK7ROLP6Cat4p/8sSh/jOZHLCXoek2umnTgOvd092zW3bPwyMAn60Gg==","signatures":[{"sig":"MEUCIEp5D9nyBpfKhXX4lKyRiVqLe2k8CIFwNn2WpkCe6FHGAiEArHw1bhmvnE8LaCWAI45hIkwHtXRA+KSxhNlE7GtB+ZE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3277733},"gitHead":"488886ecd79037eb46648fe486116fec4ca5e601","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"1.1.1","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"1.1.1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.4_1704621491301_0.5091241053076532","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"@bentwnghk/chat","version":"1.1.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"342c901651c468fdde003b0ad309f572f49784b9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.5.tgz","fileCount":926,"integrity":"sha512-SNpSG2h58cxTnGoClAc1TuYzGr43YaIo4o2Snm9A+03KmZTQ6UzEkitZEVLOPi8lvlGzycTk7QFsR4HaBMgyYA==","signatures":[{"sig":"MEUCIACD57Ad0cEHPGAKcP4MIGzTpUGLAreXb8PtVWEHNws4AiEA2F0FDIxHaRuvgWtz6euvxOz0IBo+3HRzuXCbZpJ0YQI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3284542},"gitHead":"d5218f1c2e2147c91957c6c896cc34d29d24c9c8","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.5_1704723241601_0.4025223587521167","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"@bentwnghk/chat","version":"1.1.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"7dc411cda27543a1f3388f3bb4018f60f1bd5366","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.6.tgz","fileCount":931,"integrity":"sha512-hpxR6lUP9MFfbINo8N3/j769F20q13oXy4Fjt4XTr00WBBMh3t6O37H4JtrGEecniEnijDb0BqsLqSrIC5Z4lg==","signatures":[{"sig":"MEUCIQDObg1YLCuVMX8eCa67Z9fPhAbGUAMPXIfVA0aNSldEKwIgORNj7ysOn7lYHBq4/Iy7RG0dvODeW2wRLrX0zEnO/+0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3308729},"gitHead":"eb83dd91416666437b1a025fdd3fbddf313ccd06","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.6_1704792392919_0.3962526211743338","host":"s3://npm-registry-packages"}},"1.1.7":{"name":"@bentwnghk/chat","version":"1.1.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b85239c045dd2a8a1b24a57065a0b9e84746b6a3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.7.tgz","fileCount":931,"integrity":"sha512-0l25dqJnZqcMNetm+kSXEZD8M4hecjl+/Ql7iqiaMhnQPULNanXw2BWuiD7kElHdM/H90XvQxyfixjt0ZtNh8A==","signatures":[{"sig":"MEUCIEIGT7bJC7FDXsqxQ8RLhmjg8OBp0VYOoyFoBsUyBxIHAiEAq3CIna9rtCGkb9nira9rKXsQHSLXtAPUI25MZlf5jhw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3309545},"gitHead":"9e06794ca2b5515feb1a99d6aacca7b372565c9c","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.7_1704799392619_0.3275084289569079","host":"s3://npm-registry-packages"}},"1.1.8":{"name":"@bentwnghk/chat","version":"1.1.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.1.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"93784cdb72f9c119ce1b0a9499554fa0380e21d8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.1.8.tgz","fileCount":931,"integrity":"sha512-a9TWjk1drO8PiV3UNhwen+Z9nckIqgGV7ERilz1lVBZeM7fJu+NRQ2pgsRye2aWxA2kmQpKbXlzNsIrBWvB77A==","signatures":[{"sig":"MEQCIEVqzphgQVhoqticoT/k0rf6edGNYHsJdUEqlaUz3G7PAiA2tm8oi0pcIIyCOP30LdgEbZraZ+z69bbd56pQ4llmaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3310396},"gitHead":"39635edd6407b02933c3be656b950ed31ccda0fd","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","brotli-wasm":"^1","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.1.8_1704878011903_0.41014766361026567","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@bentwnghk/chat","version":"1.2.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.2.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"26b8846c3fb8c8e0a5fe81f50afe7263f508dcfa","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.2.0.tgz","fileCount":940,"integrity":"sha512-aaA0BFWCNIQKRqOEYHNWAakpQ4WC8IwxkQ3rw2IH9Sr+7qlyA4DnRJ3hLrOn7caAei8fB0EKtJdiZuxMQwpFXA==","signatures":[{"sig":"MEYCIQDz+K9Er5rZ30P7q9l2KoVf7qfC3D85CVx5QRTKVxdqvgIhAIPaDNOt3D3jr46tgP7qaihisgkpGbzo5QOhSlYzlZqc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3360129},"gitHead":"814b55a938852c5bfd577bb24300f33b31b520f1","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest --passWithNoTests","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage --passWithNoTests","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"0.33.1","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.0","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1.0.3","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.2.0_1705360407980_0.9825306851367661","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@bentwnghk/chat","version":"1.2.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.2.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a18f8869892147b9da1907d519e9e218abccdd59","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.2.1.tgz","fileCount":943,"integrity":"sha512-nHIvjRQYb3tak1y9do2h22xNdoHL4BzzimKLaeYj3hbK7zt2F9kW2mdGZfQ/fJ803/Xp9b2XFvKeWoJxB9+f4w==","signatures":[{"sig":"MEUCIQCBL63WJn+F3XFY5d41ft1EBbBmY6BDXkHCAiWT1nI4hwIgELNf88byrSIrMUUgo/DjobT77nH1E2QdGa9mn7jVddE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3390021},"gitHead":"ccb0573cbf605993e661b1efb03320226cbad4e6","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-temp-fixture-ci && vitest","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","test-a-local":"vitest","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"npm run test-temp-fixture-ci && vitest run --coverage","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts","test:coverage-local":"vitest run --coverage","test-temp-fixture-ci":"echo 'please remove this script after new bun@1.0.24 released' && rm -rf node_modules && npx bun@1.0.22 install"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"0.33.1","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.0","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1.0.3","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.2.1_1705446367671_0.615861506016667","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@bentwnghk/chat","version":"1.2.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.2.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"97290e88eeb783d4658ff4a1e79b283baa9f1fb2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.2.2.tgz","fileCount":944,"integrity":"sha512-+NLmV5FBunBqc0LMr7LYHiMZRxq02iGOKrhMfWQihVjKhgbakqYpzdGiDGtikJgD8YNMPyllpPZ3qkhCO7GoWg==","signatures":[{"sig":"MEUCIQCt0eYHKtJDlMpRGoF/Y9EHpJIku2J/9UDJvy8qOj5sAQIgYjKQSROZcdpEvl7MCwGT5VOMKKfFtPUTF9uvXqJLRaM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3401719},"gitHead":"61ee7b2ec1c2e0fa4f9f5db19ec8634f8df20522","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-temp-fixture-ci && vitest","build":"next build","start":"next start","i18n-md":"lobe-i18n md","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","test-a-local":"vitest","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"npm run test-temp-fixture-ci && vitest run --coverage","workflow:docs":"bun scripts/docsWorkflow/index.ts","workflow:i18n":"ts-node --project ./tsconfig.json scripts/i18nWorkflow/index.ts","workflow:readme":"bun scripts/readmeWorkflow/index.ts","test:coverage-local":"vitest run --coverage","test-temp-fixture-ci":"echo 'please remove this script after new bun@1.0.24 released' && rm -rf node_modules && npx bun@1.0.22 install"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"0.33.1","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.0","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","ts-node":"^10","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1.0.3","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.2.2_1705537801275_0.5057994527942049","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@bentwnghk/chat","version":"1.2.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.2.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"4b8e7a278c07e84d80cedd152ab99dbcafae9aaa","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.2.3.tgz","fileCount":947,"integrity":"sha512-mKc8apYqTHBEC7sB/efs8ugeuSpsWS0WuevvOSrGf0mdpIFnPDbysleTKGblEQfl4TwMkxJxLfQWkTYH+dyo0w==","signatures":[{"sig":"MEQCICIRLMbpEcUUAcM+76md3K0HqWjot2mCpZld6wJz04HgAiBT4TqrPQ7ZOWJH0/mEWxms6t9zAJ1FhbRzVzve0CWx6Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3434382},"gitHead":"0ef26f616d2e816b6322c4bed97a6bc8ce633513","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-temp-fixture-ci && vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","test-a-local":"vitest","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"npm run test-temp-fixture-ci && vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","test:coverage-local":"vitest run --coverage","test-temp-fixture-ci":"echo 'please remove this script after new bun@1.0.24 released' && rm -rf node_modules && npx bun@1.0.22 install"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2.2.22","swr":"^2","zod":"^3","antd":"^5.12.7","next":"^14.0.2","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"0.33.1","ahooks":"^3","nanoid":"^5","openai":"^4.17.3","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.0","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14.0.0","utility-types":"^3","zustand-utils":"^1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4.4.3","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1.1.3","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1.0.3","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1.1.3","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.2.3_1705704592564_0.9361062190327916","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"@bentwnghk/chat","version":"1.2.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.2.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ce6d641d0fa7faca7a6bc41731e66d3a793a366c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.2.4.tgz","fileCount":942,"integrity":"sha512-Zc/AQBcJb7dB47fEJZScs1k+FgPUBXmLj0lWLi9KeFEjOKpfaM4PclzNNXYdMIGcECVCZMYmpZI/GyBJgTuA2g==","signatures":[{"sig":"MEUCIQDZpxkZBLeMsx407pWdvxIAcgy95RVRzLqpZgobpY+48AIgeC87hNBzPBWpo9Qd+jgrQv42zMWH/YWZjGOMYCVqMlA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3437381},"gitHead":"3093144b535a174724f971710b9647b6866aad36","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-temp-fixture-ci && vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","test-a-local":"vitest","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"npm run test-temp-fixture-ci && vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","test:coverage-local":"vitest run --coverage","test-temp-fixture-ci":"echo 'please remove this script after new bun@1.0.24 released' && rm -rf node_modules && npx bun@1.0.22 install"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.2.4_1705847113806_0.9287266016453326","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"@bentwnghk/chat","version":"1.2.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.2.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"69b92cd7ee6ba6e4f1a2e3ab6e8a59419f5614a2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.2.5.tgz","fileCount":942,"integrity":"sha512-zZDo58O+Ogbmif6Rf/atqC6jZ0Bs+VdQru31log9QzLrkyyjr6X/KkBfbAhuEQk1qLKoMQH4JH+AUn+74C6XYw==","signatures":[{"sig":"MEYCIQCRVpU6xh6zCc/mBYHabQvxugE4q3B10KZWERxjVDXw7gIhAJlYRmzVAKY2tg6NCd1m6JXkeNn5d1scIS4Edf2zIaTk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3436917},"gitHead":"7998019cac55eb4dbb87d8d9ce8583edf4f6b2ae","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-temp-fixture-ci && vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","test-a-local":"vitest","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"npm run test-temp-fixture-ci && vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","test:coverage-local":"vitest run --coverage","test-temp-fixture-ci":"echo 'please remove this script after new bun@1.0.24 released' && rm -rf node_modules && npx bun@1.0.22 install"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.2.5_1705922179380_0.8343603443651104","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@bentwnghk/chat","version":"1.3.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.3.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e833ca07c3cbeeffd3f960f20b63d22df72d0a58","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.3.0.tgz","fileCount":962,"integrity":"sha512-cdw4p0r1xUfS1HX9m3NVTJO5vHstJzDieUasbhhq+7XAsTOrGgI1j1lsCjnoyn95bFeoo7HGU/TseXkn/nWDeg==","signatures":[{"sig":"MEYCIQCSDM8hloBIIDYfqNQluoBuhdn3M9AVw1vWjuvWkZX5BQIhAOBH1IHPia+DCWwRWYAkIR2K3DzxRh8bC/GoeTPUWD3i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3550488},"gitHead":"1f6a0a50734d2fa04bc321e8630ab2c97682a2f8","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.3.0_1706101050773_0.4479939801188235","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@bentwnghk/chat","version":"1.3.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.3.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a47454fd593d2c3b07becdb3f64664298fcbbdcb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.3.1.tgz","fileCount":962,"integrity":"sha512-DxFCChiWNhp2d2fMy44HaSbz77o+IiG63Mh9iY/yF0Qd4HwLtO04fCdRW6RnV94ajcnnsTGbaWsFZJK8AfuWtw==","signatures":[{"sig":"MEUCIBlQhDTom+np+m6NbA/9IJc7uxEA18idSkUnZQOZR/WpAiEA+jaL0LqkCi2OTqpEprmEra/pX8cVVR2pXwaibkGM58s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3552012},"gitHead":"d278d76c452ef34d459002708b79f350d39ee2b5","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.3.1_1706152666500_0.4091617217265684","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"@bentwnghk/chat","version":"1.3.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.3.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"21fd309dc7dd3828982f6022b46bae714825d9c2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.3.2.tgz","fileCount":963,"integrity":"sha512-oSVNLCbPQs0KtoWCIQqT29Hi1EgrGLqiy+0lIJv53y1g55jqEFFPikG15LODVszvWmGVQrHTmlCJfOB78OKllg==","signatures":[{"sig":"MEYCIQCJvQzECkvruURhrKaJx1WjCkDDRPv/bHBvYsWNRolQiwIhAPt4/cBgAQU+9XltWpGYfH1UfJ4oH8FJLWcA7NDKn6VH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3552789},"gitHead":"14cd0efbdbe80704b7001be0aa5fedef81b12098","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^23","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.3.2_1706322728678_0.9607723388179472","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"@bentwnghk/chat","version":"1.3.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.3.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"484abbd8027feff84ded4a3ab95c1418818d36fd","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.3.3.tgz","fileCount":963,"integrity":"sha512-/TOxGDZ3A7ccKnnY2cAikQuFaGJISYuCobHPXHzP7F1ZBG1DkQ8lke90ya2+EjvRaCutZfTvqD1jJdp9K+jrjQ==","signatures":[{"sig":"MEUCIQCGvPqBZJrBgSnBJMP9F5AdE5aZjB0qtEIVElfjwWoI0gIgCU+2bBMtiPey8bkwYkIn00PKAq5lrh6SMUBvfOOSMLA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3557882},"gitHead":"e588dd911a974885aae96f9d39b9c418e74d17bd","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.3.3_1706517042790_0.0877510525390417","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@bentwnghk/chat","version":"1.4.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"07b1804ee0b6c9276d73b11582bb33947ab88d7a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.0.tgz","fileCount":963,"integrity":"sha512-rUTsWAdg+wPa7mH7TgOeB/eYA4SGvpXdwX20UDRPmtCsobWYqBXXbk0YE4HgxNoAJQkAGO/KygG5uj3k9S3nSA==","signatures":[{"sig":"MEQCIFe9XBVkxJfSVnpnEPUh6JgF0Lcn7RisOpGuVlBR2lZ3AiByoJvHuXxGFaSddOFZaHK6PimRIsNMQt+1MGN6FlnHNA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3559324},"gitHead":"77f64ff726d54144f13142e000683f41704897e0","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.0_1706535311030_0.4572504781209896","host":"s3://npm-registry-packages"}},"1.4.1":{"name":"@bentwnghk/chat","version":"1.4.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ebc4b2a868af52eb69f40ac1855531e0cf5419db","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.1.tgz","fileCount":963,"integrity":"sha512-+XFzX/yYFb3OabV6CPs/0rWrDzFZdtCokXEEfq8r61Px6XytOaNntsQMqtf03LAH7WNChXhKoAtQv7H6YbnWqg==","signatures":[{"sig":"MEUCIB1OaQi8u7nldGFUauujGfubOlZq3/1W1jwfxByRQOhnAiEA1r2GHi4tfqQkw4SBv7vKCJIZ6z8B32E74FXpc6uBlWg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3564940},"gitHead":"4ca0dbe4a5e0d9f2fac10e1a15aa7ca1c95a1c78","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","copy-to-clipboard":"^3","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-for-ts":"^1","react-intersection-observer":"^9","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.1_1706623382659_0.8103737449817785","host":"s3://npm-registry-packages"}},"1.4.2":{"name":"@bentwnghk/chat","version":"1.4.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a2107ab090a26826a3551d5febab3e318d3dac6a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.2.tgz","fileCount":982,"integrity":"sha512-9V2SBITJqXmZtBy7kfzzRddcFJfQtnZq9ClBU57rBUPoVafg9d56h9EQbxRprMmxzPKDklOyN5ZeT43K5KqdJQ==","signatures":[{"sig":"MEQCIGeZ73KIXkhpsTJqo5zarhvifkCzN7aLd1MrDq4JnABTAiA1Dq8CJISFDlua3QsFAeeWYa0aF1tN87yelNcb18DgTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3580669},"gitHead":"31310baf21451aef6a5152767e2ff846d0f215bf","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.2_1706660522652_0.6512585148569476","host":"s3://npm-registry-packages"}},"1.4.3":{"name":"@bentwnghk/chat","version":"1.4.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"fd1281378a7ced496525bdbc340a4dbbaa232cf6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.3.tgz","fileCount":982,"integrity":"sha512-oqUUOHxzjqJjzjr+fDhRzE3TLZLAEAcm8UsKouXoaephGaxeEz8Euv7rSJjOzrYq0kp1wgpJnXgeHidEl6O1HQ==","signatures":[{"sig":"MEYCIQDf7DYCms6T2DpPIu2xIA51qjGlc27ncyrGVtCy7SQBRgIhANkE3sOLj6t8huA6UhYqYxvjTc+oYDNJOaLjEqndjuHD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3581153},"gitHead":"3e6e0fbd8d25294eb36c7d537e28dcfcb51014fb","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.3_1706664178403_0.5179723491170112","host":"s3://npm-registry-packages"}},"1.4.4":{"name":"@bentwnghk/chat","version":"1.4.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a72bc2ab5b5d357550ec6d9940961b0329b843ee","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.4.tgz","fileCount":982,"integrity":"sha512-5AdEzmV2qLWCTfWKyOoFTggilhtGJGoSd3nGZ0eveFpwKT7AWnkoYU57VnBb1b+ZHYqygm6fikVWekTHjUjzTA==","signatures":[{"sig":"MEUCIG4MxTcC65URHtt9QQIY7iJTTBc2jMdE3kne4StOaAziAiEA7puXJ1lAliWnOMbqP7mUsGJkzMVeIEKiwegScW46Uug=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3581674},"gitHead":"40103411329f0ba7a16f91035f0080ff3cd2b210","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.4_1706668879418_0.842415817717266","host":"s3://npm-registry-packages"}},"1.4.5":{"name":"@bentwnghk/chat","version":"1.4.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b807b9660e548a8ded4f02f3d1f49faad6626d80","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.5.tgz","fileCount":982,"integrity":"sha512-hNU8j5dQvM9fpxUY7Szy/4Dfg8mleSQwzqByZdQlFX5TtvHcC7GFC5EMMBSopl39VGIfoDXl/kr1TLvv67Ocrw==","signatures":[{"sig":"MEUCIQCvrr9E64uBbW3aNUsaSpnEKTID1wx+V/Xj+G62a65aJwIgPRVoLZJYGseSUU0LiOa7sutYv6ucLveLeVMRGj1VCu8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3582300},"gitHead":"360cbf05d567ad58168a2b85a808e34fadadafa7","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.5_1706669594066_0.5742853727980382","host":"s3://npm-registry-packages"}},"1.4.6":{"name":"@bentwnghk/chat","version":"1.4.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"66369725575ed270b189afb49426bd74dbde1eff","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.6.tgz","fileCount":982,"integrity":"sha512-+CdeyQP5FbHnAwpoE924tFk7DXaXeO3pc9WCF6FX/eINmSPnbJUfC60D81xRU83YYURNwqXq19wv13yLhrW5uw==","signatures":[{"sig":"MEYCIQDshbqt+m7rkH1pMw+rmjS97csS0GCoi5MfeOgWLqIHHAIhAMeCHeUP1qbNcTnWBsadMG70Mmq2FC8ol3ITPCo4/0Vz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3582744},"gitHead":"3322b3f31a0f09b48e0adadef314f63033d3cfe9","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.6_1706670379176_0.08840904408229999","host":"s3://npm-registry-packages"}},"1.4.7":{"name":"@bentwnghk/chat","version":"1.4.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"78a6e9708594308f4f4694816524bbfd12a95153","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.7.tgz","fileCount":982,"integrity":"sha512-HYLDYZa2pcUzN2kkWNr/iU3jsxyMJS2PiOrATXNV7I+dUFRFeaXuYP/r6nyHyEDY3VvsmSpThjeUhAFBtihplA==","signatures":[{"sig":"MEUCIQDXjXZNgWgKTji3Vu1ZUEg0Gk1QtxjL3P1jzgfHeR1UbQIgE1P75e1gaEKybd0tUEAyFzZzY4qiS7FrXdAqiNo/KY8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3583188},"gitHead":"4954aec0fcaece9d111ddabc8ac4db42886edf89","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.7_1706670666601_0.44358241388162645","host":"s3://npm-registry-packages"}},"1.4.8":{"name":"@bentwnghk/chat","version":"1.4.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"56530e5c85b67321b7dcb46459f4ad6ddb4284b8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.8.tgz","fileCount":982,"integrity":"sha512-Ut1ecoQ4HPjY984IbeYqDhnsjz2RTak4MkdkJzkC5cd9srnzwEIngd6CUFwvdEER3M/sX9cY9tkzkpw5rVsOJw==","signatures":[{"sig":"MEQCIHPgtGD27oyysMetPmzeQ3yfkh6j2/H5JTBrFluXTPqDAiA+/bkLM8kCM1Z7lSCfohLnJwd0JPIEQVqFwz3p5Nh/nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3584064},"gitHead":"8df35e425fa2bce35024c8ce990ad2bf72fa089f","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.8_1706677282574_0.9912692568122974","host":"s3://npm-registry-packages"}},"1.4.9":{"name":"@bentwnghk/chat","version":"1.4.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a76c4f698040c4274fd43a329e1f54e0d5c9a437","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.9.tgz","fileCount":982,"integrity":"sha512-VcKyEeUgrbkCL8sFfXezdcZvLmpzkhzg2ymnJyzXL205JGXI9dxNJJjH11+tCxv0q1s1jKxPo29HuJdVAy4P/g==","signatures":[{"sig":"MEUCIQD/BCiy9Ns0DKYKza7o+S+GNcPyCgDXGZdyd51ZsQztdAIgJZeBXGMPXjBmKi22L2+uHySBsKXXQaEd3Rvla5vWirw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3584127},"gitHead":"39dd3f9ca7e5d1083b5d6a0aeba91ef0e3ab8d61","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.9_1706706926006_0.3459236491136257","host":"s3://npm-registry-packages"}},"1.4.10":{"name":"@bentwnghk/chat","version":"1.4.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ee713bff2ee959e7da21775940026d6e404df2ec","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.10.tgz","fileCount":982,"integrity":"sha512-bNg+ipM7G4iYo2tKYMwLP3m89Oj939O1LmtZoFMBIEjL/moXcMjkp1dKK2qd+E/bnTxecnVavjjGa2mopBbulg==","signatures":[{"sig":"MEUCIQC4iPpsZYgM3LD3Yq9C25x99/dtjTdTeu+A+hCwBSrDUwIgW9oN3jGEnSk4XTKY+WyXHiiU9QobGuMRbNNxSgR4Yd4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3584763},"gitHead":"317677de147d9645f0e6eec79a2413e990764c0c","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.10_1706916253925_0.8669341430186976","host":"s3://npm-registry-packages"}},"1.4.11":{"name":"@bentwnghk/chat","version":"1.4.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.4.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"bd8268fd4cda47a8ee7499314f9fd327ca86a742","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.4.11.tgz","fileCount":982,"integrity":"sha512-N+spIZgL1y/NTiEmxEbBf1KyOUg+K9Ha4rVvYxk4BMDmtNvJ2sFYm6K3VMMLSYjo615n0yu6Cz7hTkjzhAk7Fg==","signatures":[{"sig":"MEYCIQDHz3/hBok0xup2zgYijH9JA/zgxF+RAoZOjrPGdkv6CAIhAMAGM5+fNzSiXRgtkPaShjQOaNru51IDw2HP+o4y+XJt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3588590},"gitHead":"4ecad4539ea33ec8ef7e74d137b3ffa0f9fb6342","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.4.11_1706980053137_0.22757572708531182","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"@bentwnghk/chat","version":"1.5.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.5.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a0e3f266e6dc1cc6b4f4cc88b8e9b5ac5370bf8d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.5.0.tgz","fileCount":1027,"integrity":"sha512-kpb6CLR7qSGg5/MiW4uF8c2YS4PfSwyT8ZBf/T0k+fu/kCfQbDqbzZg4n+GbivZSwr+XTg4GJl5Tg/VaxqovrA==","signatures":[{"sig":"MEYCIQDg77kbwHsNE7dQBt/eB8+dIgSsh1s6BEeWnxGn1Wx1NQIhANxpfcIh5FNzsoG1qUTB0I493MF8N5WTkry4DDlsvUGA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3776181},"gitHead":"0abefe7e59fbae4ad6f2c7feb66b61f446fb1e6b","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.5.0_1707134052397_0.015445843227828382","host":"s3://npm-registry-packages"}},"1.5.1":{"name":"@bentwnghk/chat","version":"1.5.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.5.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"da0bcb9022a9fa080858646aed1d219ab5c34f05","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.5.1.tgz","fileCount":1027,"integrity":"sha512-83KRJFrg7d8M7xyNIjR37wumuF5bitHLah8CcyA9QymU3FmSZ/UtDXOrnay/jDC1PrXYCz1+kV5+vrIQET/7OA==","signatures":[{"sig":"MEYCIQDCazv5pD3CGXRkecSlx38J/w/HsU2iADe/jsDVR9qaIQIhAKVqdOhgY41tw39pnGcoSh3BU1zp4M7KjXKiRAsZtQex","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3777636},"gitHead":"bbf8fb395cb82f85d56703f36380b7981265ef65","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.5.1_1707170825222_0.8918394605533375","host":"s3://npm-registry-packages"}},"1.5.2":{"name":"@bentwnghk/chat","version":"1.5.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.5.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"783b23aeada2b8d77b06b7d76aa84ec4d26a8b3a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.5.2.tgz","fileCount":1027,"integrity":"sha512-0rKEGrYRMWi4L7KzvWMy6CxsjWrR/+q2RmRxoUk3M9TnKoKeoKzOllxPRslivdVSQS/uMLSDCHKsS8YxswKmJQ==","signatures":[{"sig":"MEYCIQCYRTaNfjt12OBw04/QbdPjmGckiWI/6B6KWUi8x+AsewIhAJGk7o5hIJCMoOo6ZKRR5Zfeipa6+kHBbrYTlEHiwn86","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3772307},"gitHead":"c89c5dfc898f00d121e5d5b8d72160362f05e8c5","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"3.7.8","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.5.2_1707172339868_0.5652837755507185","host":"s3://npm-registry-packages"}},"1.5.3":{"name":"@bentwnghk/chat","version":"1.5.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.5.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"9d9a85571b29ceae8c059d40b4c1a01d863c8619","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.5.3.tgz","fileCount":1027,"integrity":"sha512-aYqnvKqolnxnpedkaHHYFhKhza6XqtWeoytfxQUxi96ZOBmFyx815N1BZ6riW9XQ5U0baGvJma6xCdApl5sCfA==","signatures":[{"sig":"MEUCIQCX3zjUoYYDJq0pm4Z2RyF+p/Vd0VEXMXrdvWxmU2c+dQIgeTiNNr/Q1AC/1ri/R2n6B0nwq2ebx6Q41wgr6bmLE9E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3774624},"gitHead":"a7bc8a4f2d1d3d855e8a2a000cf689033b30d22e","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.5.3_1707183101341_0.5029956160325144","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"@bentwnghk/chat","version":"1.6.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.6.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"74973a6579012b6cf47e2610bc29d7e1dfe4d2ae","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.6.0.tgz","fileCount":1033,"integrity":"sha512-r0WcvdSOiwoO5xFW86+wlArc6uGTdHjaeyouorT4R2CJVP1gWqD3aLxKKA949/2jz4PqdRNxNM7XMrxcFQ3gRg==","signatures":[{"sig":"MEUCIQC+abcXQGokpND7VCrYxz34z6wWMlwiBzoDidEtOY+3iwIgdNf2mYfJshaiWLHdW9QDYKty0+W2eJFuLKmx85dtPVo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3803372},"gitHead":"c9378ebb84a71b8f00dc9f442c7152927bc64750","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.6.0_1707213348284_0.00891554467571365","host":"s3://npm-registry-packages"}},"1.6.1":{"name":"@bentwnghk/chat","version":"1.6.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.6.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f926aa4bc01116616226c596a77236c935b08763","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.6.1.tgz","fileCount":1033,"integrity":"sha512-vwHtlpT9WrXYEM4E6ct9l6xY38wnXYl+Z5lvHlMct6gUrMEJkQoh2qW2hXtUQ/aMoPWLssLT7KoaeZ5r9xI4gg==","signatures":[{"sig":"MEUCIQCFFxkT4HsXOyQbe1chTY+mYsCD/hEVwkWGtf3C6e9JTAIgTrH5bNw6ynRB6jVmntJIAdLSC5i1pdLXU2VTy7/ePGk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3804286},"gitHead":"cbd2e464063d9549defa9ec5b0a33c867f1649db","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.6.1_1707316424626_0.055066876718601554","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"@bentwnghk/chat","version":"1.7.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.7.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"517e24e4fa7344460c11eede6c97bf1da33637bb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.7.0.tgz","fileCount":1041,"integrity":"sha512-vFo3Nm2zVmzcfv2Fe0wRi15oPwd4h+tba7JKRH8+mPqz1ZJhCSiLGJVQrQ4ns2DdgHdbDy+ZaOCSYneGH74mBQ==","signatures":[{"sig":"MEYCIQD8ct1sl2jP68nZB6325GcS4EyUBtlFsFJZUmG6FoSi9gIhAIhoXIh3JIdeqDGK32sC4TE3zpA3iTsXNq/MdgQgpyfP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3846206},"gitHead":"682e0da3a0ffd9c17570ca7d501b303a19846189","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.7.0_1707407586665_0.20484916305345702","host":"s3://npm-registry-packages"}},"1.7.1":{"name":"@bentwnghk/chat","version":"1.7.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.7.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a1a16b0335881f68d39a758c2ae3507c06dbde8e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.7.1.tgz","fileCount":1041,"integrity":"sha512-S3dcPEEcjlI/xynApvPIGtJw2x4oPMtPNvVNhKg9oTGK8wAM1SvrpPtPzjrRM0FPZ1zWSIp2BxGUa2NsUHeL8A==","signatures":[{"sig":"MEUCIQCxCH9c4foRwYNcaxEHPJdq2a+HBhKPRYHtgL3DIM39RgIgMpTiKVJVFWEiZoucUpiaxEiq6rF4LzypL08EYkVWjms=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3845555},"gitHead":"382ba2fc9b6f0a362e44c9a3badf7f9615b32733","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.7.1_1707413374760_0.6161823924211645","host":"s3://npm-registry-packages"}},"1.7.2":{"name":"@bentwnghk/chat","version":"1.7.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.7.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"90c12cd182838cea3eed174043f36c216f9cf668","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.7.2.tgz","fileCount":1041,"integrity":"sha512-8JG46kTI94FX1BqktzC9zk7f3Z5/CcY9gDAB6pmoj9Q0Bs1TsJijUc+jO85BgwzgS4ULC8DSwn/P10iATjykNw==","signatures":[{"sig":"MEUCIQC22ScPNxcS/QL56NQ3ahQF1QA5R+b2T3LsWu0d6HhdewIgJflatccR45OweEljsbdI2jblN+BYAbWlGmkgH8M1BKo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3846175},"gitHead":"03acb9970075cc7d6e1f66335b55c8c0762b2790","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.7.2_1707440245985_0.1465844517860324","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"@bentwnghk/chat","version":"1.8.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.8.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b4017b8da1609ff2a21ec14b0eec28094c125b52","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.8.0.tgz","fileCount":1042,"integrity":"sha512-+ZLR4Gg7CTgfWmcxz2PQ77tC29Q7cln6pwftSTnM9z8WeF3O5P5DLne39LI655iBlsBinv73Akv9JHhoIynx2A==","signatures":[{"sig":"MEUCIQDD1y2VbiZJSiAh4gSKZHb9DBjoUkbd7IgNaFFTIDBGeQIgQ4UDTmMcF9oJD7Gg7XnrsljVif2wdEObAPa2ZbViC0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3849463},"gitHead":"539eab00a1cdd242a9244ba11af6012e88e2bb6a","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.8.0_1707449247630_0.4673168532777421","host":"s3://npm-registry-packages"}},"1.8.1":{"name":"@bentwnghk/chat","version":"1.8.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.8.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ef08dae96b7c4bdad943689f8799b870498d3eb8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.8.1.tgz","fileCount":1043,"integrity":"sha512-QPvKNBAowrWVigAn//joqMaQL10sFimhSeT1krcsl/+C0nZ1rT5vrS/akKiS1YsoiD7LSIg/HslDlVYNWVtOlA==","signatures":[{"sig":"MEQCIFhSsHp5htt6ZsRuQy00dCJFjKSWkssoeERieR24ViNMAiBmizCmiRee3ngU5KQD0s/0C122KGb0QHrAwSgUH2ejyg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3853596},"gitHead":"3d75b10b255e66395b999b5e57cc4c6262917797","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.8.1_1707473200283_0.7402269297393149","host":"s3://npm-registry-packages"}},"1.8.2":{"name":"@bentwnghk/chat","version":"1.8.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.8.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"dd5b7b33fa4115507674388c8a8bf46552c1430a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.8.2.tgz","fileCount":1044,"integrity":"sha512-fiEEv3o7S0MORwqjKH5Zt1wRyYASP5P4bcXvgbJBYpXlWN/ubm4vtj0cY6QKtsGp1MKQf7Qu69U5EaKxnPWqJQ==","signatures":[{"sig":"MEYCIQCF2mp/1Te6WxcQyNclmIo3vzTLdr97M5o6GGCmzp6S8gIhAO9xlYZZEVmeJSqfjyFhxLLBwMDQfqCLP+rXW6QUr1F8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3855882},"gitHead":"20bf07325a24cba86e0c870c9f5d5743a4b05218","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.8.2_1707655088157_0.18238926170176506","host":"s3://npm-registry-packages"}},"1.8.3":{"name":"@bentwnghk/chat","version":"1.8.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.8.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d26e01e93d520a6cbe4647ac15386c93ee3726ff","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.8.3.tgz","fileCount":1044,"integrity":"sha512-4Sv0GbdAPXEIJNnkosvbs6/pc4xxT9lquxTsBfaWI8ONclSE2wwv01c8oPbvyp1ncopdAilbYzFNP4Xplvqc3g==","signatures":[{"sig":"MEUCIG8H7BulWbI+S+qbr8lRuPwmG7ld8v8wWWxTBI5g9pHdAiEAwEAopCzGbzCrUqN0hlsxVUKeI6Tr44WbyjJKvm+e5R8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3856706},"gitHead":"bcc936669211625c6f28132482afbb844987f717","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.8.3_1707714396261_0.14116032758298913","host":"s3://npm-registry-packages"}},"1.9.0":{"name":"@bentwnghk/chat","version":"1.9.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.9.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"fb60fb29728c7b3250bc9ce960ec9503a11c6133","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.9.0.tgz","fileCount":1047,"integrity":"sha512-9awL1hMzOvqZ74LuoNH0iwfpmdgWLiKeesWoe3z37PhvvLzlW4oBzd2NzuQlhiPpKClCGUTSAUbvK/5Z1mEX/w==","signatures":[{"sig":"MEQCIGBij7LucCbCdW9JpnaOP+ye4wCDL0qFq9mYaGms85rhAiBdOQaH3pmnDo4B/FBjVwixZqbk/xFiFyuQpnfPIlMzRg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3883786},"gitHead":"9d52d740813207ad8136e8f1be33a1f8262b97cb","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.9.0_1707877803619_0.8838473086105685","host":"s3://npm-registry-packages"}},"1.9.1":{"name":"@bentwnghk/chat","version":"1.9.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.9.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"652a957b2d55b3cf1721cddfefb46f835ec55d91","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.9.1.tgz","fileCount":1047,"integrity":"sha512-1c3EbZFz8DaK34cJ42QxFvNuZKxP4RY2bBh4+JUvVG7qiVl0YWQ2+1gvn+qCaMEFICx8NTkKagOUmihugyAvgQ==","signatures":[{"sig":"MEUCIAlNfWBaDX4OQ5S4B19YkQmwB0E+cjkEwzSRYHCZS64GAiEAy0tduV3N1sJkrQGIPIPpbY+GH7JDU8LLljKLbB9Mpq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3884268},"gitHead":"994c9fbc7baf165aec83ea8533d44682aac3da5c","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.9.1_1707878134831_0.9827976004200034","host":"s3://npm-registry-packages"}},"1.10.0":{"name":"@bentwnghk/chat","version":"1.10.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.10.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"153d1fb7b76eda9895535d1ab783e914accccd7b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.10.0.tgz","fileCount":1048,"integrity":"sha512-coBQBCa8P4u/Ky3YZePp/St+KtxhG0VnMExc4p4NfUimT3ta+UjmjKXo00gPPZZvR+L1VmH+Lg7jUawajDHSPw==","signatures":[{"sig":"MEQCIDDFr4B+B/H7Z1IUrBxsLaJeCW5683mYX+JZWs/PrrMlAiBZUtAoWkN9/Ntw+cHWmFOzQESCOFeTPebT8uzrhP9UEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3899527},"gitHead":"e2bc4a62f4c34097268e26bd81c4358c3f5833ba","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.10.0_1707932740318_0.32780563229377213","host":"s3://npm-registry-packages"}},"1.10.1":{"name":"@bentwnghk/chat","version":"1.10.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.10.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"29723a0eff6c98c3cb82ef56bcffccae298af67b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.10.1.tgz","fileCount":1046,"integrity":"sha512-S5p+AtvLWiyf+6Hc+1Fj/YLwohIiK3AlCkG7j4UZP2eEpZAdS8qhBwmvfr1O0e89u0wdm+PkdO2T6fn6yXGbxg==","signatures":[{"sig":"MEUCIQCBtL2n9VZoICcaSM5LHIpMSovl+XF20HCgFl55YffL0wIgSBLGUqvVVP/PScNadFVPwQCaF6SZS5Q5LJ09y5t9OWI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3899571},"gitHead":"6ffe66f4fc3013e155c410bcb57afdb359d9ea25","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.10.1_1708009663365_0.516237331983554","host":"s3://npm-registry-packages"}},"1.10.2":{"name":"@bentwnghk/chat","version":"1.10.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.10.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"224b3dfa61d5d1233dc32ac6f15aa301b6edc091","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.10.2.tgz","fileCount":1046,"integrity":"sha512-xA935/7eRJCYsB2VJxmI7rtP/VeQ6571RQ7oqTeqT7QI+nCwGH58zHkQlMMhcXipCVhYmWqcxdrsifjwOMrTMQ==","signatures":[{"sig":"MEUCIQDDE02EopQ/IMlo49eoORH8r6dt93/eSxJrxB/XXcq11wIgD7cOAI1Mmpj5kWNINyMyIxSwFSaXUhlI3/epFuoGGbU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3900196},"gitHead":"63a2165caff88a45cc2ac919b07a649882884924","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky install","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.0","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","husky":"^8","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"^1","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"^1","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.10.2_1708014414677_0.05205608602273015","host":"s3://npm-registry-packages"}},"1.10.3":{"name":"@bentwnghk/chat","version":"1.10.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.10.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"83792691c7b92ba3c13cef184006990b8ffe916c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.10.3.tgz","fileCount":1096,"integrity":"sha512-GEC3PSnnBgbhFRom8WzxxRJcu17tDEkwC72dbqL19x+rTBl3d1WfmbBOrSW0nah3QMM+TVAxm01LP3xXnOMBbg==","signatures":[{"sig":"MEYCIQDx5AB2ZTwIBmfhw/LCUIGV8OItlg/TzSgOFDsZp9PUPQIhAIIGgx2CATh337asuryGg8fNE6U1BNBALFGqsD5Y+0PX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3980913},"gitHead":"c4dd35a28f30d7cf7a691dca73155522745c0bf0","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.11","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.10.3_1708560553242_0.5596372643963292","host":"s3://npm-registry-packages"}},"1.10.4":{"name":"@bentwnghk/chat","version":"1.10.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.10.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"7bc94e0cca52dce4d1f32af875d4cb94a6188a68","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.10.4.tgz","fileCount":1096,"integrity":"sha512-zBkATDJtGAmFAZHjy8s/LqdDBE+eyv/KcppA0weYEuevTuzKpUo3krTWW17Tv3hWMt/8wBN9byS3xSiTs+QSYw==","signatures":[{"sig":"MEYCIQC3N2Zh71CIxMy0MXMLdWQHDF85dNvcGzo+2cy80rJoRAIhAIsZuXRF5cq+Gjg18v3vl7gydMtfO+YR8VJNZ2k4TCRj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3981449},"gitHead":"03cf018f4f2313ba3e8fb813a2f20785adcd0981","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.11","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.10.4_1708561745182_0.6526658969851875","host":"s3://npm-registry-packages"}},"1.10.5":{"name":"@bentwnghk/chat","version":"1.10.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.10.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"1382bbb7cdb12d35c8908a19519d7c65568c9292","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.10.5.tgz","fileCount":1096,"integrity":"sha512-lwzLgv+D3STOnEKNQOjE6GvuZTufh7WldjagxSaEC5QiKWzZ9ufnbM8AuhnRAfBW3TtZsnLQVqgrU1V8peecKg==","signatures":[{"sig":"MEUCIQCpNAhIF8naNujVs4xb9sfgd2eKHU9xBrg0t1L3JOUUyAIgXHfxkcfJyu9a/scqc5HsbytSDRRrs1CElHFESVW/YEY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3981963},"gitHead":"8863b97a46f69e909657421ebbdbc1ba04c49e8d","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.11","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.10.5_1708564915008_0.9354181757608178","host":"s3://npm-registry-packages"}},"1.11.0":{"name":"@bentwnghk/chat","version":"1.11.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c9e206234a018859561397950d62d19467a756f5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.0.tgz","fileCount":1100,"integrity":"sha512-oW0tu8dv9iuYNZ7eh3VLda3iqAh3G3vqLXxMbdl7c2OmcMGJ37FCxJc4pCeEwyT2mC+jTxBScS3ul506KwWR4g==","signatures":[{"sig":"MEUCIH6upVUMnCK6ALXgTJF7rmQTeXD3yRA8/A0vuExs3krHAiEAqiS2WOsBrQK8UIwQJBcwkWljn+95PM2m52mjG8u2LQ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4005053},"gitHead":"3354eb9ccc6bdabce1e84acd11ede840835f546e","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.11","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.10.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.0_1708602031445_0.13490214951413915","host":"s3://npm-registry-packages"}},"1.11.1":{"name":"@bentwnghk/chat","version":"1.11.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a4c704ab8ff256926f3e2fb42562682689f56867","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.1.tgz","fileCount":1105,"integrity":"sha512-lJAvawfpxI7xUvsq2EkRd/WRPFmCewTaPCpXxKIfKo6tbZnOTdC768S54wSpGNrtkF3Ka+gAU9ADlIr6l4YwtQ==","signatures":[{"sig":"MEQCIArzUU2pmfrhz+qb1Baq5ecHatP3WzQKOcE2610Za76vAiBnUNSNBEA/TJu4Bf3xFsfsQ5BS2D1JXmaY01TqrHq97Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4023845},"gitHead":"fc242178bff3d4a03c9f2d87981e867fe1aa58e9","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.11","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.1_1708645646918_0.274373940683442","host":"s3://npm-registry-packages"}},"1.11.2":{"name":"@bentwnghk/chat","version":"1.11.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"7dff4b303d028960ad06d6805c0c360e9d87e85f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.2.tgz","fileCount":1105,"integrity":"sha512-y4U4XrJd/N6uTWqEiVgjbMTEm42sqK/G9jWDxNjq2xcK4IemhzCki1TlkAxZF9+MGoOXygoUMUXYEegK8xjkUg==","signatures":[{"sig":"MEUCIQC9GYMEhJ4Ftq2JZ5TRtTxLaAXcTuuY2kwNIhLCrFx1mQIgICytwaZHPcL8ZLtr4sx+rUhM3XIWlGU5ZivHESZ6J0U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4024616},"gitHead":"31fc079f484f6a5146734c27c59d5c05dfa4f304","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.11","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.2_1708649319174_0.9885715520785296","host":"s3://npm-registry-packages"}},"1.11.3":{"name":"@bentwnghk/chat","version":"1.11.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ca3d562d3c3be029da0fb05ba5b4338541a82608","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.3.tgz","fileCount":1105,"integrity":"sha512-csM322FCtDj6ThsxI4L7xmRkOh1MtemzdTByW8ZHxDd2I7X4Z6MEoSPGNnzgnjU2cdgWV+m+S5MaGeeV6TOiPg==","signatures":[{"sig":"MEYCIQCIL8A3QIFn5Ca7eyNRUxlHLVYrWZwa0pPCdNa1/1Gv+AIhAI79OFnG8tuMTTl0lxLp6lTBHj4HH2ilDpQX/IyKNUO9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4025120},"gitHead":"47b53f900ee3c4c554a5ed36a228634515e8d51b","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.11","react-dom":"^18","@auth/core":"^0.26.3","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.3_1708658826449_0.5417222760214699","host":"s3://npm-registry-packages"}},"1.11.4":{"name":"@bentwnghk/chat","version":"1.11.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"6acaedfdae460704b2cc9d23c0fa8d1013d11af8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.4.tgz","fileCount":1105,"integrity":"sha512-EGfVj68mbQ4e3Dzaey5zJtAyv2L8ffCyMnrUji/XiPPsgDFZdzRTshJ8X47MBPJJFV6zhIaocQ6G9aJFTDYsHg==","signatures":[{"sig":"MEYCIQD912dSPokaHPuQJ6KnKttLEUPIT02FHe2aQ3N8QPvWgwIhAM4+cgPxh3JJh5OFriVe/vYaPG83tn8J2k/tzmJyhVYb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4033388},"gitHead":"0c26862bd996d99bdbd11e4bd97d2eca524b603c","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.1","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.4_1708677208558_0.7127399820445279","host":"s3://npm-registry-packages"}},"1.11.5":{"name":"@bentwnghk/chat","version":"1.11.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"cb94426a5b12d0fe887bea8a1f0b3f2ba6eb7c0e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.5.tgz","fileCount":1105,"integrity":"sha512-Ubt6pfIX/wltoSTJdsScgNoU7zZBZbtOQSSuqTsFzH1KmDN6c7/+67IXH3dYNWnG5qBaVzN4hUdt0KOnKmHzUQ==","signatures":[{"sig":"MEUCIQC6xMBIVkRS5FBUkPShHyzuVj1klT5ieP7szV9mv4/ZEwIgO3DeyuNqbZ+u6JpFYx0cEjIbc4bfeNhPyaZ30YCAFko=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4042840},"gitHead":"278d11d69d57735090014e119480e1b59288ca02","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.1","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.5_1708737595055_0.8483875402879117","host":"s3://npm-registry-packages"}},"1.11.6":{"name":"@bentwnghk/chat","version":"1.11.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"39775638838f764c438d7669d835a97826cd68ac","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.6.tgz","fileCount":1107,"integrity":"sha512-VrXp9ZaKqIG9O3HuSJgR4vHh2CiN1fgIv0kmzhkMoBUfg8kbedCmH3ZgaslTS9lkQWU1iMy0m/TjY+GD33ZrLQ==","signatures":[{"sig":"MEYCIQDgq3y38o1J+a0F9L6Bvqjig2wZOUUsjJMp7qGa8flNswIhAMHNUrvPofceDhpQBF+9WnB+qh5o423RuoA7uXBzFrln","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4047177},"gitHead":"c61398c57de8e5d60919a35ab80c178b24dcca22","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.6_1708849591090_0.628837105463254","host":"s3://npm-registry-packages"}},"1.11.7":{"name":"@bentwnghk/chat","version":"1.11.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.11.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e07f7087f586322f7ee77167b31d617d926ad6ed","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.11.7.tgz","fileCount":1107,"integrity":"sha512-bKvU/KOy3rSLUPILAa0qQJEcqH32lhfHEPLnvq84F0s4PzFtXWRQecufI2W8NG0xTsdIBsk6ttkEYUYdIVlgmQ==","signatures":[{"sig":"MEYCIQDfeIx0ayisoY4g2xgE1tfNWZCqzBW4oDyet1XmL6kOzQIhALFJKH7Xqh3g/epO0Ct8rdgtD6gSekA4fFw+lW3iUIu3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4047778},"gitHead":"80bd8dab4fd3e466bddceaae05dd7d058b096d79","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.11.7_1708912704883_0.09915884011729625","host":"s3://npm-registry-packages"}},"1.12.0":{"name":"@bentwnghk/chat","version":"1.12.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.12.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b8efdbc3de0ded06b11d30911650b264110b048d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.12.0.tgz","fileCount":1114,"integrity":"sha512-GwVsRrnuC+4AfSG0wLNQauwBINUsD20lhBzTQv8pXcxPhWDG39lw+IZiG+hwEqhnxGdvw94fPtbsRkcfBlowdg==","signatures":[{"sig":"MEQCIFQ3hXpx+OHEcV8a9U42gS3RSO/c6gTEDMhWR1fec0PYAiBTTOqHr2VWjDBZ9uOsIpNf5yT7Q5bNxjB7w+LRoUpmrQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4068550},"gitHead":"0bb34ebfe2d54e6f2d3f8d78358cc434e48e0043","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.2","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.12.0_1709019912080_0.19772330688812256","host":"s3://npm-registry-packages"}},"1.12.1":{"name":"@bentwnghk/chat","version":"1.12.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.12.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e9fa094e96a645bc01c29a1b4892b000d3bceb6c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.12.1.tgz","fileCount":1119,"integrity":"sha512-b9N3HIVxe8mrZVpwnGaug/EEC8nr6Co+1X/d7m8mPyRU8VoOxtBjLU0FWCCVRBrRJDmYNislFhtOrjOOAMu8ig==","signatures":[{"sig":"MEYCIQClmtov7X5p2YuV4lkUIF6GgKeEM0GfpZc9qdYwVlwxzgIhAIrs9PyF1IJaiCf+9u1YM8tC/ZQ9uk45sZm5KkD6apIT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4120261},"gitHead":"dc541a3944ff3a4c2c4bd938869eaecf0c872ba8","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.12.1_1709163653022_0.8517266545264754","host":"s3://npm-registry-packages"}},"1.12.2":{"name":"@bentwnghk/chat","version":"1.12.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.12.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"82c3cee25627db1923c166117fcb16e4e4966f52","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.12.2.tgz","fileCount":1122,"integrity":"sha512-rFPkHUVMvig+HTqyUwEAUQo5ioFYw+MVcDAR2Fx04X1qL6ooeFXQ6NM6zNUfeL03wU/QrMu+88soUshvj5Wibg==","signatures":[{"sig":"MEUCIFEVfcFP6+TUQSDJQtCyv4KU4kvbOay+fwXlbRJ6/Y+BAiEA55TKbn8xpXF7ZS9XBmQoLsleJR5pmLuKJK7Md5/X15o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4138349},"gitHead":"c363e8f538f53459bbd6468ce56080295144f9f8","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.12.2_1709209322905_0.6977371690792404","host":"s3://npm-registry-packages"}},"1.12.3":{"name":"@bentwnghk/chat","version":"1.12.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.12.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5drive.com/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"80b5223c5312a8b1c4fedabcad0177a558afa77d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.12.3.tgz","fileCount":1123,"integrity":"sha512-fkF5lzQeWTGaVnhyACKShV2sOIaKhT3XwXNQtZzNbpff12I7oy0WeqEEYVPPxxrJO7nqi8Zs1iJuFuYTNOgG3g==","signatures":[{"sig":"MEUCIQDiW9hNBOl6E7/E0NsjOiIDfGfc7y9GmR4vZ3APSwm6OwIgI+PUMqVF9kWYA2qeVZeZS5twgj7YGfPA100fVMLO8gI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4153152},"gitHead":"5f7bc05505fe64394a471b55a1e345a2f923de65","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.12.3_1709247996490_0.30804040589113657","host":"s3://npm-registry-packages"}},"1.12.4":{"name":"@bentwnghk/chat","version":"1.12.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.12.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"1b64a69efb0335400438d7f1f67b0ead3060ff1a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.12.4.tgz","fileCount":1131,"integrity":"sha512-wkN2vS7aRdhdajH2TBRGdpSXYHM2SN58LgbP1nq/5/jnwU30roknmFo/Fm2rVNK0i7ddKdNGPgUahs8AJymNHg==","signatures":[{"sig":"MEYCIQCgxyMJ0yzI0ulSQCXl/DW/hYzYH9CTniKyzW8009vyWAIhANitmV3WO6LsTlNfK+zX9QPHd6TvOABiKv9EMhNjnVbW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4172797},"gitHead":"7a03014a55c1908572965a9c5c79a46d708d448d","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^2","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"^0.27.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^8","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.12.4_1709339043558_0.1826810320330179","host":"s3://npm-registry-packages"}},"1.12.5":{"name":"@bentwnghk/chat","version":"1.12.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.12.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"5bb1c5105e827ba069eabd7814411d95f3e99827","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.12.5.tgz","fileCount":1131,"integrity":"sha512-x9WDPt9Sle5c2Pb89hcANhOBTldvp2E2Q+dGqORUUEK0BUyORMdJOcIQHf5RyHQA7T4NZIGc33tNdBHoLtIQug==","signatures":[{"sig":"MEYCIQCQiIbxuZnIUeQ5He+evLWNq0Ljrreuah5LJl+yAvpZ2QIhALhWQfTJuMKZW/d574qX3FpCtTh6heOud7Fg59SttSf7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4172843},"gitHead":"10856b22f06c39861134b77e2ab1c0caa464a154","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^18","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^18","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.12.5_1709453423499_0.510587341216167","host":"s3://npm-registry-packages"}},"1.12.6":{"name":"@bentwnghk/chat","version":"1.12.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.12.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a289a88a8c48d6a18c75d7625c6ad90b1fa89fef","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.12.6.tgz","fileCount":1131,"integrity":"sha512-Diz+AWvYt+bHOgLfMVotgnxQ6dr/lLfkQ7IhgWaH+Dn1tjaN+TD9OapQG4eU9tg/Jhow65hreyH7qTmoR1dH0w==","signatures":[{"sig":"MEUCIQCEqTJD+L6mGZ8OCExmDqJlLuJrzvvSEkH/vjFrq7oxZgIgK+p6FwK/Y2FNVe1/SsPXCCGY94iR3Zz9gfuukcW98YE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4173388},"gitHead":"e88c43f0f0b23c6af3e0157f02b64bc8db7010fa","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.12.6_1709557994659_0.010729614196703485","host":"s3://npm-registry-packages"}},"1.13.0":{"name":"@bentwnghk/chat","version":"1.13.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.13.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e61322c018a25be007f23761aa380b0f79334786","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.13.0.tgz","fileCount":1149,"integrity":"sha512-rngbcZU4vUGzWpCTdFm4Gk8PU8CorXr9aJtsHjIlHVPz5znkrnI5RqP1ZdszH7CJ+Jz8fB8HDSMru40r1cbKXw==","signatures":[{"sig":"MEUCIBJ13ninF6W/2/WVbzDQxZZk1bGrla9awK+gF49wUvCgAiEAsc4XOLqnTjUXbO/jfBZKhPHuJFsbLdMBL8OLuA9t3V4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4233411},"gitHead":"5ce19de5af57efd33bbba88c3c46f1d4024d4274","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.11.2","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.13.0_1709642585301_0.7171093994790081","host":"s3://npm-registry-packages"}},"1.14.0":{"name":"@bentwnghk/chat","version":"1.14.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.14.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d38e76561123f96d28175f754cbbedd463821747","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.14.0.tgz","fileCount":1156,"integrity":"sha512-oeVjTmkyUjTc8n2Za84zdWGrKrn8s3Y4s7tjzfAh7h2K4ptxsvipKON4kV22ji7IgltCY2UTUdKeD3dyPeKgHQ==","signatures":[{"sig":"MEYCIQCvsPaNWGmbo1zKvJXWr3jH+7ov8aJHhrsFqpSzQHIxugIhAIWXOQVb+iDp6DUqGdFoZ/Y/ZM16jukbU27hfQk9xMJZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4270516},"gitHead":"27f98c4235beb22e420db7e72e0b3f5a6c4fc2ee","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.16.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.14.0_1709680579153_0.9291348768976586","host":"s3://npm-registry-packages"}},"1.14.1":{"name":"@bentwnghk/chat","version":"1.14.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.14.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e012220e96506c8000e0e558f28f07a5b06df6fb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.14.1.tgz","fileCount":1156,"integrity":"sha512-vbymVLLLl1V514Lthc8xfuGCRQlKqkhVLI2OSbcQPrAw9jbaIh+QR/SyAcj4FMC57OgdzV9cmgB+g9VV9P85Mg==","signatures":[{"sig":"MEYCIQCKq41ucYZQcPNv88lqnSOv4jy8PBOOS2ggWRpvqWlc+wIhAJ+Vkf+FCA9wn0Cofd+vZ66kqvgfVrpLcf8b+iGyMQqV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4271007},"gitHead":"d5e6a19207d9571a85eeb4848974d6b059f9cfe8","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.16.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.14.1_1709711426937_0.16007812465276317","host":"s3://npm-registry-packages"}},"1.14.2":{"name":"@bentwnghk/chat","version":"1.14.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.14.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"46c150d02807c633cd2edeb0b47ef9f4fbdaf7b5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.14.2.tgz","fileCount":1156,"integrity":"sha512-WAJjXRxlZ++qQPMsherOG4FgV1hsZ2EOjjOiZCXCQHBhYoNOgWV6vrnqKqvaApp+LSwcJHN+E3pibA2ZQD61yA==","signatures":[{"sig":"MEYCIQCKT8lpLtDhqimu+lZwWPrPePvkR8miFo43pU68Pu+OFQIhAObd5qpQRxj7h/qPqq+yxME5A0dBniqCSFYAMLVfk/AL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4269848},"gitHead":"a2bcb277c2d804b245e3bb5b143bbc976180b249","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.16.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.14.2_1709722493634_0.336539527324899","host":"s3://npm-registry-packages"}},"1.14.3":{"name":"@bentwnghk/chat","version":"1.14.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.14.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f901f9d86e94c7b0b521f3f38fd31c641b311642","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.14.3.tgz","fileCount":1156,"integrity":"sha512-CYKVZLLsubpzEICAYK73zpSerHe5SAoLh70oieIBXDL1dhhvsSd+1DYvQAlARZySgNllcgU7zL8TAqgk0pzTrQ==","signatures":[{"sig":"MEUCIBcwiER7O35wu2AIDZCd1pahUWv3tyJ4wMvDVvAeOtWtAiEA7wYz6bpdwoHf+b912PyP3CHceWCHwL0yKX6jTITBAqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4270395},"gitHead":"2e815bdc844be774c096f7f71e375a184d22f9f0","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.16.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.14.3_1709728019172_0.48391840934215624","host":"s3://npm-registry-packages"}},"1.14.4":{"name":"@bentwnghk/chat","version":"1.14.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.14.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"1e9dcc49bf33e88d60a5ece1b5ad231152bab5ac","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.14.4.tgz","fileCount":1156,"integrity":"sha512-I0CWSgHJOw2IurzYcWvmpsxh0I+99Q3eWB6Dm+G26Cvf2YLky9PPKFUoNN8tun21oGpXVirAGEa2XDb4Q8MwzA==","signatures":[{"sig":"MEUCIQCXfDiG0gbOBgIk4nIE3uVjzffx0yCJgNaOhkv/PkSUwQIgI4x3TEwvcsct6LOt4QUVcSOQLyc2RSQDFy9YdHyp9XI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4270567},"gitHead":"76f5f6aa51736aa96656877f125004aeb7fcd711","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.16.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.14.4_1709731046750_0.7062381210415842","host":"s3://npm-registry-packages"}},"1.14.5":{"name":"@bentwnghk/chat","version":"1.14.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.14.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"3de4505cb140d80ab30510e1e4fc7933b87f51da","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.14.5.tgz","fileCount":1156,"integrity":"sha512-7C5diCjzA/oMCydoi3pCQD9q+l7Hl1PB0KkD9oIUCwfXcLQxZOD9E4V3tbPTuv4DTEKVVMWugrK1nIdgyuKYiw==","signatures":[{"sig":"MEUCIDLkvzgAS2LF53yfY7GeruIE+oNk8Ddw6sTdTyod06MHAiEA1pbsJ67itkSPDH/J3LKdmdb7LPuf7Cj8y3mT05eERIQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4271616},"gitHead":"bbf180dedf1e140e1424837623ed3e50569b6d42","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.16.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.14.5_1709766910054_0.9470234346243576","host":"s3://npm-registry-packages"}},"1.15.0":{"name":"@bentwnghk/chat","version":"1.15.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai3.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"8ff5b8f17497ec42d29eff6deb81ce652ac6bbcb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.0.tgz","fileCount":1161,"integrity":"sha512-NIeoghXNWn/912LHc0sf9sDaUZF6vCTko8o1SBVrXJ3PNegN43CAK+6i71/k9/M9z1QlN1HHgPFAFrO8QNJXjA==","signatures":[{"sig":"MEUCIQCo89sJauUrmfrJiU+MkrTT2rsdV5agod2kFiYIAQwB+QIgE6TLEi1pCSAkaGmIzLIVpJb/e8hBbIMRK0oEIhAEnso=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4310884},"gitHead":"97d7b6268b5e205a4c0d3ee8fd5cbb1fdf3e5776","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.0_1709789606548_0.3689384682945507","host":"s3://npm-registry-packages"}},"1.15.1":{"name":"@bentwnghk/chat","version":"1.15.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"64ffce2cab3e5668e2d15c9fe1b61dd2d4a5b019","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.1.tgz","fileCount":1161,"integrity":"sha512-K+O7+P8TLK9OOjc7xmDPBqsbcAn4YnMGHzl0nif+qmH6veZFi75+Bih9noUj009+jt2e2W27aMwnXWFZW1xMXQ==","signatures":[{"sig":"MEUCIH0ZB5qdX5dUjBv1+4lTtGhsq5nA2Xpeumz69sxdtMS8AiEAuYvkYDAVYCIgMtbtaL68SbIL2+3vYaEUAkjmNhPP3pw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4311371},"gitHead":"0bfb9397f20608dd44aff80897d68f05cbb15654","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.1_1709798744718_0.2047164819740357","host":"s3://npm-registry-packages"}},"1.15.2":{"name":"@bentwnghk/chat","version":"1.15.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f04dc2ef83304a3f5e2bea8b58b5c42dc6590897","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.2.tgz","fileCount":1160,"integrity":"sha512-05fnsC+AE4aYEY9FRxNe/olEKqtp87QMEY7F8nqwc+oDvpJQeqBPpcnEk2w7QiC3tprTrrJKMeAL00b+xzOeew==","signatures":[{"sig":"MEUCIFiwlMYsjJZXgLcb/a6yRL13SJu2e2gJMyja9cErRE4XAiEA1bzShrZ8v0usEqq1UApfrVX7s6MHnV2/Y7oUuTBSvQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4312498},"gitHead":"07a6208e80498b6a30ea1c042b34133926eb6772","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.2_1709886669267_0.6736833898151702","host":"s3://npm-registry-packages"}},"1.15.3":{"name":"@bentwnghk/chat","version":"1.15.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"83b915d86216832448c20f04f0de7746fdad91b1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.3.tgz","fileCount":1160,"integrity":"sha512-wCa397693JEGpZWnKkSXOSCUi0w2jqz+wcEWte7r0sA82kDEej8uYbjZXlHMAO6erfQIQuwkCbN9Jgzy+6xMOw==","signatures":[{"sig":"MEUCIQCUptY46xTbizX64wUBcCuug5I+ovXw1hqLlGPUI6CQOQIgbO5l58cbbiszgMSiUPZLcsCvT6YaOGW/lpZCwyfmhXY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4313501},"gitHead":"6576709989477d36dcafffbee8a9568358efd3b3","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.3_1709956627001_0.9776504463722333","host":"s3://npm-registry-packages"}},"1.15.4":{"name":"@bentwnghk/chat","version":"1.15.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"547bca8f46d2fa78c464b046634a8722e59c7554","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.4.tgz","fileCount":1160,"integrity":"sha512-BmRxzYJO8ihvF0EUke0rwlAvAwhIHSL0zkGb7GHhg6mmWd9LnkVDU5P6X//1kR00ZgryhYZu0SNl6AB+hu1Ukg==","signatures":[{"sig":"MEQCIGjNJ8B5npxg+lpJgR4UzTrRONwq5WAc88kGLyqCH1FLAiB1KJ2nV57gVUVcd18Bpxtx4Iu5Qi5FVDZO66OQ91yDbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4314072},"gitHead":"06bd079c7bd7d714061f667333999af9e9603ec6","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.4_1709959722612_0.3912067482777626","host":"s3://npm-registry-packages"}},"1.15.5":{"name":"@bentwnghk/chat","version":"1.15.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c93250dcf71f4fde6b4504ef76b2229930c54707","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.5.tgz","fileCount":1160,"integrity":"sha512-UakG99RVJKrktJDiUuuyJ6zi/4NFmZl3tkzWvYEk8DA585KnMIBadYmZviWgvehN96qV5WKFSpjtUuE/9AcReQ==","signatures":[{"sig":"MEYCIQDqeaw0zgyOEA6bTqOzHu2LJ1o2leBsDTf4RI/mVGjGxAIhANliOU8jJnffZ6szsfA3aaCHS/E9vH2KodE6FSXcCcm0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4314637},"gitHead":"68b4903c9417e8ef8a27780efd305005429eba8d","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5.2.0","jose":"^5.2.0","next":"^14.1","nuqs":"^1.15.4","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33.2","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2.0.6","zustand":"^4.4","langfuse":"^3.2.0","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3.2.0","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4.6.2","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.4","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19.0.0","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5.0.9","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5.1.0","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2.0.5","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19.0.0","@types/systemjs":"^6","@edge-runtime/vm":"^3.2.0","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1.4.5","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.5_1709968861137_0.839869831591237","host":"s3://npm-registry-packages"}},"1.15.6":{"name":"@bentwnghk/chat","version":"1.15.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"42fb828a800a84807a25d6717270965f668bdb68","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.6.tgz","fileCount":1166,"integrity":"sha512-fpmWnpn18a64fKTrr8InN+sXxv6pWrwUr7AQKExkug1NGrf3COYfCAsOa1SGXWm13EqauB+UQZyH20XPOSMH0w==","signatures":[{"sig":"MEQCIBEEugmhAHwrf6aiwoO5Wzo7WL4U6m6tnF2LwsR54iNxAiAw+IPHx7TRyB570LN0ZRaGPWDUKUQpFdNGnzQNrflLbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4227163},"gitHead":"9dfe6083686cf7be7c92b1213631ca6aac9048ed","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.4","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.6_1710079553382_0.6805517636388057","host":"s3://npm-registry-packages"}},"1.15.7":{"name":"@bentwnghk/chat","version":"1.15.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"9924d1da4d3f19d963cf7e5bb5d779da4300f4d4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.7.tgz","fileCount":1166,"integrity":"sha512-nQvrqHEIf9behEJ0MjHmE+6J1ApVt3IJ4RvSVl/2QxG193z8JeDzQDDtKXbDNbdwbsn4Ddn0rS+Moa1yiqu8dA==","signatures":[{"sig":"MEYCIQDkBDyOhl1OI9O+J+rXXIL3DF9E4vrGtp5QhwpfbExPdwIhAJVrvkqoxCki2h6U0h/Y0ebA9tXbIoHEoCw3Ybl7OZ6y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4227669},"gitHead":"0992b717349a1af12dcfcafd9b82079a79d963ef","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"next-sitemap --config next-sitemap.config.mjs","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.4","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.7_1710113264282_0.44490444174316957","host":"s3://npm-registry-packages"}},"1.15.8":{"name":"@bentwnghk/chat","version":"1.15.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"1fa87219bdc9504aeda6a340fb5f7337fb0dde59","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.8.tgz","fileCount":1166,"integrity":"sha512-kFSCqKCXaUJoorYEJ054xncwDiQIQcDLsaX3RtMF0hnAT4pYLXJ+g9rjJbpvBgc+cSTe0ni49ix3QrMv45BTPQ==","signatures":[{"sig":"MEUCIEnvVDA4gORhg/TP8DXDehZY7RrwdIf4oKugyBgSNDlzAiEApN+OlvJeyII6DoKrWDHr1nrKwadN6HuJfdzYpL086Vw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4228295},"gitHead":"2667fb15908857dcdb2e66cfad8cdc3bc820be43","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.4","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.8_1710157908181_0.15161541559069014","host":"s3://npm-registry-packages"}},"1.15.9":{"name":"@bentwnghk/chat","version":"1.15.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.15.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"76ec4d6b549b7649475d7175fb2d947881566f83","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.15.9.tgz","fileCount":1167,"integrity":"sha512-fd8xf8h+sir3VZKiHPH40qv8jaLBNWd6+E94KSaI1At+d1CLyQKSOY0v95rJ8Wjzqn44aA8emee++8DnLtn0Yw==","signatures":[{"sig":"MEQCIBTAlhM+bxS1wKMHPlVgOCcWJPZAvt04WQsrIWztCyr/AiBCAXfa4r29AwPXn1p9HXUY2l/iUHZrq1MyUQjgm7KgsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4229137},"gitHead":"5382ca4ede42ea7c057bfec616c4ea3a2f848da4","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.4","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.15.9_1710223746886_0.7862201419931523","host":"s3://npm-registry-packages"}},"1.16.0":{"name":"@bentwnghk/chat","version":"1.16.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.16.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"82509fb9c141366d1f4e35ca86e18ea889ec792f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.16.0.tgz","fileCount":1167,"integrity":"sha512-iu59+PgAu3Sxa8sqpysdIULVZCXBSuz4BAJx8/bZpUcm+rt8Nrht2p0xfZIp7sWtjJFKB2g3IATldzRlVb0D7g==","signatures":[{"sig":"MEQCIALy59QyfKAE6C2ZfswABgdnhxM0+l2HClI2nWkqaa7uAiA5+sAiHMdim4KZHpZXSyxqgisIFM1FrrTSdVZ4mUjaBg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4237094},"gitHead":"fd0e0a496db4df46f4fe95d3c5330cecca8b04fc","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.4","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.16.0_1710305862640_0.6437338881611618","host":"s3://npm-registry-packages"}},"1.16.1":{"name":"@bentwnghk/chat","version":"1.16.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.16.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"239cfa36549cb9d9f336db13011f5e1b248df769","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.16.1.tgz","fileCount":1167,"integrity":"sha512-JxEXeNqP3q3mEIkehZdTrD8lwP3qrJJvsW/lMjevkMK6hN/pD4cy4356jUpknsDhOBQbnlo6I3I5+f8srdQmcA==","signatures":[{"sig":"MEYCIQC72iiRYFIRCsh2Tp1PGwl6dKmzr1969LW2DEbMlA96ZgIhALIV14qFKF5i2Xdwtk3YpJlSO3nWGfB0K3v9op5sm13S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4237943},"gitHead":"47aeaec5686db4151c3274357c8e983a6d0638cc","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.4","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.503.1","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.16.1_1710338252285_0.1917286129674678","host":"s3://npm-registry-packages"}},"1.17.0":{"name":"@bentwnghk/chat","version":"1.17.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.17.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"6fc29022aa46d342d793a19568abd103635890ca","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.17.0.tgz","fileCount":1170,"integrity":"sha512-83jX5qJwHCSWBMTL1ujyGWOhJv36l9HM0mVA61Xfe0Cb0t8pQLDWru26+FlHiGOV9vl9XvIOJ6KtFSUZqN6BgQ==","signatures":[{"sig":"MEUCIDtoJnJVDMtUw4DB6XcTDIDw4N9iZZvUatQojvx9Hth5AiEAjnMfxx4Nia113ewErVU7s8UhMefDv0n5g9JMvRIssOQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4248111},"gitHead":"657cc800a74d10571e327129341f0854e58a987a","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.4","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.17.0_1710408636162_0.431888636266474","host":"s3://npm-registry-packages"}},"1.17.1":{"name":"@bentwnghk/chat","version":"1.17.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.17.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"aa538bfe86b4e6153e55a8087944d26dc1358916","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.17.1.tgz","fileCount":1171,"integrity":"sha512-YivW8ysHHubOTthkWAlO0RxwLsmBI65GScvXLwKKLPL/cc/e4hR8LbIUfxQHLMruIw2TIpneQey7ctxyCyZAeQ==","signatures":[{"sig":"MEUCIF9VilUCc6nEwYUQqtkylK+vuWf27KlVBnqm0ZMntdOkAiEA2SbppriE4lJgrnVtstSFqzrTdN9GHBXvRzVMHrcTlQo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4250816},"gitHead":"c9f2f5e9d6f14a37e16eb4ec448e239520e13946","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.17.1_1710420819035_0.5618670315994705","host":"s3://npm-registry-packages"}},"1.17.2":{"name":"@bentwnghk/chat","version":"1.17.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.17.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a9f40c9ba7ab2b355ac72c175a96baf14aaefdb6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.17.2.tgz","fileCount":1171,"integrity":"sha512-fT1DFLDUYxrGi39d9sftmVzP1MFB5g4+9J4CdLuQCPnY4tKtJk52pIZYRuF7spdb9WQdNPZZT7bOkTviakrjTQ==","signatures":[{"sig":"MEUCID2VB4b4buMGvUZkatCmSMA9+7DcQT4aoIUn4qfEacT0AiEApOOmZqCZ1uClyODWRyLFh1j6ogE3IInWan29NSoclUE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4253274},"gitHead":"b9184c22e7d71b1a0e0cf041e375b5ff7398b4c7","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"18.2.65","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.17.2_1710500238213_0.6085784157884417","host":"s3://npm-registry-packages"}},"1.18.0":{"name":"@bentwnghk/chat","version":"1.18.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.18.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"646f8e51de709ff7a70131f00b91e7e65b25a418","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.18.0.tgz","fileCount":1175,"integrity":"sha512-ahwaSWjtW1NNJSZOBfSnc4rNTm9j3Ovwr2rm2qfQhZufBINdjXWSmhpfcnOz7plAC6VdZs7/RBtfNhdoHD0Ydg==","signatures":[{"sig":"MEQCIF0j7XcVGe29ta9YqvTC7rG6hIkhBfyL1bKYnLgqObJkAiAJUiCCFjlbIJGL+NmIIo/of3kniuq7kwQwIw4KyI+i4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4268271},"gitHead":"897fbc45498c384908bda63a00c37d6bd2dc575f","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"^1.13.0","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.18.0_1710510839814_0.41843559534843267","host":"s3://npm-registry-packages"}},"1.19.0":{"name":"@bentwnghk/chat","version":"1.19.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.19.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"80f3dabb9ca54908a2a5052e8713122aa0106a16","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.19.0.tgz","fileCount":1185,"integrity":"sha512-Mf9W4FLiMbfyYsdgkiQqiU9J8QAZTmfctGptLzF2C+jNZ5vjkHDsJLDtrUGfKHNiHwAfH0JTGQUH//NFHo2RDw==","signatures":[{"sig":"MEQCIELtFwNmy38DXF2wxnFF2+91M0r/6/xOiSbTfXQNtfCWAiAqcAOOR5HN89l8yVpLaDpNUtCKSXQDfvSpcD9w1N2sXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4313527},"gitHead":"2caf84e045e6158fc8e185b14110c8d83f99f4ae","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.19.0_1710548981008_0.5012826268198718","host":"s3://npm-registry-packages"}},"1.20.0":{"name":"@bentwnghk/chat","version":"1.20.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.20.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e19a8f9988ef42b18f82d737dad78909ef50e655","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.20.0.tgz","fileCount":1190,"integrity":"sha512-iv/UXfVzsxYwhmZvSWtLYMZ2HY3J+xdrtn7xxEU+UOjmgjA5TIyFvUUBCoOanhKD7UTLVKt6XK9RVlAvIi1riw==","signatures":[{"sig":"MEQCIFXTplYgNdJGO2GdtgRrwfQl3pTrP6S/SfCpJXEMoWYWAiAYirlkCJx04nJlmqZyMxBLKx8NqlU9BZrI0k1tUui+tA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4356614},"gitHead":"f4b0083ed6412fb75821bc52f880071c62145148","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.17.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"5.1.5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.20.0_1710596483484_0.10896294254627725","host":"s3://npm-registry-packages"}},"1.20.1":{"name":"@bentwnghk/chat","version":"1.20.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.20.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"9117cd358c0464c0e7d6a57a34bbaca4636b8492","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.20.1.tgz","fileCount":1192,"integrity":"sha512-oztLyz6b3Q4WI6AE7fTX+lstQKi5CfuRXNI8/rdg3GtUzGL2U7D1FcR4ity56MUAPC5p8HJOb18GrMg8l+Qgbg==","signatures":[{"sig":"MEUCIQDT7wENj2YX5FdKxdbSLtWdxIZBadrrFEWWDG28BxOs1gIgMMiTX3dRSVCTcudcTlRKA1MwU18Y8MH0Oxd7EpvtXQw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4362190},"gitHead":"6e9512c4db361687b56ff31627322a0f9ff64724","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/react":"^18","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.20.1_1710649355349_0.767038759772342","host":"s3://npm-registry-packages"}},"1.21.0":{"name":"@bentwnghk/chat","version":"1.21.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.21.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"09da81898510ced240ea987d9e91f19a05fc05fa","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.21.0.tgz","fileCount":1223,"integrity":"sha512-edv7xsF5mR6AqLhJodqu3a47bpYzGfCKD5xGGEfbjhi3d+6QCgGraoXqtvUOnG5Y54BsqQ+mnrllX0hLpTasSQ==","signatures":[{"sig":"MEUCIHRAIBqsXnpEBuJct2EOwBS1xo3D5LNECoohcskk34F7AiEAqINh3j+oGzFfng3SgcKIodVY4GH5z1Vsc4hEYMl0V8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4457280},"gitHead":"c5ff8f39a5cc659240c80a904010b16a7b6a6fe1","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.21.0_1711095669933_0.39082890132738","host":"s3://npm-registry-packages"}},"1.21.1":{"name":"@bentwnghk/chat","version":"1.21.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.21.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"aa16b23577ce3b66e519d368dca718d0b1f93b0e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.21.1.tgz","fileCount":1227,"integrity":"sha512-A+dhjp8FjQVsHxGJnekMoxYt7YQ/SseNgAwpufICoL+Uq5FSVGCd8A8iNSANPqVpWJwh136omadY9oxmVY5JUA==","signatures":[{"sig":"MEUCIDgG32P8NnbixyknUGa1HbYXrzidoPrlOfVHFPKFC15iAiEAq/XyhfjdktoZIl1GMhZHjeDWnV6im84LglGSS+jgqr8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4459251},"gitHead":"9cd512cf41d4ae57b61dc6e8eb25be54e5c84117","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.21.1_1711120187814_0.3671141296631908","host":"s3://npm-registry-packages"}},"1.21.2":{"name":"@bentwnghk/chat","version":"1.21.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.21.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c2570821eeabc318cc1b80029b105d322a6fdf68","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.21.2.tgz","fileCount":1227,"integrity":"sha512-QRZO5E3JQlAgjLKPHphvTdm7Ja5l9OTR5eOpSMtnjpkjG5SFv5WnHdF8zV8RPdGstFxgDMkNC8sY6SdAqsfkZg==","signatures":[{"sig":"MEYCIQDVowRbmA2Q+TRPkzoDqU8mzhNjv3WwLV0cgUzw372lTgIhAN86UfLoXg51vGychdgkgkebNvNCy7+O0AeJW6NT3REb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4460815},"gitHead":"c20d3eea203637788bd5d6e49ce46c2494bc028a","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.21.2_1711146750347_0.9749833192822379","host":"s3://npm-registry-packages"}},"1.21.3":{"name":"@bentwnghk/chat","version":"1.21.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.21.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f3ded46fb0e535f5f5652e7e5ebea04da7a6310f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.21.3.tgz","fileCount":1227,"integrity":"sha512-kx1k0J//Z4sMw4jh/KTxBt900AaBoB1avZdRB/YJOs2LR+KyolYSOlM+zRKrr9UC47jp6rZVBLYqTuPI6nvXyA==","signatures":[{"sig":"MEQCIHBkGLk+weBVzKvVvPbQse4EIHTu0fmhH0mENU5uurv7AiB+KyHwcdPBYg8lEnfGZxGd95XbmPIqMxM6Icyi1LXBmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4461412},"gitHead":"3c167ee780ebff699265b4baf6f450061a0a0352","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.21.3_1711324431300_0.6983877155999705","host":"s3://npm-registry-packages"}},"1.22.0":{"name":"@bentwnghk/chat","version":"1.22.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f4b377a9bbb1f955de4b6a134bfebdbd8e308d6d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.0.tgz","fileCount":1233,"integrity":"sha512-DDc4vTmLdBO9cNXkjflyXzEttCs/YVolhcAlyqG4xTqq165K8FG9PLCoT+Gq8UcRUJs1vOvhFJzL6hZP71YioA==","signatures":[{"sig":"MEUCIQCU4NeYzzDOa+0ZXjZdYhGocXua1lbsyOBdaNFFj0vnNAIgKYEvJNIAO2qyJECcGtOx9UD2xb7bSqhm1+ZLTfCJPto=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4488757},"gitHead":"c18dd6839450a6aa385d2eeccb88886d8cab0c76","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.0_1711372870777_0.031572865125067295","host":"s3://npm-registry-packages"}},"1.22.1":{"name":"@bentwnghk/chat","version":"1.22.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"6fdf712285430dd0faa5dbd4afdcc6391c7ecf8e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.1.tgz","fileCount":1234,"integrity":"sha512-7jRqLnUQZeYiMHNflSTi7P+fF32kNvym2xsfzxRXLVuMLKWe9dLxQ1Hot3P1ir7nEpPwlA3k9B6JETckp+K8Ew==","signatures":[{"sig":"MEYCIQD9iIEGMOiQ1TqbPeTYLRaarpWrbtta0vI4/2vcbySDkgIhAMDwxxkyJ/dn3E0KClUSFpgnBAz8L5ci/W54WmDVWkJB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4489440},"gitHead":"70d3f99f4a4f332c3e88ae86c29f27aa8ef59921","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.1_1711377060210_0.25250075856041","host":"s3://npm-registry-packages"}},"1.22.2":{"name":"@bentwnghk/chat","version":"1.22.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"dad9b4d8e4354a6fb323eb8a6df77c134f1f6c29","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.2.tgz","fileCount":1234,"integrity":"sha512-bObyQKfd8fHpKcsj5oocXeEAius4PrccsazS48VwUZR8x9WpeV78W4U5wfQrYHGkNBl/mT3We88r+QeZoUa6hg==","signatures":[{"sig":"MEUCIQCV25gi8TlmZGpYgYm/pWEPjU6Bk2Bwq4vcaXG5K8yb6AIgJTGCkx5ooMaMITc59iXCjUKOds+k4I2W8wsmH+8pmvc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4495380},"gitHead":"333fb234e5f3c6fd0d5c6278505aa20e8c3a4536","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.2_1711381272481_0.07207918451617767","host":"s3://npm-registry-packages"}},"1.22.3":{"name":"@bentwnghk/chat","version":"1.22.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a29722480231ec1d57f0c5765fcad8f4847c7702","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.3.tgz","fileCount":1234,"integrity":"sha512-vHuQxBum3sUZntKMcztQwSdGVTEhwGeL8f/HQ4TYRMVHTCyvGYgI4NfIR91K3L5/pB9PrgsARoGbCU5fFmdFnw==","signatures":[{"sig":"MEQCIEcEy8FUWyIkaH5vtvcf102XRJHMLaB5hosv1KYAFeu1AiAGjeseV2eBMB3Qjm544L/EgDH/jUyFfqGYzFU1prVdXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4495877},"gitHead":"41f56303b6bfc822e8c3ff392e28188ca59cbdbd","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"beta","react-dom":"^18","@auth/core":"latest","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.3_1711407388975_0.6859139536234329","host":"s3://npm-registry-packages"}},"1.22.4":{"name":"@bentwnghk/chat","version":"1.22.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"247b6088b749a7962dd26766029b3b1a69866f0a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.4.tgz","fileCount":1234,"integrity":"sha512-3ZbC7fopqewJPluY99Y4rOfx9Sp/4De4BIgcx4DNQNGHhpZsQ1AWDHQNVPsqLeSoi9eJgqTa3k++d/4GXJclOg==","signatures":[{"sig":"MEUCIDQWDo85NRaxh+STAOe/Zebs/Fx+fsTq6/t0ODZ5JoVrAiEAzl8PeL00MUOrDQGR6SDaLMkN4isn3WW5cQA2oeFckig=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4496505},"gitHead":"c36349c24b7995c378c7e4bad69edfb893032a1f","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.4_1711420993742_0.8473267397799784","host":"s3://npm-registry-packages"}},"1.22.5":{"name":"@bentwnghk/chat","version":"1.22.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"01b1770a0b528d0ca5b3d1ecd4bf0582cb932346","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.5.tgz","fileCount":1232,"integrity":"sha512-ua1ZI8NVjA7WHeCHBFLMo3sv1QewHYtlWsjwIyKJPAm01mqKDNMNCOlrg2BAmKWaDq1M5SNAn+3D2h9RJ5hvgA==","signatures":[{"sig":"MEQCIDw5lcWygXmG6xHr3XyLCPHAUx74fN7WXEBr8QzSCXliAiBebEluoUE25HlRThDplNK1gC7Zn2mp+u3SctG47ubeLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4492205},"gitHead":"617237bcfdf915824e3155b51c8a8ab603e815bc","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.5_1711451270533_0.1954083911724458","host":"s3://npm-registry-packages"}},"1.22.6":{"name":"@bentwnghk/chat","version":"1.22.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f8d9489dc23ef6710998f38988ac94f50a16e78e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.6.tgz","fileCount":1232,"integrity":"sha512-bh53FsSWKqJqpPhpCk/ihJbHzLetlsALoPYhFAPmCGYWwPYf++7JjABnYoAdOxfwgpdMv3Bqdj91JVh+WYIwwA==","signatures":[{"sig":"MEYCIQCR9JNX+cxrD07N5AovIgYE259TmRkFEv4MZUrq3CAI2QIhAMbZWRtqXySpNpC2SkxFZ1UgYW1A9uP9xZJH1fyti5Pv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4493452},"gitHead":"5cdb6a7c1bff0ffd53db62cf1fcf251eda63a889","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.6_1711461985953_0.0005522655233229923","host":"s3://npm-registry-packages"}},"1.22.7":{"name":"@bentwnghk/chat","version":"1.22.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"244fa8e52625c4adf399217f044b2b569cc2611d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.7.tgz","fileCount":1234,"integrity":"sha512-omjozQBXQwGA8ZSS9MpyvIppkC+4Vwi+du36UZQauXt7ED5tTEinuhlvN2BtFVIitO1jbeA4yzw3jWoQog1o/w==","signatures":[{"sig":"MEUCIQDkrDG9hqSIY6b47SmE4ztOWrl8IO5HN0zjIb9TLamtbAIgCPQO1j+0VjD8rxPWFK0WaeZmJbGHBZDnh0XUMvHViXs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4495805},"gitHead":"56ea0dd2490abe90e5bcdb03af5c44342309a175","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.7_1711524300045_0.24931169132507236","host":"s3://npm-registry-packages"}},"1.22.8":{"name":"@bentwnghk/chat","version":"1.22.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.22.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"3b5fc8c5af72be6f7beb2009a60897c5fefd3673","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.22.8.tgz","fileCount":1234,"integrity":"sha512-DsDILHWi4wXAtZTAAjxrC59ePJTZHU/rwGuokxEDpjoNDif0+BbgkQdby5d9+DoXcBFfpmc/Eb4ydBLDiTemzw==","signatures":[{"sig":"MEYCIQDHnbi8SdMhsBS1+4Bnp4kSU8bEb6+4DL6hlGPhhuZELwIhAIxFEVxo35idfnepMEnMKo7HjGxGkjR/AfpEccUSPbdQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4495928},"gitHead":"17c386db4fb28499612e1fedccace8a1a2b4c752","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.22.8_1711631124276_0.6745834395315669","host":"s3://npm-registry-packages"}},"1.23.0":{"name":"@bentwnghk/chat","version":"1.23.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.23.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"632f130ec881194b3485c9f2bdf225d047ec89a9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.23.0.tgz","fileCount":1243,"integrity":"sha512-F0s5l4fBAnZmja8LrTlyssKdQ9PGXdWNLUyJrTgBtuv+VDaLSUnojx4CGGaopYCrMlijOONzWqr5zJsV23iyKQ==","signatures":[{"sig":"MEYCIQCQ4L2h6B0FdQyptiguZXx8ElsamrCAdmfVlI+GFFwlbAIhANUeGpyel5Aw0CtDcUEQ3QKvQyiNvXAjrLDmbz8la3EE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4576769},"gitHead":"b0af4be51f6b884088bfb4d99ea29ea12422fbbf","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.23.0_1711671876436_0.1377025822084854","host":"s3://npm-registry-packages"}},"1.24.0":{"name":"@bentwnghk/chat","version":"1.24.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.24.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d744977933dbd64765c671f7df7392e0f3f36c3d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.24.0.tgz","fileCount":1245,"integrity":"sha512-Sp7dbLYSKwlHdtBk/KzdX80DqoxWTL06zI5OhXu67s8Iwv7rDRIfMUfmuVqZeQMp18ErBVYafXkkzecLCcQKuA==","signatures":[{"sig":"MEYCIQCYFFuM3S99IrsFHvWagR75HBH5hw2HNxlLQiwNXI37kgIhAIs9+j6twr62ZBi5q9mf23pE+3k/uIL3yBwOxWivm7rz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4587388},"gitHead":"41c0d2e71776a4bf4f2b44fb8a5732cca971bc75","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.24.0_1711682468846_0.47434323724461946","host":"s3://npm-registry-packages"}},"1.24.1":{"name":"@bentwnghk/chat","version":"1.24.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.24.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"815f96512415a8cf9137714542942937103a03a9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.24.1.tgz","fileCount":1245,"integrity":"sha512-hPSortvDfnjS7HTtqEwMu0TATATL0x5mkaMI2W/2d6AaDSbLyHeJC/OKxszCcZgaCojaypclk2fXjaAxMP8gIA==","signatures":[{"sig":"MEYCIQD6D0IwbQX1SJPZicXB5fQjzLFfoZ0Ukrvmb2jhPd7kaQIhAJRuuPhGeZITMulXk8Wk64321bzvb6WJfqkfbHNwZwxy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4590497},"gitHead":"f8bb555c058bde615814b4b892da38329939a614","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.24.1_1711697992594_0.9688697735130944","host":"s3://npm-registry-packages"}},"1.24.2":{"name":"@bentwnghk/chat","version":"1.24.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.24.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"8f0c9b9fbb0332e6190c0a92c3c79d64576c3818","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.24.2.tgz","fileCount":1245,"integrity":"sha512-toRq+AUGfJ5TxoxOAsHRMRk3GKvTvX11cyW+pQMIcmSGNlli4huLXEdBVAlxPC7UW/BUrHREis2AiSIch5bLFQ==","signatures":[{"sig":"MEYCIQCE4GM/wkd7MZie5a9tlWvGM2/DI5L+VbefbESqGZrRRgIhAKbk763vydlXXlEb79GITeLvB1OMGugBlRTUtzcDIq0o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4591078},"gitHead":"7d652827ed022190c7646b1317792d02b56ec7eb","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.2.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.24.2_1711701915358_0.5127714109084816","host":"s3://npm-registry-packages"}},"1.24.3":{"name":"@bentwnghk/chat","version":"1.24.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.24.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c43182074ae3115001ce7bafcb90c6abf5fdeb03","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.24.3.tgz","fileCount":1245,"integrity":"sha512-QuBA2ShpzpvbqlZgeLAkiP0NgpqJMY9N5NEJvuhg8NweJiqPPBJBO0P7ctF8evQvkE1xaxD92M+4Im57DbjMwQ==","signatures":[{"sig":"MEUCIDQeUDnZDb3x9vNMXXZKuS5DMF2d1kfoAxiIkLsZ4oEQAiEA9yn9AOWWhoAcBsNlkTPpV6BtQ8p1UxZM7jh7Q4Dnvg8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4591927},"gitHead":"8e9dc405afaa4ac37099e36c0d125664c01497e4","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.24.3_1711702497312_0.5481166107550639","host":"s3://npm-registry-packages"}},"1.25.0":{"name":"@bentwnghk/chat","version":"1.25.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d4719a566b6100d92fcba523c93c78c5c809eb2f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.0.tgz","fileCount":1250,"integrity":"sha512-TqRv1rlcgx5DmIuhH9W+oihqZgNp4y8JJ92L0AGW/I07lk2JTfulgJxqJFTWV4UrPWUgo4Fk7+gbzcgyC7MP9Q==","signatures":[{"sig":"MEUCIFx1XFIU/GiqGsVHw2Gzi9q75wG5aO9DicsQIIc+K0wvAiEA1H+Vvw0sXRmS2idWRrLfSeEg8NBJXkoFUPofSG8xkrE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4635952},"gitHead":"7be10d8121af2c4d7898dbf72b85e78a7306cc1c","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.0_1711708686449_0.03814183217159273","host":"s3://npm-registry-packages"}},"1.25.1":{"name":"@bentwnghk/chat","version":"1.25.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"4807691cf5e882767087a915b9d0893ac5bb0bcf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.1.tgz","fileCount":1250,"integrity":"sha512-2LJk2zWctDTbyvjfGmuQRulekZBzL8FEwTDj03lLyS8FAJGTPpTk5+CpkQXBSEzUCCJFw3UY1/WvndrfNICmpw==","signatures":[{"sig":"MEQCIF8BVtmoK3P2i0CviaZixUbPC4nCXpXR1gtPKAiNN+jSAiBEb6zjJrpnHg66uaYIcKaHnkf55Mv/hsO/uHesQNtSvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4642253},"gitHead":"ed003b82e7b1f8730d448f14d7ff82700962d631","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.1_1711720673089_0.7412034679622115","host":"s3://npm-registry-packages"}},"1.25.2":{"name":"@bentwnghk/chat","version":"1.25.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ddd5edafa1d9bf418757831796c2dd6ca890e31f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.2.tgz","fileCount":1251,"integrity":"sha512-6ZrtrqnEs8TU699sv2fzZPM0zWgs0onjHpNhdJHwbfLNypvp8no5aKoWwzePHeoGvTadbQy5W+qvrDsVd2PGvg==","signatures":[{"sig":"MEQCIAqBmdRZzUhY3+2uHgNHFi1iJv6gAe17IasoCROJqiHOAiBAhcjKsfS+EW/D0ttVNm+IMpFoAQA1YvGakZTZ+nl3zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4644138},"gitHead":"4265bdc923380fa8cbdfb95fc7bc5f3a91c47f3e","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.2_1711758673041_0.8544013131492065","host":"s3://npm-registry-packages"}},"1.25.3":{"name":"@bentwnghk/chat","version":"1.25.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d52678e6516ab42ce71c82c1ea5a43fc5def6807","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.3.tgz","fileCount":1251,"integrity":"sha512-Mi2yiGZR/13aJyqAr3rj58qqcSnyOengHyzzVDpLoDCKzNWO6YtKP5N/uiA4e9szcBtJB5eLuBHEje8PFXBDDQ==","signatures":[{"sig":"MEQCIF21qYaHLgl733bdmeGnoMGKsau8LKH52ll3HqDuWjoxAiA7xiMxtaXrk7FFG7JshYnhsuKjRMzuTgtCaeaJ7uBn0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4645792},"gitHead":"2f1c4de48c669d4f30c153cc15ceb3d3914359dd","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.3_1711799541430_0.2089046364678797","host":"s3://npm-registry-packages"}},"1.25.4":{"name":"@bentwnghk/chat","version":"1.25.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"7db6fb3d2136cccebefca158f02e8aa59ec54d0c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.4.tgz","fileCount":1259,"integrity":"sha512-6rNOd/kgv0/NNPtvn4vHudQZbJv+RdfKD20nHq//CcMFmsDYFp1fcQ/mJ5Evylf1weO5KSzWwijS48ju+Dx1pg==","signatures":[{"sig":"MEUCICjh1Qel4mtp/osJMQFonMkqF6G9XoYDwAkJGkp6l273AiEAj2G8WoqxG/nNaKllie3Bakq3qIJczc9ZigSIlPPNH9w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4657147},"gitHead":"a76cbab6444a4c2c916b61715fa159248a5a4438","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.4_1712042517861_0.7344330403522279","host":"s3://npm-registry-packages"}},"1.25.5":{"name":"@bentwnghk/chat","version":"1.25.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"bda57b7e49f4bb58249711c5749e92bfcc4fe6a2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.5.tgz","fileCount":1259,"integrity":"sha512-GtojGq4GuOfYIzCJPJnMPwsk/AMM97IVQgqBY7v6xJeb/kPdyFsjYNeONhvGq7/wkCXWDCe+KcQwxKPB5RMEmQ==","signatures":[{"sig":"MEQCIA9ADuqmHOYkU32vd61MFGY3K2GghT+zJpm5bKdq0AGeAiAqyRx7oO0m5/sIXSp2So489FcdHLSWeFm+EcpcKkmWrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4657882},"gitHead":"ce411c59336d052cb5c66b06d553184cad893484","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.5_1712046652974_0.12150635763178852","host":"s3://npm-registry-packages"}},"1.25.6":{"name":"@bentwnghk/chat","version":"1.25.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"834b74d9dc9d4ec1b5c6b7e7dbba341ca97bf3da","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.6.tgz","fileCount":1266,"integrity":"sha512-Q0SR7J3mI8Y6qp3cZ03Bk4MbHJ+4a0/iHp3A7SZxvPqBHNddMdIoa31HzFONa9mxohmMPsCOJi875GFvYIPBTw==","signatures":[{"sig":"MEUCIBvSsq7vP0REe70fSL7MO5OtAqvmAnQqVBx8FyeevUfQAiEA748PM3NmS/xiXJLDUFF84QHyoPSvF1Pg4jV3AlfdNH4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4657625},"gitHead":"5a929a757d772602cba88a3d7cedb99b86ddd66b","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.6_1712069477625_0.48365633245855477","host":"s3://npm-registry-packages"}},"1.25.7":{"name":"@bentwnghk/chat","version":"1.25.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"abdb2aaea317f1004d5fc9e4a03c185db53ad320","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.7.tgz","fileCount":1266,"integrity":"sha512-6nJC0fCaZnbIHFVpdmAvVqJBENlDT1PJOiRZ0eTgrcNpG5enbwYZMbwx/UPYuYFM6IkZfyD8LUk0+iR3JvIVvg==","signatures":[{"sig":"MEQCIFk1C0jLXSrmwmcCORwsJbRJy3jy4PsLFy05pf2S7TgiAiAzukCU6dbcLLigPKPMX/vPoZQZr8gGAR4y/bQAX7Ts9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4658792},"gitHead":"c301f402ff98914698fd3293c64626b389f53be3","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.0","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.7_1712077413878_0.07978212058102563","host":"s3://npm-registry-packages"}},"1.25.8":{"name":"@bentwnghk/chat","version":"1.25.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"2f85a73e4e930f4ac534b8f82b684f7ad74dd8b3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.8.tgz","fileCount":1266,"integrity":"sha512-OMS/5/YQwLg/FoMRRhvDa9kMREJmLWmTKZAVW08mGVMdnMTe/ecfOgSxsdB3klM9QUUXW7uwMfKNCoSAddtT6Q==","signatures":[{"sig":"MEYCIQDEqpMuwFhnDLLh4wniY5ntqtrLlFDKZ58jSIAhgtN2pwIhAMB6hr+e4Gj/4Z60ZK6Lsoj6FxNeGG1Vn4he2fXyuf+Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4660625},"gitHead":"9403d12ba56d9e540d61ed79f021f612b4af284a","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.8_1712122822773_0.36721769792922077","host":"s3://npm-registry-packages"}},"1.25.9":{"name":"@bentwnghk/chat","version":"1.25.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"88a3c21fbac817347d9d9c942b0a810a07298fdc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.9.tgz","fileCount":1268,"integrity":"sha512-9+TFUmWZsN0VwuTJbl3Y7sxG5XQo0AgfHbwVjMHUgbfdhXzT+FjgWS/vzOX5t2zINn80YK9PRgN/vA6nc4c4qA==","signatures":[{"sig":"MEUCIFMNEN89vPQG6CbP9WIf5jXyCIYwcJFhwmzo200+zehXAiEAy5pE3jsjmgZpvMx4byBCc8Svujoe0iuGJGmc8npY6c0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4665771},"gitHead":"5089548e04c6598194d3c79e0a2e7ffbc2b69949","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.0","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.9_1712184474960_0.3022964695824635","host":"s3://npm-registry-packages"}},"1.25.10":{"name":"@bentwnghk/chat","version":"1.25.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"383bf43ad7c434298b18aedd6935f8a4bd97cc1a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.10.tgz","fileCount":1268,"integrity":"sha512-jueZ40YxUbzD6G+dHLwT0Y85woTkYK5ZDxnUIKOqBC+0lS4FWV4L0JjRnWKDeHM/KJQutejvWZwrY13bOA7qCw==","signatures":[{"sig":"MEUCIEUE2neUMvogo66KfRneGMu8ArrMM0sez7UJn4zvEuRqAiEA0paHgRfQCocQeRZIOO9UYjxirHnZsPTSQE6++b2b5Qs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4666380},"gitHead":"9f6ea67595ea1f0c23402279ace60222b442b806","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.19.1","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.10_1712236199414_0.1460319935717842","host":"s3://npm-registry-packages"}},"1.25.11":{"name":"@bentwnghk/chat","version":"1.25.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.25.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"4987ef7cbdeefcfb1f13351b2c8423e0657d9150","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.25.11.tgz","fileCount":1268,"integrity":"sha512-VE6yGBq1EI9J5KxMSXBGbL75TfCAlq0cXphO8qp+jpHMGJRCuVj1/ccIlAefBo8zc46bHxVD92ipPSQHfibt7A==","signatures":[{"sig":"MEYCIQCjTVjeE1c9IMRoE4W1wI465K6fcms7hlRRIDFmRnk4UQIhAIVkAfO1pp6CMA23vHEFCj0YIh6LG5p1Id1QI1Uz2W8V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4658916},"gitHead":"ace516a0c2acef5a4f5fdc96757135055085f9c2","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.0","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.25.11_1712459064565_0.40281170037574276","host":"s3://npm-registry-packages"}},"1.26.0":{"name":"@bentwnghk/chat","version":"1.26.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.26.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"cab6cfb2c8073c70b4e87a2dbc6e79da28913080","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.26.0.tgz","fileCount":1271,"integrity":"sha512-dBXAZHwCx4WBoucDJ5txO1056rmPt7eUfE/GsKJ9c8paOzlFJ5RDafRUxtzb70CbgsLscM1BWagQ44H45t8zvg==","signatures":[{"sig":"MEUCIH/YBC4E5kEkRq4YxgbFWVYywfH5NMLjU5bl5uvCJP8kAiEAqeUuLFPrm2CzqMKbBpdxXFG+wNJUhdn3UXqpxfW+ZWM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4671956},"gitHead":"59f43d0760083af98f94c6c42217d0cacc75de32","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.0","dependencies":{"ai":"^3.0.0","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.26.0_1712617622387_0.07824030669219106","host":"s3://npm-registry-packages"}},"1.26.1":{"name":"@bentwnghk/chat","version":"1.26.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.26.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"54de37e68011ac40a1a67f47998808ab7b2ed0a3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.26.1.tgz","fileCount":1271,"integrity":"sha512-qhAm/pt0oB2j0WsyRwsNUx1C2ewbFPd0PQzHbOdb9NoPIjTAorSQAeYHuz4VnsDp0KNhuHQVCOmXeVBMCCB0Tg==","signatures":[{"sig":"MEUCIQCCfI0YkRLiMHjlQgDk9mpB3s7B3GZ0lGZmsaf5JJz1UQIgZqdZBpCVXudu38upJD9txnvv62PEO0TDhG3ugQdOnIs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4672712},"gitHead":"3558b68ff049d5d5a50d6b81ac8b9a3efdc8c214","scripts":{"dev":"next dev -p 3010","docs":"lobe-i18n md && npm run workflow:docs","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --fix","prettier":"prettier -c --write \"**/**\"","i18n:docs":"lobe-i18n md && npm run workflow:docs","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["eslint --fix --quiet"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2","yjs":"^13.6.14","zod":"^3","antd":"^5","diff":"^5","jose":"^5","next":"^14.1","nuqs":"^1","uuid":"^9","yaml":"^2","dayjs":"^1","debug":"^4","dexie":"^3","immer":"^10","react":"^18","sharp":"^0.33","ahooks":"^3","nanoid":"^5","ollama":"^0.5.0","openai":"^4.22","remark":"^14","semver":"^7","ts-md5":"^1","i18next":"^23","numeral":"^2","zustand":"^4.5.2","langfuse":"^3","polished":"^4","systemjs":"^6","url-join":"^5","y-webrtc":"^10.3.0","chroma-js":"^2","lodash-es":"^4","next-auth":"5.0.0-beta.15","react-dom":"^18","@auth/core":"0.28.0","antd-style":"^3","idb-keyval":"^6","posthog-js":"^1","remark-gfm":"^3","rtl-detect":"^1","brotli-wasm":"^2","remark-html":"^15","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4","query-string":"^9","random-words":"^2.0.1","ua-parser-js":"^1","@azure/openai":"^1.0.0-beta.11","@bentwnghk/ui":"latest","gpt-tokenizer":"^2","langfuse-core":"^3","react-i18next":"^14","utility-types":"^3","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4","fast-deep-equal":"^3","react-lazy-load":"^4","use-merge-value":"^1","react-layout-kit":"^1.9.0","@ant-design/icons":"^5","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1","modern-screenshot":"^4","react-hotkeys-hook":"^4","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1","@cfworker/json-schema":"^1","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9","@aws-sdk/client-bedrock-runtime":"^3.525.0","i18next-browser-languagedetector":"^7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4","dpdm":"^3","glob":"^10","vite":"^5","husky":"^9","jsdom":"^24.0.0","p-map":"^7","eslint":"^8","lodash":"^4","vitest":"~1.2.2","consola":"^3","unified":"^11","prettier":"^3","just-diff":"^6","stylelint":"^15","commitlint":"^19","node-fetch":"^3","remark-cli":"^11","typescript":"^5","@types/diff":"^5","@types/node":"^20","@types/uuid":"^9","@umijs/lint":"^4","lint-staged":"^15","@types/debug":"^4.1.12","@types/react":"^18.2.67","ajv-keywords":"^5","remark-parse":"^10","@lobehub/lint":"latest","@types/lodash":"^4","@types/semver":"^7","@types/numeral":"^2","fake-indexeddb":"^5","markdown-table":"^3","@commitlint/cli":"^19","@types/systemjs":"^6","@edge-runtime/vm":"^3","@types/chroma-js":"^2","@types/lodash-es":"^4","@types/react-dom":"^18","semantic-release":"^21","unist-util-visit":"^5","@lobehub/i18n-cli":"latest","@types/rtl-detect":"^1","eslint-plugin-mdx":"^2","@types/json-schema":"^7","vitest-canvas-mock":"^0.3","@peculiar/webcrypto":"^1","@types/ua-parser-js":"^0.7","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10","@next/bundle-analyzer":"^14","@testing-library/react":"^14","@next/eslint-plugin-next":"^14","@testing-library/jest-dom":"^6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.26.1_1712733468335_0.776999696185152","host":"s3://npm-registry-packages"}},"1.27.0":{"name":"@bentwnghk/chat","version":"1.27.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"0adaab1b20c9f534afaa89cf5ec941cac72b5cd1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.0.tgz","fileCount":1342,"integrity":"sha512-U6M+ejttLDORz50XALce8s6/wzNYz6FFabbam+XDeurwm9/bS5jJGX7iDDxMO/GYm/QLHvbqjlDf8mvCesH36A==","signatures":[{"sig":"MEQCIFbANmQ0XkZIULkocrOYzj5QThonvwFoY2uSKf7/uu4hAiAOKNxAIZA5bTqPUvVRmvT4jsorpLiCfkEFVQcDY7kjGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4845925},"gitHead":"500a2d44f52d0adff88cfe8b6e516bdfab5b6fcb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"^14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.0_1712788443683_0.882976108360209","host":"s3://npm-registry-packages"}},"1.27.1":{"name":"@bentwnghk/chat","version":"1.27.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"27bddd50b9ac60112e8b60cd838920dc6746b3ad","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.1.tgz","fileCount":1343,"integrity":"sha512-fwUDwpV3IN4WN4J5G1zxzDrI8IYGuxJWWadl+J/daxwHwMTiLUbH/5LH74/DRt7IPCxidGk9H3XQbJ8vNk11ew==","signatures":[{"sig":"MEUCICyE98bUTE+Don2eUdibNlx0Nwr0slV32HgDD5a8I0gkAiEA/NlbXB6RA7/fswr17xwq2m7jvu5olUY2DSN2DKw/QFY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4835972},"gitHead":"ca55f6cf5eb410838dcade8d8ec307a26881fdad","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"^14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.1_1712810605325_0.8057010546805672","host":"s3://npm-registry-packages"}},"1.27.2":{"name":"@bentwnghk/chat","version":"1.27.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e2488512e2a259fb616e500f52d67990a168133d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.2.tgz","fileCount":1343,"integrity":"sha512-SiVDYaxpybuXbwGYrAvRpNT95WKoH2NpKM1w+yTQf6Z3d1wg+NptgRhaobjqcEmMx+GIlylnLcEfJDkWKdmU3A==","signatures":[{"sig":"MEQCIDN2lxIQTR4s9HQA2i+zFPXBQQupcxFv4zAI6vr7LBAmAiA6gYm75p6kfeSfjRog3IG04EU4G3ZBsVBfvthlU0Po4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4835613},"gitHead":"e63fabd69743962be1c6d7ca9646b38007b6ea34","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"^14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.3.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.2_1712821891737_0.4284442877105039","host":"s3://npm-registry-packages"}},"1.27.3":{"name":"@bentwnghk/chat","version":"1.27.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"63feee01dc33c67a2b551e00aeac3a320d140caa","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.3.tgz","fileCount":1343,"integrity":"sha512-Dlz8+Mz6K9WfzKMn/zEORdarv8zDQgq1ye41MCLmftC/yQ1+W8lsNoz8t/XZCKcdUQfja4zznsv/YF9dWC8a7w==","signatures":[{"sig":"MEQCIAsUifAnPDWBEDcHEr0Vhy76bTRO/QzB+PFgqnfvHznfAiAmdwtXv2DLsMYQMDi4VBXPurDw6m3EUq25yHbnT6WR9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4842979},"gitHead":"92342a4f6a599e595c3119ada8e7096bd9204b82","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"^14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.3_1712830051761_0.34832565733323695","host":"s3://npm-registry-packages"}},"1.27.4":{"name":"@bentwnghk/chat","version":"1.27.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"360691511cbc589432c909da338e6de504730965","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.4.tgz","fileCount":1343,"integrity":"sha512-m6fk22vTcbHKwXxPV6/C96qQ0Lg/LJX77GwJOZ8vKBbf6dYtod/Sgl4YDAcqesi6XraL3XvyGj2/+flx+lC3bQ==","signatures":[{"sig":"MEUCIDL0osKlXkiQJ6qqOoLX+ujNfLVsx3gXOjINbFyRfFK3AiEAiDQuPMUS531zHc3cQMgLvaIHAZKIeuvseE3lX4MVqYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4843516},"gitHead":"a097f83886e99f3b1c8a315b15f1c0943d979463","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"^14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.4_1712832589863_0.584540279971915","host":"s3://npm-registry-packages"}},"1.27.5":{"name":"@bentwnghk/chat","version":"1.27.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e60b3188c350c6e63a939e5b56d20953724fc2ae","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.5.tgz","fileCount":1343,"integrity":"sha512-caHCO0syvHd5bGr/wqw5PdhqQ/KJTeIBRAfJ5bX59Y5EknLEURBGZV6qteLe7KqlVHpp5zmvc94QQT+C/Aiu7w==","signatures":[{"sig":"MEUCIBnNGwBkLXPsmJn8mN2+qFBLLocuWowG4lnDj9nAi4hpAiEA0Qu5Gqi8ufcu+Sb6amPqlz4SvUhRhOWa012cEydZ9iY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4845499},"gitHead":"1e482986218adbeb086bf1eb44d5ccd0c83935ad","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"^14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.5_1712843647287_0.07115399825881652","host":"s3://npm-registry-packages"}},"1.27.6":{"name":"@bentwnghk/chat","version":"1.27.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"82cee0c4d5bb3924cd1441477f056d559e8504e8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.6.tgz","fileCount":1343,"integrity":"sha512-T9Gva6sD9B3xio94VBbNp90QUjKu20usjqQa+aVV7Hib0gbdjdMKUc3x+dkivbVRkDNgHPi0GB4V11XCPJ7Bcw==","signatures":[{"sig":"MEQCIGqrsf0vSYdRDdXe2G+gUpP9OOc9sOOn4Kbmx4ZHHeKcAiAxFKs01ffa5gMfXReabHQuyTp2uc2dhmfBwuEj+Jok2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4846719},"gitHead":"4f566d473e61f5498654cb0f86d3db0f9f7c06f9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"^14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.6_1712870119439_0.12556441795333217","host":"s3://npm-registry-packages"}},"1.27.7":{"name":"@bentwnghk/chat","version":"1.27.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a0d33cab6f7041858053737bff661795d2a91e3e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.7.tgz","fileCount":1343,"integrity":"sha512-JEimLic1QPLD+hmV5o6L7NzwWVJMkgHDvxDspKttU+PofJpMLj2nHlW/1O2gEGoMnPG/ROLLYeAHvGlJ1IdbKA==","signatures":[{"sig":"MEUCIQCvJwoepMyksPVIHSYIWRuCaxfb94ktBZGF9xpYJ7TOhgIgJZdGHneFdvNIW0nXniu4WpXlchD8zsVhc1WZrGViOTM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4847325},"gitHead":"5d71fa1133d48391836fabcc83deb252bf99c413","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.7_1712908073346_0.5829224488355196","host":"s3://npm-registry-packages"}},"1.27.8":{"name":"@bentwnghk/chat","version":"1.27.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b5b4f19cc2e11149d881b0becfc4e54066b7b4fb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.8.tgz","fileCount":1345,"integrity":"sha512-BsOcrNKt8DgCmNavwB3JHD6UriaFGG+GMuRWNq5RKZz5AAvALTFFcAOAKywQb8H6923YMBvURcsTkNtUKq/xhA==","signatures":[{"sig":"MEUCIGuY/V2wil0SU0bySAPBnC0mJ5h9+2FlLRpgLhX/UXhYAiEAty0XM8zblemtQYUVEF3nK8XtYkha/eTWY96lDdOwHt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4861722},"gitHead":"52e7d60581bfd583814fa93c31f1084fa98d4f10","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.8_1712918051319_0.950884264484466","host":"s3://npm-registry-packages"}},"1.27.9":{"name":"@bentwnghk/chat","version":"1.27.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a50fb32b36ac887175a45133557cb6bf4ac6ac52","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.9.tgz","fileCount":1345,"integrity":"sha512-FvCxMHYjxQbSFC/Ng6M7RK2TjJyck5Kxe6G278Frp1mOOA0eP9iKWd/4cnAdVncjPpjOtlNfVkJiFW6hcN7G0A==","signatures":[{"sig":"MEUCIQDan+nnJ2KDM93VDRfi8HS3fcS2XXbN+aBr5dslDIxWXwIgBQq5Erzvsc2w/esLARWncia0YMnEgsHfPvwZeeb1i4Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4862218},"gitHead":"824b5f30f1f8d89d416ce31aa029ce101233f677","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.9_1712924580754_0.18420407721026866","host":"s3://npm-registry-packages"}},"1.27.10":{"name":"@bentwnghk/chat","version":"1.27.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f2447c9c0512585cdb834ca0329c9cbb5ac45761","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.10.tgz","fileCount":1345,"integrity":"sha512-eqsdyzXQytplhBkij3xNkj6ZmYVq3bdimnx/lXLGYmoUlPy+tVF6fSfdC7FpC+Qe6FqwOVtYyQhQIciSenWfwA==","signatures":[{"sig":"MEYCIQCCDbuGFi4batKvM8J66VuoKXlompuPIsTwRMz3P/TuSAIhAJasfwBUYhQChHbtTYMCzTycXjw2+p1xWfC6zdS9NaQO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4862958},"gitHead":"46986b2bb874ad762bf9671c9474b095495066a1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.10_1712926818473_0.7059980262458523","host":"s3://npm-registry-packages"}},"1.27.11":{"name":"@bentwnghk/chat","version":"1.27.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a56a0e3302630644820176416dfa6cf1a4f76cd6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.11.tgz","fileCount":1345,"integrity":"sha512-M2zR3kqtl30B7ulOWQ2dDRMXfWyv23QpvYqg3B5mwLS5DprslC4nk62S0xz0S2LGllUuJ4sknHFAMmjB7u1g+g==","signatures":[{"sig":"MEUCIQCXnw65ZASdsTRSmdJvNUVQ7dwb8vkMGmsavJ9oYUjkkwIgPuNl7ErLxyFg2x71PSnojrzfyw3C2NuMU+MFXHj41xk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4865849},"gitHead":"a3dc96704904ad9a9e2180c0bf32f272cd16faaa","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.11_1712980004803_0.1456923709401532","host":"s3://npm-registry-packages"}},"1.27.12":{"name":"@bentwnghk/chat","version":"1.27.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"554d0d6af41e67a9535e021a9687dd9ac3988166","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.12.tgz","fileCount":1345,"integrity":"sha512-+WnqrQKPN0gCGciLRM9ft1n9wtK9M8I04TBtaK2N2UnDFe3k/TBzYkIriIST73AWVga/Lb3zbVUNjXJdetw6rQ==","signatures":[{"sig":"MEUCIC9UTFhbPMIA7oaPsuP8NnDPZizy2QOmwoqEHUZyG59XAiEAkxSboJMJjeJEvyZ37OboKzdkD00RMu5XDAvN/AF4dm4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4866371},"gitHead":"6c4f1d59c120bb8fb05b79e17d6dd9cfd4ca2553","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^14.3.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.12_1713018907525_0.18701041217536019","host":"s3://npm-registry-packages"}},"1.27.13":{"name":"@bentwnghk/chat","version":"1.27.13","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.13","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ec98638f1188becd713efe5d7b62e7cf605fd2da","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.13.tgz","fileCount":1345,"integrity":"sha512-R2KyTDifxkhIsHamy5GbCS2G6svR2sqabwFTqI953BpHHIYgKgEvs4YBIt198RceJy8zvcEz9I6G597qMktmYg==","signatures":[{"sig":"MEUCIQCKht10QoAmCcIMV9LcdtAE2do4vUlQ1ANKnYX/MaZi8AIgLTkPC4pzNsArjlsPA1jCMWalKRScM1+/0r9M/0e+8I0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4869089},"gitHead":"f61f35cfcaa777b0f343937df40d0f008ea3a321","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.13_1713074560964_0.325733147723398","host":"s3://npm-registry-packages"}},"1.27.14":{"name":"@bentwnghk/chat","version":"1.27.14","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.14","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d2f008af2ca6252554c7fc6370e8affbff28be24","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.14.tgz","fileCount":1353,"integrity":"sha512-uZwwVHdQzFtHsHkUeWlN2ExB6d7TXuT8rlnuESZkZCiZzQJUYrxHNR0q2CpyO5Nl79UVsfa+fAhFi8mkQdJc3g==","signatures":[{"sig":"MEQCICyu4+8J+uVTIIBWdldK5gu5CfNOeOW7povIbiRIPbuVAiBaI5PCjIA0XrkO24SqQnAzxNUwYuMY84ivSU1NX5ZJfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4871526},"gitHead":"d2171e7fa815eaeffae901aefc575872c1ea2e4e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.14_1713099159821_0.494249379099009","host":"s3://npm-registry-packages"}},"1.27.15":{"name":"@bentwnghk/chat","version":"1.27.15","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.15","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"d219c269512f0f368c5c71ec71af0ded51d66197","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.15.tgz","fileCount":1353,"integrity":"sha512-mwJfThSLJetGS8IDzhHpl//rqUjgZl0IQ2f5rcV3X7fIT++RpO+bY7kzFuxlUXF8sDhvhCmv8NNQy5yOBrj1zg==","signatures":[{"sig":"MEQCIA+hb1tLQHPhvE9n8Hu8yPeRObW77ykgWwbAtYKL6tp1AiBZ5ZD09oXXIAODqWdygxOE2OqGdds2/j76fv4zUqLU6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4872108},"gitHead":"2f4a06c13a63559070e903898b829ee40f73e124","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.15_1713102621290_0.9208878743902669","host":"s3://npm-registry-packages"}},"1.27.16":{"name":"@bentwnghk/chat","version":"1.27.16","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.16","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"7e52019b02ead8da4fdac1377d6989900c4b6a82","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.16.tgz","fileCount":1357,"integrity":"sha512-KHB3qJNfa7aot722hmhvBtQcpuevA/GIsyXMwWNcQmj33Z3pLrSAT1zyFGNgHV0ZbvfPmTPovdOg5BcthmBuDA==","signatures":[{"sig":"MEUCIQDm+b04n6mVQSTh1hEveBs2H5lFIW4YL838ydMx7yeU+gIgBbF+Ti/v1t3TUXeZwLhjfrXamtC4L47Qp5y6kN6EVL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4875788},"gitHead":"ebbdd252cd181866abf921079515b5cd4bfe82c6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.16_1713136296996_0.48991467457353743","host":"s3://npm-registry-packages"}},"1.27.17":{"name":"@bentwnghk/chat","version":"1.27.17","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.17","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f9a6a636144eb93b125968e7d171cb4363012d60","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.17.tgz","fileCount":1366,"integrity":"sha512-sNyy1Bki50v9sG05UPKaSyJn0mxcBugNtiEzZW7HdK/t8vwiExSZ14RgWSu12kYIhySysM4UP5vrW6OIezuaCg==","signatures":[{"sig":"MEUCIQCmOqL3W2Z8J9WlkWcwjvNCb4k9sAGU25DnCrYsLne1YAIgCerepzjzx4L+XcXd1fSvm81h3NEuQA91eYNczMtZYOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4894695},"gitHead":"9b3410fe8127b28a4faa489df04712dcf0c792ff","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.105.0","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.17_1713266586073_0.36603789475691717","host":"s3://npm-registry-packages"}},"1.27.18":{"name":"@bentwnghk/chat","version":"1.27.18","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.18","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f9a111098cc8dbf3f81cecb6b84add8d1c2d2fbf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.18.tgz","fileCount":1366,"integrity":"sha512-hdKEtuic0OzXECeBqYN2lIi4WNK2xoyQeO/An00H0wE7NwXunB8zdic0OpMgY1SXl5LZqLGYQxIRFerb5hFZTQ==","signatures":[{"sig":"MEYCIQC7D5zRwMYGKs2KMwrAbyEzPDJDd6EeKcb/0xaL9ivukAIhAPmS6LkWJOFZc+Swr/v2FvJiybIkfXhOsd0VHWHtHt4M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4895363},"gitHead":"ae5e0fa09fc04ae016a8cc587a6c1db43acd162c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.1","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.105.0","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.18_1713348891324_0.024950697864048133","host":"s3://npm-registry-packages"}},"1.27.19":{"name":"@bentwnghk/chat","version":"1.27.19","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.19","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"519b1aa2c93ee78d423dc3525dc503d98d14abec","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.19.tgz","fileCount":1366,"integrity":"sha512-9lgOKiAXk59gwQ04B0uuYaOaUDTQg/daQCUHM9ssc1HIvPrM47NWAMXTQWi7Ph+s8ACJygLsvJa7Cpgu2PLQpw==","signatures":[{"sig":"MEQCIH7HDrT88f+tYNCBFskpyPcDyaqBn6AhSxM+zfT89c8OAiAE5m/Iu0lJd5wnFTCvrGyJQO/uirfBGOwAJEEahqGx4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4905786},"gitHead":"a71d4ad31c29db7c752e1d05dddf48d2eb07d421","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.105.0","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.5.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.19_1713481221422_0.049012412812460715","host":"s3://npm-registry-packages"}},"1.27.20":{"name":"@bentwnghk/chat","version":"1.27.20","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.27.20","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"8a62034990a280ffcb5288dd56ed211b2c04bd6e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.27.20.tgz","fileCount":1371,"integrity":"sha512-WOqfz91WL1Xk1SzPuhg20P+Xm2Fy4AU0tkpPhelZx5UAqltoXX726PWNtPJIYZRBxvCDR7Ql+8fb30yZVojrAQ==","signatures":[{"sig":"MEUCIAsVb0IliD9Kwzjz1h5hEoTPahZ1dX3ZjfoizfUd5PdjAiEAhDbcJWFzngj8d4blxfcDNcLyf3RtV1m/4teTnlMZG0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4948398},"gitHead":"0a354048ea0fa3dff751350a0ebc39fb07567778","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.105.0","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.27.20_1713561404751_0.9932728872412482","host":"s3://npm-registry-packages"}},"1.28.0":{"name":"@bentwnghk/chat","version":"1.28.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"59610b2c0c8aeaeac30f3367d42c6b8ed88664b5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.0.tgz","fileCount":1373,"integrity":"sha512-N/8vy92+o3alVBksw5X524e6kzAZlinh0lKPjJqKKvEe7elxF9rrqLmNbOUW2OLCSASdDleSAcHWhfKxsDlLdw==","signatures":[{"sig":"MEUCIQChm7CWXGpG13+otWU7T2IETpdFS0RmD9Dcora1FREcXwIgemUdf01fLrHmmO7LZJlxyrJ3yfC3CF2RMr5PJA7MGhw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4980182},"gitHead":"7c65c10eabbb3308dfea24b510f1c35c8ae908ff","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.4","antd":"^5.16.1","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.33.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.0","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.4.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.120.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.4.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.105.0","react-virtuoso":"^4.7.8","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.38","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.1.4","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.0","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.0","@aws-sdk/client-bedrock-runtime":"^3.549.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.8","husky":"^9.0.11","jsdom":"^24.0.0","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.4","@types/diff":"^5.0.9","@types/node":"^20.12.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.8","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.75","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.1","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.24","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.1.4","@testing-library/react":"^15.0.0","@next/eslint-plugin-next":"^14.1.4","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.0_1713610424685_0.17549411312041796","host":"s3://npm-registry-packages"}},"1.28.1":{"name":"@bentwnghk/chat","version":"1.28.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"483774fb79edae32be73bcf5bcb69cfa4e7a4222","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.1.tgz","fileCount":1373,"integrity":"sha512-/hC1jkXK3vbukrxVVNIZGUixC9tSRwOrAw80hj+EX1RlwYRhYzvTXUAGbntxawHB3IHr8IwP/l3MZDzmZaaJOg==","signatures":[{"sig":"MEUCIHsgfb+FgMAjyRQTdaKfbDbqPkddBTP6cuYjrnarrYpOAiEAh30ZJq64c1Ga0sx8b95S22EkZGR0TkHC3LpeZpepYBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4980532},"gitHead":"5634ae4f28b746730f31116ce9353fd174f9a0d4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.2","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.1_1713650719078_0.2389477665775861","host":"s3://npm-registry-packages"}},"1.28.2":{"name":"@bentwnghk/chat","version":"1.28.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c3bd2adcef50cbadccdc9c52b848e64c4c430bbf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.2.tgz","fileCount":1373,"integrity":"sha512-xZFaspDI9GSVZZAurHjJwZ1QwfrFhGo5mvdo5aRi9pYjLYgJI52G0JH3v6g7ysIWAMPNN7cII2AKg8CB6hE6zA==","signatures":[{"sig":"MEYCIQCRstD7mW8gXCL2EQqdadW5bCiDFHygJBdYZKv0YJEa0AIhAMXgJOFfwJ1JqaP+qyajsIaGZeDFeWxADAybFdUGvUus","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4981432},"gitHead":"ee13b0a54a1174260ead2920b02652e6145b2d3f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.2","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.2_1713701601683_0.7085536163360289","host":"s3://npm-registry-packages"}},"1.28.3":{"name":"@bentwnghk/chat","version":"1.28.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"a70d8e07c3bb60d2fae6127d087a337315775bf7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.3.tgz","fileCount":1373,"integrity":"sha512-IhOa48azrZ//2ZUyblIp1U1m4VHhRrSJcKO0Mt7fsir8/w3uUWf4Wspaorz8d35sEvhb5aZFL0ZmBT6Kp1vj2w==","signatures":[{"sig":"MEQCIDI4mCw5HIEPWo4DSxleEhsscHA5YGaDMw1e+aeNDTB1AiB4/rpFSa+/wfTb6vcuHFDG1tBHXBesg4fAZly+06XR6w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4985224},"gitHead":"c548bc22ca7a53b0a6de38124a577f562a67113b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.2","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.3_1713702763889_0.25428252579489885","host":"s3://npm-registry-packages"}},"1.28.4":{"name":"@bentwnghk/chat","version":"1.28.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"2e9300ac3a22475b16df346ba50799ca3f95c2d5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.4.tgz","fileCount":1374,"integrity":"sha512-L3YXTVtcKyxY6zMBaUD0C/dvtS+nflSa0McJau83htO92hFj3ovQs/SpKRbODyL6wxUHdPIIUW37ur4RFYMUFQ==","signatures":[{"sig":"MEYCIQCe6XcNL/BcUPr5h6eD8b8UM5JlDdV5h7x8B7bGd9ApdwIhAOPrAI7zGlzDHG30omdGldGbr/V6j8AWSRQSMcGok6RZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4989522},"gitHead":"06bcd6d1f07b0c5eaaf602e72572c3c2531e2f7b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.2","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.4_1713774598865_0.6359801226743769","host":"s3://npm-registry-packages"}},"1.28.5":{"name":"@bentwnghk/chat","version":"1.28.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"2a4a723c7ba96601265254dd9488eabea6302dd5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.5.tgz","fileCount":1374,"integrity":"sha512-ABMKaQt9aSvag8u0RUoUwAVxez59kTtL8flZnSb0bCbztnmkYjFuvujpHxPpsyP7Jdd5Rx2J41aBFDQUX2DVrg==","signatures":[{"sig":"MEUCIFRfHDO91IyDSzlGFGAtQParr9XCo397/jnlYgaxgAojAiEAtDI7nmSph2Sg7rj9TwW+sOyBrsYOm8ZVeM1hzcg+Z98=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4999560},"gitHead":"a3799d7326626df475fc6fadd606694140607625","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.2","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.5_1713792937081_0.856135458750924","host":"s3://npm-registry-packages"}},"1.28.6":{"name":"@bentwnghk/chat","version":"1.28.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"aad0e6941698c81966d42cf93782acabcbe035ac","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.6.tgz","fileCount":1374,"integrity":"sha512-yfhJj54GLVqPdbxY1xdA/AoVDCBSvkHOuyBVFoXpkly8mW0VupHVH3eNYFsWJBTtfflEIiY7VXEJMxtYUBZvIg==","signatures":[{"sig":"MEQCIAsVfQ2z0AjnzjprkHGkqaafzSziwgO/F/U4aw6xCMwoAiAcAyyn8TahLUUFiWTpfPete6UgSJanRggX7yUhbb77fQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5000764},"gitHead":"756e00f7dfb9990b7a9775c025cdb8b149edc163","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.2","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.6_1713850503733_0.9777576844535183","host":"s3://npm-registry-packages"}},"1.28.7":{"name":"@bentwnghk/chat","version":"1.28.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"e448c77d957c7f7fe8f98bf07917b910b357c1c0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.7.tgz","fileCount":1379,"integrity":"sha512-JJvqlzhBjw4gTGW9WcwGBZ/tWtKU+3zfZCM24xyp2Wfm8587QGl4Qj1I5GHauOh631PYpGmkkjP0EATnhS6FNA==","signatures":[{"sig":"MEQCIDpOJoudTT7uk5V+pPHcT+nrYt84TQy7hLQOCo74BSl1AiB91b6qmd7k+Km7zqGRs4ji+9mMq/+fhFBd0Zq1eyjoJA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5010475},"gitHead":"f789a4e2c3fef9ddff7d8fc24d49bbf2d49201ee","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^2.0.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.7_1713913480370_0.6012549626151891","host":"s3://npm-registry-packages"}},"1.28.8":{"name":"@bentwnghk/chat","version":"1.28.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.28.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f0e8ee5ca0856090561eccf452da268fa817f05e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.28.8.tgz","fileCount":1379,"integrity":"sha512-lRKoOlUUsygamc/Sq21hNMBPCEho4RsK2whKcgvR3bxwwV/3SGYqbWYEugHPyppRN0nGJ7MbnYyydkC1CVKrSQ==","signatures":[{"sig":"MEUCIDN8OBQc6pgHNNIJUm6jRpjgkJegZdAPdiPRU8VO2rytAiEAnsmwFpGNLTeQ+m0flDqEFaAJWVaM4u3qpSiZbYu4ruQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5010556},"gitHead":"374be228a86902fe79c3442fed914851f750a439","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.28.8_1713937005714_0.23006891998970258","host":"s3://npm-registry-packages"}},"1.29.0":{"name":"@bentwnghk/chat","version":"1.29.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.29.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"9d1802c7f75491c0ebf3e66d4a5deae9d4a23205","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.29.0.tgz","fileCount":1381,"integrity":"sha512-FEz170m6dinRSUENWYPd9rFPp20Uzgj7CIYrWooyq16mcjFB965RMg+8XYh7K54TylQ9UJ8bsgaqd6eMLD55bg==","signatures":[{"sig":"MEUCIQC+fdhnfPjJRJRGeG2mGGkva+vf3JcTjnNEpiWIxRyOaAIgauZWkqp1ksDsu0ctZj1RiFMhDLjGQwmG62aPbcTAvSA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5045310},"gitHead":"f73c060dc29fcb573414e847478d4d101c8d3c9d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.29.0_1713938273827_0.5360629070043774","host":"s3://npm-registry-packages"}},"1.29.1":{"name":"@bentwnghk/chat","version":"1.29.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.29.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"7cc61dad5d162cdde7184d5d0b26a7dd2badb09b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.29.1.tgz","fileCount":1382,"integrity":"sha512-rNcN/Oq/PMIJ5OKcpkdkjnfxen7H0LMOfS8U80D34I1no8fQa6VaFVMcFlyH4l9C6lRqxq0XCxK44JQjV0FNLw==","signatures":[{"sig":"MEQCIFcgnlMpu5uMeJWCYSjDz0XN/tYfOCGp9DCXmUiBaKlPAiA4VRUQ0jOEYU5suM+oVQmHCfs1EmU50NVMBlO4FTtntw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5052764},"gitHead":"22778f994ddddf87082fb1b721ab36018cf83122","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.29.1_1713994971418_0.13886235160582183","host":"s3://npm-registry-packages"}},"1.29.2":{"name":"@bentwnghk/chat","version":"1.29.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.29.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"5a83f19970629a0e8894f8d774fb11bba9a70ca1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.29.2.tgz","fileCount":1382,"integrity":"sha512-P+SQmKIyqndTDmX6Hunn32Ug0pEHRvliTpGYJrirhjfWJwHssmKG90o3AA1vA1gM0Ehvtcq/nzuCSPg8OCxBUg==","signatures":[{"sig":"MEUCIGyYWMwKXW/6k3OWhKt07gw4b6nxFsoBwLIKQRYYZuw8AiEAwVBm+WcK77INPMyCLX/twEUAneIANniOYoO4hA8KmBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5055436},"gitHead":"9a9d143ce8ada66498bf8d93d658c9576e8a57e4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.29.2_1714043563212_0.5687187697412617","host":"s3://npm-registry-packages"}},"1.29.3":{"name":"@bentwnghk/chat","version":"1.29.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.29.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"45267c222a0b930370ca8a66170e2185526a00df","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.29.3.tgz","fileCount":1389,"integrity":"sha512-aNJR9JqMBwgX7Ic/VmymKUVC09z+oiMEXuiw/pYzR/Y4J5kFmy7Jtjf1WZ6Xk+xCF5Lc9r+OND19VYfRzY29hw==","signatures":[{"sig":"MEQCIAdNoNafGqBfQcpN8QqcdN6sVjRfiBcg1TnKiebIK16/AiB/sjCWNigjpRAYH45Mq/vXLAb17PQFTMKYgcVsKPb/ug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5060508},"gitHead":"2dd8b8a1615c3f827150fad0f38724eecbc14b6a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.29.3_1714085902390_0.9000193861760344","host":"s3://npm-registry-packages"}},"1.29.4":{"name":"@bentwnghk/chat","version":"1.29.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.29.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"3a9954f4182f39a8d5747937e987c00101e5d315","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.29.4.tgz","fileCount":1389,"integrity":"sha512-KLgzzoG3g8iXsan4xF/xUNluEzw05toRol+hGXY6HVFga9wTsBWIbapLkR7VBgn+EfbbqU6t9f9o3toarUmbbw==","signatures":[{"sig":"MEYCIQDRVHL9UFv137sQtgZCHC0+kkNnFGmCS849TIyMEe0OSwIhANo7SdUSjPDesYGcb5cOsWann83IFKXT4tWNMxOme5Uj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5060975},"gitHead":"d3201214a8296157657c371e2481e3a71aad9b73","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.29.4_1714141807867_0.03079858302441907","host":"s3://npm-registry-packages"}},"1.30.0":{"name":"@bentwnghk/chat","version":"1.30.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.30.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"08c4a745122665ab132b8fabbc2b6dbab42b011b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.30.0.tgz","fileCount":1402,"integrity":"sha512-KskHIN25FHbq1YKhpWHEV7f9tJY2AYj3A3dimW9JGlMefKJ5I9fp1XbEF7Lk568K4NYbSiskKsDZlffNVvBPmA==","signatures":[{"sig":"MEQCIDFe9c5N+R2KBOuc4tJQAYskdjpFlIykLEZloXirK5vFAiBurYMP4cLNCRR7PsvfxUl+GElpGFHxb0Q/9zDi25qTcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5078776},"gitHead":"cc92524f13b7d21482b2b425aab446fdbbba903b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","@auth/core":"0.28.0","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.30.0_1714172577170_0.3881796179593844","host":"s3://npm-registry-packages"}},"1.30.1":{"name":"@bentwnghk/chat","version":"1.30.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.30.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"b97cf4aa282d137b9c4dc53531624d2fc6cab8b8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.30.1.tgz","fileCount":1408,"integrity":"sha512-O0bYQHIeP+7uC9XjJn6sYIoRB/IWOVlcb5/kjFecmt2E7mvFUm4mR8/X2hsA5lsda3wruPatqkaF0LdKfv6GJQ==","signatures":[{"sig":"MEQCIAftz1UbIh4y/IVncF4NRwqrJ0sMbJ+uPWPryFiTohCsAiBMpw2YCX/wOz6PkLQjlarXnxtxXyj1KfmHR0As5B0Yzw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5083343},"gitHead":"ab291abe9f7bc72c2a00f491ea93a8fa718aafa7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","pino":"^8.20.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.30.1_1714199925342_0.9705935613932166","host":"s3://npm-registry-packages"}},"1.30.2":{"name":"@bentwnghk/chat","version":"1.30.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.30.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"ffb2549aec429769febf19034a6e3543b3347bde","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.30.2.tgz","fileCount":1410,"integrity":"sha512-YbuKNYRaqFn+egaR1R5uBBBkp0sgWNdzs+lpCxtrz8sCNBToBmpO0V1L5R9r4HMHdrzdTftJkgbS2UMSz/MI9Q==","signatures":[{"sig":"MEQCIDtE0dcFOadPttf/Yqd2pMEh+JSG6eAIWwhDSq6Uzi2JAiBXX6cjqPKqhJcpAZ2JxK/Jjw12/dtwn9h2UlsU7gbrsQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5098479},"gitHead":"93ab1c67eef996458bf97b4cf57fbcafe7c08015","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","pino":"^8.20.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.30.2_1714211324751_0.47386031763539616","host":"s3://npm-registry-packages"}},"1.30.3":{"name":"@bentwnghk/chat","version":"1.30.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.30.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c8e04827da22b7566a9270ed15c1238a09477477","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.30.3.tgz","fileCount":1410,"integrity":"sha512-n6moGRxi6uECBzOXqoTUEOlvjiym7SQvhfTSxQTINjAE0ZPic6xS5a5qyRKpBoz1CUX69XwScXJK/HNZzlm5EA==","signatures":[{"sig":"MEYCIQCw5Tbb0TbFMROsYB5swCKTU6vdwfnM7ruAAoKZ+vwtZgIhANrF4BYqi7+iickQW1t74GehdbSW8ulaRxf+PEnEacPO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5099854},"gitHead":"d0070225f3b616a4cc077428827fb9055ad5e11b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","pino":"^8.20.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.7.1","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.30.3_1714214040471_0.42864024702801795","host":"s3://npm-registry-packages"}},"1.30.4":{"name":"@bentwnghk/chat","version":"1.30.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.30.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"3021e3170a8820c54944acd9ee6f2a001a26ee7a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.30.4.tgz","fileCount":1410,"integrity":"sha512-kABeIPmqgqo16b6NyibsNSY+YOVARseYiaITos/B8+zGQU3x2worTIt2pytrSGqyLlDzCXei5ChVVm7tXCtu7Q==","signatures":[{"sig":"MEUCIQDUHpAwCc3zE4ef+iv7rC1+j3/1snwMTA/cw62OH/XcGQIgaD4L7tGSGlUwH3uZVdb7wJ3CLaz5GBv7ofBzTLMrMVA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5107744},"gitHead":"f04a867213bb759bc279bef0a6f8433753c14f56","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.30.4_1714297486951_0.23647579201052715","host":"s3://npm-registry-packages"}},"1.30.5":{"name":"@bentwnghk/chat","version":"1.30.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.30.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"5d7d310cbd781e1954bbebc09cf9a82274f649f4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.30.5.tgz","fileCount":1413,"integrity":"sha512-qpmMbN6XmbFOlY5NDt1wHqtTZ7+HSgbmHvLItRX1XqGKv8avd1P11rEXoeU25NBWu6o1pkgTPP9iUk9+QabY9w==","signatures":[{"sig":"MEQCIEtQz5wgN8A1rgvmAJ9UKtP7yg4Plqx7U6wPhDnKey5yAiA2Q37oH2dm2sDQJKBEeqXVFtSV5JusVcuW1M5gXFjF1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5118961},"gitHead":"d8d8a2380c9105c9324b0c2cbc558020d794406f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.30.5_1714310706188_0.30828304534852236","host":"s3://npm-registry-packages"}},"1.30.6":{"name":"@bentwnghk/chat","version":"1.30.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.30.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"854231615e27194cfff19b83022c35f33a338785","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.30.6.tgz","fileCount":1419,"integrity":"sha512-Yl1js3QVIMokIYfLjvZ2/YtuUr3yZKdmVWbAPMGEVpNxqeQ72m4JUtbs1dtvUvz03GDfDjPbA5xWKeFtGSUWvw==","signatures":[{"sig":"MEQCIDW4lZqRl6HHImgD5QcNHUpX3fLWGs0oHZAVHspQ8jCYAiBhigQh1SoL/lYyjYnaTqdvZlbGTi4v4DQKYwOttGzeLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5122449},"gitHead":"79c31d456770d1c1374275a30da787743aacdbf7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.30.6_1714345607977_0.2984971521504034","host":"s3://npm-registry-packages"}},"1.31.0":{"name":"@bentwnghk/chat","version":"1.31.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.31.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"2738424ef8b8340bfbef5fe9b87b06d3187ba5a7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.31.0.tgz","fileCount":1429,"integrity":"sha512-HoDbfSJ8mkSWjyfjOfPk2scq9VI4dnKzN3MqTWCThzvE3dsFPLQ5ZSRYVzaMMmmm6XzXttxO5OitynMIRoLgvw==","signatures":[{"sig":"MEQCIAZ410Iy/NQXQBjgEHc4vsVxkHLBojFAZOhv3P1yXQbFAiAYHtrwOnALBY0Jo12kwAHiLKDCgVDU/cfW/qlqb8/YwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5191754},"gitHead":"45308879e4b1b46f85971cd5eff5873c7bb5e8a8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"14.1.4","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.31.0_1714369320366_0.3817670400788271","host":"s3://npm-registry-packages"}},"1.31.1":{"name":"@bentwnghk/chat","version":"1.31.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.31.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"6b154559e7cca3f30e94edfc1a71d1601b57f742","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.31.1.tgz","fileCount":1435,"integrity":"sha512-WPeK1HAPYnZXSGrbwufoTdcmT3MTsk9k6HiTw5rpVF0q3wk0sUuGHJjh6kUcqxTCsFluJtBfsr6JfvGvPJLGYA==","signatures":[{"sig":"MEUCIQCCecpx2klB0JFUVOe2LeBq1BJrxe1P1OwRL0jIBqUDvwIgY82v2m7OI7mXRlZh1ajZRM9ayewxpxl+zarPK9wlK/k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5232019},"gitHead":"73a41b2af17521e0b0c46313a0c951fdf778e63f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.14","zod":"^3.22.5","antd":"^5.16.2","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.1","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.1","dayjs":"^1.11.10","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.0.4","react":"^18.2.0","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.38.2","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.2","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.7.0","polished":"^4.3.1","systemjs":"^6.14.3","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.2.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.128.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.7.0","react-i18next":"^14.1.0","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.111.0","react-virtuoso":"^4.7.9","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.2","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.556.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.2","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.2.2","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.2.79","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.3","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.2.2","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.2.25","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.2","@testing-library/react":"^15.0.4","@next/eslint-plugin-next":"^14.2.2","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.31.1_1714455257679_0.989600531428211","host":"s3://npm-registry-packages"}},"1.31.2":{"name":"@bentwnghk/chat","version":"1.31.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.31.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"5260da56a156245dff7446a6f6634c711e4e8ec8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.31.2.tgz","fileCount":1433,"integrity":"sha512-gGm0z/I4GDSr7vegwCGcnQ7XPaKr59WgidJPLe5izpVzEn5Isq/h3Vxg0TFOOgm6uXUvCr7GLe2cpLyXRHq55Q==","signatures":[{"sig":"MEYCIQDGV1+14ozz6gthGCJwASqe+WIlh1vpNgD7DJjN358sNwIhANdTSz0SRn6hXCpGVbQTuGYuDNj73ZwWllQMXiSYLege","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5250947},"gitHead":"96dc33e7cf9b766fbafadc4169ad14214ff051bf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.31.2_1714482489257_0.4894224332216601","host":"s3://npm-registry-packages"}},"1.31.3":{"name":"@bentwnghk/chat","version":"1.31.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.31.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"c0929a0007bc0c706137f6acc5ae44be6db99cca","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.31.3.tgz","fileCount":1433,"integrity":"sha512-PBRobGTcTxbgYJTvDqxDwtjhmzR2OfpcQsHNHJxzr5fEzFlucmDJ2DTsqfqUSv31JAy4fg6zgHcePjz/j2uY3g==","signatures":[{"sig":"MEQCIDqpcihjc8zdsTUuDBqhlpdoapoCUfmK44yleBtxPmmUAiAqLmNY5yRClsikWBRsfxipnvNqe+tZa7riQb7q5AM2XQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5253733},"gitHead":"c03c9fcde8610419531d91cc16eaf44d70b1fa59","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.31.3_1714488557626_0.36329807536615144","host":"s3://npm-registry-packages"}},"1.32.0":{"name":"@bentwnghk/chat","version":"1.32.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.32.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"f012549034c10bc0dc77038d5871f8a30fa40446","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.32.0.tgz","fileCount":1433,"integrity":"sha512-6BWruwgjcP33WIL2gEYm/d4uFpqn3FbC1HAY6ZI7jgxt0010mo7Wl2zFF+K6Q449uLtptAe2qpc+rXq6XTpRFA==","signatures":[{"sig":"MEQCIAg3kxIGJOj0rN9SJzXdd2kUe5rmI9E/sLYgWN0hVmYEAiAXWkdnlVph1I/rm9+MF/3HfAki51O7WAImSfcl/Zk/6A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5257574},"gitHead":"2c432613414e0f14fe518641699eead3a6cbe61c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.32.0_1714510442422_0.46257969824352063","host":"s3://npm-registry-packages"}},"1.32.1":{"name":"@bentwnghk/chat","version":"1.32.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.32.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"9fdcb133f7c083181c2d53fdc822d1a7e7890938","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.32.1.tgz","fileCount":1429,"integrity":"sha512-FWP15h+oaJ2MbJpV1csjlAB7UuF0c6p5Bo8VaZIkhJBrofgXz+0TLgEunyholnbTmZUw5IJUgLcNTJc7JumMKA==","signatures":[{"sig":"MEQCIHcKAQnx8LIaiidIHLvB+OnAy1QAqh/3rqv2pgAApRSaAiBVFzS7+fEHDPZy1/HW7EWcx4KDXDJDdU6hGAr1seB63Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5260622},"gitHead":"78b9f90bda7820523ba3cca884a57c5813674260","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.32.1_1714542183745_0.8364471313132846","host":"s3://npm-registry-packages"}},"1.32.2":{"name":"@bentwnghk/chat","version":"1.32.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"LobeHub","email":"i@lobehub.com"},"license":"MIT","_id":"@bentwnghk/chat@1.32.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://github.com/bentwnghk/lobe-chat/issues/new/choose"},"dist":{"shasum":"639216663bdac9f7913c66a5a286b12df2a71316","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.32.2.tgz","fileCount":1467,"integrity":"sha512-lkyP9Zdw/rmoqrVWld1verc6EZpsVEA1zs+UFBamskuNsgAAMgbNlXKfQjqBYz347gehAti9QFmIRPR4jOLdqw==","signatures":[{"sig":"MEYCIQCniP4HqILQ0RvvHItZCecel+yjmpbIJu8poOTp+EI+vwIhAKNhNOSLsvA2OgZJdMr71JXmo8gqJXsJ9o4E8d3nY+vW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5324574},"gitHead":"dd9b1766e6093c43e5a071f99c221c5aa198f536","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.32.2_1714801004575_0.2967509874157195","host":"s3://npm-registry-packages"}},"1.33.0":{"name":"@bentwnghk/chat","version":"1.33.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.33.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"a256c899d97fc6b2a77f6a31e8359349f948b725","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.33.0.tgz","fileCount":1484,"integrity":"sha512-AvIq7dTEHD7+iFxKB80otPpmbA9Lg3ju0bvlpCXqZwrQKBhMxXDKA8nAYXiK9K3WTXh7cYTiMhYmqdNXIBJOHQ==","signatures":[{"sig":"MEUCIQCekSdtXPCY7YUaIRRI+7bKISJ2s2usNY6QOuWSxN7cpgIgNzWGHWgNZoIaE/t4yUFW1/SqiMaucWE8iXXRu3ujSrE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5342439},"gitHead":"f45de839b89c969c68731de19460bb09d2f9509b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.33.0_1714808696500_0.046871135155877486","host":"s3://npm-registry-packages"}},"1.33.1":{"name":"@bentwnghk/chat","version":"1.33.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.33.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"f4b36d1812fe3b4dae21e1ba6ddf781940eaf1c2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.33.1.tgz","fileCount":1488,"integrity":"sha512-ua4TtmMU06W0J0V3uGLsJbrkf9jFn+o0k2PiQPOoC9scdjUPUwp8xaXtVCs03p8uj6ILYq6Z6FihQak9dAytCA==","signatures":[{"sig":"MEYCIQDhmOYqHz1xRvBXbGCxrklB6g+Oggld6oOPF+2MSvaUYwIhAMiVpym+91Pi7eb+eXlvZpIwe/0zW1qrGm6vcVwoFIzm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5348597},"gitHead":"bde023011a26a37df3c1010201a89ee3b46449e8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.33.1_1714818783077_0.28701467070041753","host":"s3://npm-registry-packages"}},"1.34.0":{"name":"@bentwnghk/chat","version":"1.34.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"79e0b070beb1ace6ab07948ee1709632158ab15f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.0.tgz","fileCount":1543,"integrity":"sha512-kQyVnQfX7VKAjixB70b9eN8zxGsJ8Y2/+ceA0fKNRhN4snHZsPP9mFv3yfq0ZiFY6J3liDAPUVvq4c/A1nrRzQ==","signatures":[{"sig":"MEUCIBW4vhLAId3bP/ONpkRQQiQtvYqFbXXdmftginpMq0jJAiEAlWJvKjUFDqLajBHm0MqR6Y709piHTvC99Q2iQhO5DYc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6145486},"gitHead":"4274b71c6474a98361dabba5ab2740786ec1d739","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.8.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.5","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"6.4.2"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.0_1714925884656_0.3440088242623147","host":"s3://npm-registry-packages"}},"1.34.1":{"name":"@bentwnghk/chat","version":"1.34.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"db4b404057b59bdccbddd142aeea33ab6c088216","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.1.tgz","fileCount":1543,"integrity":"sha512-IoN/Sr4YdpMdS9kYPy11fz5gB0F45X/orO7EIVq1twM3gnQ7pdP8BNYcz2QVcdHgdcZ+xhgZKUUULmWGcCMcHg==","signatures":[{"sig":"MEUCIQD6NlaMRayBAb4Giibk7PLuORFlLbZwegPOtpS5Zcgp5wIgbIpVzSXZcUZrERHuQzXW12UD0rhQr4JNUwpJwxVCVtM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6146573},"gitHead":"e33fd03d5f9871f692313cbe2734f5a73f1136fb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@clerk/backend":"^1.1.1","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.1_1714950023823_0.5854966235274401","host":"s3://npm-registry-packages"}},"1.34.2":{"name":"@bentwnghk/chat","version":"1.34.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"42005b64c065cf7ed643d80fdf1d439734c8eced","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.2.tgz","fileCount":1543,"integrity":"sha512-ZVY0OXGaMwD5bcZde6D+85o17o20lvskhimvNETM+FGy+P1KyViRYls+M0dFnzY0ViJPzSXAZGczXlUImiuLXA==","signatures":[{"sig":"MEUCIQCwyKYE7fGVeRWOrgwOvxgcstStJsJ7HF5P60hJGA6xCQIgYlI9I+hl+46b0jBUx7ZeLzgWHxbqzyW8FabEyv2m8+U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6149063},"gitHead":"334a983b9c23fd66b38d1db6ababb7b840aaad8e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.2_1714961796320_0.9355539307647485","host":"s3://npm-registry-packages"}},"1.34.3":{"name":"@bentwnghk/chat","version":"1.34.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"495a354e69c449bf910d1736acb1ca5a360fc1ba","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.3.tgz","fileCount":1543,"integrity":"sha512-gJt56pliGvpqB8E9rAMUpC+z9xl8uGWNOhm1FPukIw5GjQKVzfR/w4qjdH6Dj9Qy9s0vlAkrS0mPUKWgmsQdYg==","signatures":[{"sig":"MEYCIQCl4kG+1G/hrkpYr9ZVzKd3gCWXrenHx0nAwjCJe/c1pwIhAMweDwaFSVz2ZdxjH1qLz7S18f9rY8dr4oPFUeZ99TBO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6149370},"gitHead":"77dd1be1cdad0064e2434140778b9cefcab8f511","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.3_1714963199378_0.27339577746548027","host":"s3://npm-registry-packages"}},"1.34.4":{"name":"@bentwnghk/chat","version":"1.34.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"5a5da308a06f1f0ff13045550ab7b43bcc9db16f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.4.tgz","fileCount":1543,"integrity":"sha512-vYrPSBz0Nb2iGxkVONybz0jNC3/IhwZ4cVEToCZ0uRBLIwIMQk/ifvEZgx/O9ftxydhdGnm5OjYqX5Kgm1EHKg==","signatures":[{"sig":"MEUCIAQnT0ZHI0uPZXXoaE4hk9eReQJnhfl7SfQpNuv6A6FeAiEAzWv20uxthB7SXGvwxVHov+mnAFzkG4zs0DGNRGx7xDQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6147949},"gitHead":"8b326dbc40f4e232aacf8e46aa7ead43598ac525","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.4_1714974272938_0.10329192943781162","host":"s3://npm-registry-packages"}},"1.34.5":{"name":"@bentwnghk/chat","version":"1.34.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"d8883b16a630697afaae86abd7318ec460b5f4ce","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.5.tgz","fileCount":1543,"integrity":"sha512-ND2P1bKUVJjqMM5C0T5XAye3c4/HiVTHktnUvlrHczBAzqpfSGCdcG0FkZrtjXLmT7R/l8qiO72Ia5WlwoLH9g==","signatures":[{"sig":"MEYCIQCfUJ4/kbCn420IKdSgpBGNYeAvtY03SwX8eLRTAG+vaQIhANa3IzFT8/xr8+iM0Kx57KFVPmvyOyYagAUYaalIwETe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6149368},"gitHead":"87493caa56dc430f378d0ce2cbd156a8af4d19d2","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.5_1714991205518_0.6577038132003044","host":"s3://npm-registry-packages"}},"1.34.6":{"name":"@bentwnghk/chat","version":"1.34.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"1a780ee0d22858ce89afbf04e08fb42c373813e8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.6.tgz","fileCount":1543,"integrity":"sha512-aCm3SUI/epx0XQh2RypCSG3371U3pWLo4IFEKKW0GmUWUIoT+ktV0HI6Mv9IkSKVtOIjNqK6ouD7Q+Y3rNUhDw==","signatures":[{"sig":"MEUCIBR0+wOA0ZDpW3qAI4AZpX2hjAt1vzoAraHVEhGZAYoDAiEAnnkvGsfy3xRYrtikPJmOXuxRnkzK+NqM4g90yA1AXXQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6150041},"gitHead":"8d5ba30440500ad941ba27f0801d15114a2d7263","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.6_1714997154616_0.9424996554420035","host":"s3://npm-registry-packages"}},"1.34.7":{"name":"@bentwnghk/chat","version":"1.34.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.34.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"6487eff086d0e350db4dd6fd86096d3ba603549b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.34.7.tgz","fileCount":1543,"integrity":"sha512-BON9h5hsGm8NttrM0ldV82hq69vQFnCC+dROqSFSJXa/8jPrSaIi3NHG2nJNuiYxHR/pGIp6nZYGzycxleRXXA==","signatures":[{"sig":"MEUCIDeNVEG4CCt4zTLVKh/82aFjfVosZlj2mR1kORRL/7K3AiEAvBjuI7cf7nVjwoaqRm/bEFZjvMXxS0UNJEIGwidnyrI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6152286},"gitHead":"64150645049bae9886d5c2b176aa713ebe16b40d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.34.7_1715052769826_0.7702970866790375","host":"s3://npm-registry-packages"}},"1.35.0":{"name":"@bentwnghk/chat","version":"1.35.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.35.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"f224d9335a27948bf3748eaee68e16823e1a0a78","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.35.0.tgz","fileCount":1544,"integrity":"sha512-PjHeTkJZz5F6LlQknbUrfkzQk7Rl+96jH1GD4RK3Ej/TVJ/Zhez1p17Hs6sZnczFVFyS19u6KTzVsuMvIkzF2A==","signatures":[{"sig":"MEUCIAsUWbOSxO1FspttgvoiiGclhF7pds198bjEr5Du92ZLAiEA/4cQtahVRk8mX/po4GaZstEvYo3e5rVnXTPWVkGC5a8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6161626},"gitHead":"23fa1fe2ce514325ebcf92be4163bb5e6c737a76","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.35.0_1715089330903_0.9987242211756935","host":"s3://npm-registry-packages"}},"1.35.1":{"name":"@bentwnghk/chat","version":"1.35.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.35.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"c73c95e58df3afd56aff06be6798a49a97f4b9cc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.35.1.tgz","fileCount":1544,"integrity":"sha512-TCjCUsmWZBXkprYyL3aPyYZsOL722Y/vMzP3MeunDdD+dHT8m84C5cMBkv4CO0YFGKNO5uBZxluUB3UodXSGwg==","signatures":[{"sig":"MEYCIQCcR/xciL4l1Euo1Aw/fu7Mcnhnl0VhUogIUxdzuUI7xQIhAIwMnhS7DTP9wB47+LgSt2vSgxLQKPeN0HMkc1eFKOKj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6164323},"gitHead":"a1f681a1bba7f429ed6051002aa40ca71496bdce","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.35.1_1715146571636_0.9526922521092978","host":"s3://npm-registry-packages"}},"1.35.2":{"name":"@bentwnghk/chat","version":"1.35.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.35.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"d65ad6e4bb7392159327e401a6f9611be2a0d427","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.35.2.tgz","fileCount":1545,"integrity":"sha512-JMiRtqFTgIGGKOziEB/cAW24o1lU6T4JUl0ZzytDIAQoM7SEhGCg2iMVzCSIdpD5w6LZEXnRGIs98mthHqrjqg==","signatures":[{"sig":"MEYCIQDE9U/IvNROxwFKySRGy095hKYrZzId9aX7DN/DTfP75wIhAOxYaeG+8EIMnlgDeIKAlE+IciQKYxhsHbQ3a6kGF7wb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6164965},"gitHead":"64cb6e3fbdf4e2da4216e524387e665edb00eabb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.35.2_1715161761914_0.37323508088870994","host":"s3://npm-registry-packages"}},"1.35.3":{"name":"@bentwnghk/chat","version":"1.35.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.35.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"e8fbf0c24b05e92a70d610ca5ddad266d3681172","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.35.3.tgz","fileCount":1550,"integrity":"sha512-iqKXfWj7lw6t25b9IyxMwyK/du9t+3tAGqkzVIYMOPWmgFUQPi47YNCht+iyszEn/eie7zKrKnDcM8/2FFR5Gw==","signatures":[{"sig":"MEUCIHwJ5uUnC1tfVat8Q+KNhl5Smigd4FwK+T2DbYdQkGRPAiEAvDUgK9LzzqrA5cSa+P2uYgsHvHnjbEX7Qo9+Hsjbm0A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6172250},"gitHead":"cb0efbbd10bea112940c32c5b9fe1e49da9bc0a1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"5.16.5","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.35.3_1715210377507_0.9319458979021671","host":"s3://npm-registry-packages"}},"1.35.4":{"name":"@bentwnghk/chat","version":"1.35.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.35.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"1b572a30832c9442443d73b71a28f868508d4b48","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.35.4.tgz","fileCount":1550,"integrity":"sha512-EmcLu/qGxen/oUM238aqNsoVw6DA30HDAVwAhCErPGUzkqLCLZGg+J/g/xiarQ2t5Or0O6GtLZk7em/Ea8Qf3A==","signatures":[{"sig":"MEUCIFBXlUCFGoP3Xl+Zym/dn1gtf8xRLWiY+M5q9llZQA0mAiEA63GzzOiDexG/07Vr6m+VZWPoEC6knRKqiUIJ7c9v6R0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6172717},"gitHead":"38a4e7975c2e5f91a32b40d28502394fa04eacbf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.35.4_1715231660216_0.011410525743271727","host":"s3://npm-registry-packages"}},"1.36.0":{"name":"@bentwnghk/chat","version":"1.36.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.36.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"35d06606406ebe51ed584ef10efc5446496ce76d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.36.0.tgz","fileCount":1550,"integrity":"sha512-44KHYOet5cf8EAwxKvxRWmX/QjRU7Q70mU+EKSSQwkBf/W0oNNKDPWIXIbuvKORct6KQ4jNV4FwIe29mOoi26g==","signatures":[{"sig":"MEYCIQDyAb7Mz3inBr5mXxEgEylUWBU4knz0Dpmsh5TZz0txvwIhAMmRFGnrV3CCtesyJGHrsbvi3EPtdoPUa+xPUssa9zVQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6166922},"gitHead":"b696fa33df8bbcdc58f7ef032e1c8b1b8809da3b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.36.0_1715297214007_0.9765859182468382","host":"s3://npm-registry-packages"}},"1.36.1":{"name":"@bentwnghk/chat","version":"1.36.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.36.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"dda64cb2215283df63a9baa99fd89024f47445f9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.36.1.tgz","fileCount":1550,"integrity":"sha512-SMVNfXAumSlI4NIoKLm/9aRk83LUqkFFgGKtMxypNhVtyRuKhxLTdUXmrzcAN7WUHYJUPbWtP80Ic/9S/++hdg==","signatures":[{"sig":"MEUCIGF/X7ZqrzvRpY+eIAsKaI3KOCwYSrVuHBcDZWbaBP5WAiEA5fhbf2By5ISjtgCG5f4g+RcpBAbsVKmaCLgISRquPNE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6169634},"gitHead":"fb52a96193ae8e79617d6780798c045636a0233f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.36.1_1715327588170_0.27248409155412157","host":"s3://npm-registry-packages"}},"1.36.2":{"name":"@bentwnghk/chat","version":"1.36.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.36.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"dd3f49b3a70a78311b6913eb388ca8ec7bd5d336","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.36.2.tgz","fileCount":1550,"integrity":"sha512-XF97WV8KmsDf4nKE8niwb4W3QlIN8s5IPYjhJTOsWg44nI4sb4BZfd/BYqE5/PftbfpB5F5re32FxmZltYrxiA==","signatures":[{"sig":"MEUCIQDOpuPrUKZ7LNGSDB21qq1P0G8QpFUAMJo41Cx5I39AkgIgCPP74QZfK55uF0Vm3crQ9SGJ1wElOo2JgqTWVF1YZLY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6170013},"gitHead":"6727fe2355436f6c93fdf5e5ce07545ea431876c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.18.0","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.36.2_1715336575792_0.47942875747933433","host":"s3://npm-registry-packages"}},"1.37.0":{"name":"@bentwnghk/chat","version":"1.37.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.37.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"3fa1382d0b1b3bf7a640ff19746d526f1b6a0e8a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.37.0.tgz","fileCount":1583,"integrity":"sha512-S/c3mSwGFSmZqM2Rg3tt8qnb7O01AHM/IieQPm2859IYPG/rC+9UVdBs8Uo0VFqlZgZrd9uGsuv9PNR7gTGTkg==","signatures":[{"sig":"MEYCIQC7mDgUTJnX+vTzLnVVB6BTT8TZcPR2Di/vhReN51GRdQIhAKuRl4JbCn9w7lbFZc3ZQULMlSNfrEiDuFafLPLZQESN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6635885},"gitHead":"648f5f468a423fe279f0c079616490e086b250de","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.5","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.2.4","next":"^14.2.3","nuqs":"^1.17.1","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.0","openai":"^4.39.0","remark":"^14.0.3","semver":"^7.6.0","ts-md5":"^1.3.1","i18next":"^23.11.3","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.8.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.130.1","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"^1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.6","@clerk/themes":"^2.0.0","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.8.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.112.2","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.6","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.4.1","@aws-sdk/client-bedrock-runtime":"^3.565.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.3","dpdm":"^3.14.0","glob":"^10.3.12","vite":"^5.2.10","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.7.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.0","@types/node":"^20.12.7","@types/uuid":"^9.0.8","@umijs/lint":"^4.1.10","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.1","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.0","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.6","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.6","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.37.0_1715474166445_0.5407824186748476","host":"s3://npm-registry-packages"}},"1.37.1":{"name":"@bentwnghk/chat","version":"1.37.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.37.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"74e8019a66c293002995ddb5d1f6116fbedad0ef","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.37.1.tgz","fileCount":1586,"integrity":"sha512-WV0pbkqU6OtLJ2LN55BJ40HyYTjH6p7mDbymrmXkY1pHmqUX/O4KJsl6OVsrBC8+PCDEX3FhbXDpplPnBBE79g==","signatures":[{"sig":"MEYCIQDc4xd5QgOyjN11JuIG8Po9/U8u5VcON8kCUZnMb5dx5QIhAKslHhrDcx8iWI1ZghoWB9fHKPKkSqMxJGsQYXnF42BB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6658856},"gitHead":"c64daf29a384fd5b74953f3a5265c5b2c9f21e11","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.10.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.37.1_1715511388949_0.8243091741110962","host":"s3://npm-registry-packages"}},"1.37.2":{"name":"@bentwnghk/chat","version":"1.37.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.37.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"2b85db4da2f696a57d8547e612c9b86b6c9e7f55","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.37.2.tgz","fileCount":1586,"integrity":"sha512-n+1vIHswGS/e9TpZAq557z1VK+pa5M5/lu+EDQnBuyA9eVo6ETM1VnNLWKwxCQUA53TGzzNmFjOkVHXu1FnlZQ==","signatures":[{"sig":"MEYCIQCFXYfbzhujOYEvF/6M9ay6XHNaUE3Z3C8xw6fqTebYNQIhAJji8FVUslcJTvVjnQVpurVrlYfHmzxYbzL7roq5kFGH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6664813},"gitHead":"9d473ea366196e290cda09a17fabd8711f19a736","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.37.2_1715589840753_0.755937150871024","host":"s3://npm-registry-packages"}},"1.38.0":{"name":"@bentwnghk/chat","version":"1.38.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.38.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"226c109093df2f63992ee51abbe0fb7b7d0c3d63","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.38.0.tgz","fileCount":1609,"integrity":"sha512-bCQ3WiHwynFYEk5suKVmhUlMN7+CInfFj8vRxWDywI6MJVeILj836/JBsbmGIzcreb5jgNtOQ7rJcbZ+ESp+8w==","signatures":[{"sig":"MEYCIQDi9VnAKvZ+ldUHd3X1WR5DMOkxi3GnCSPInev3QPS1ZwIhAIsGJbUB/5BHmwOXAQeXpskdFVNU/kmW5k8Z9qWNlSjb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6692441},"gitHead":"51f367dd2b96c10a6e8d6594742bf9698b781f5a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.38.0_1715603555175_0.9833162332506711","host":"s3://npm-registry-packages"}},"1.38.1":{"name":"@bentwnghk/chat","version":"1.38.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.38.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"b9e3efeee668f74fae4bded3f6743160891514e6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.38.1.tgz","fileCount":1637,"integrity":"sha512-yPplucnstTFMNdHPDiG04msxOOtdAxu+3jZagam24CwZf0O1JSoUF9mL2xwb/PuWJsTOgPG+H9spz0jUS1cpcA==","signatures":[{"sig":"MEYCIQC5W9UC9JSq2NTgqCfa5VcGlDaTW3oURBnIW8eDVyMM2AIhAOfH039QqeM445Q9/usWSw6rrpgFKfWWKvlpVsBgkG1A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7471177},"gitHead":"546df882a092ba3a75d1cf833facdd044d320e30","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.38.1_1715642016246_0.08879838116980965","host":"s3://npm-registry-packages"}},"1.39.0":{"name":"@bentwnghk/chat","version":"1.39.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.39.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"2647bc00d3e2b330df01409da876d614479a891c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.39.0.tgz","fileCount":1641,"integrity":"sha512-QWxLJGlEoJk1Z8v+lDGz100DWvSh5cAFxNdCEAc6Zm7kKILCJMokp7hh81OzzLsRd0SV6PNLNZa9V4xkkIQeqA==","signatures":[{"sig":"MEQCIFZSJ9CyT3Pccpcw3AKheX0HoulZoMaA0FP/wQ6kMN8dAiBgis9TRgU4p6krFPefNtAsHbo8QWp9dfmDmiEt6WOzMA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7503389},"gitHead":"94a62f265ab05dcb6567848a7138187b3fc0f6a8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.39.0_1715665228343_0.23559953900294106","host":"s3://npm-registry-packages"}},"1.39.1":{"name":"@bentwnghk/chat","version":"1.39.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.39.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"1918cacba031563f98e64c5ecc03d903244dee84","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.39.1.tgz","fileCount":1641,"integrity":"sha512-fhlmxyeEjpxCcv9FeMdoEDe0eSep03FZkMTOpefHBMQyORoZeNhE8Pm/fmLrQz5PhxZiShq7dvepEPMm1E5pyg==","signatures":[{"sig":"MEQCIGT1xa9uwyNiaix5HE7rDS6rcS+CEDHoP+/ErtgOOvWRAiBvTbz+x4jhjOxiBbkywH8ObhbUwHOBWdJVITUEAB653A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8236813},"gitHead":"784a87a39f03a91cfa9d40ed78207e501240cb0e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.39.1_1715677548379_0.4604494490179436","host":"s3://npm-registry-packages"}},"1.39.2":{"name":"@bentwnghk/chat","version":"1.39.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.39.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"09af92aaa32bf51a090e66925d327cc58b9a7d04","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.39.2.tgz","fileCount":1645,"integrity":"sha512-yVUoUwFAJTPjj6+bxaun+vPeqjRytS56Sz8bGzIgmgDBsT5pyynu1fFiZ83YapKfm/vsavPnKsDd2Jpw6m0BRw==","signatures":[{"sig":"MEQCIEGLFUHjGP3SLZq/x7lVo4ACvzJGcG0tOoRnTLfaLDxgAiBdnNSaG1CRvVuC16nkLLYNFMspRhXcN5fvNwPEk3Q57g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8246903},"gitHead":"1215f9f8ec52cc782e1cc58c1e1cb2b65873361e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.39.2_1715734777513_0.5659651724753894","host":"s3://npm-registry-packages"}},"1.39.3":{"name":"@bentwnghk/chat","version":"1.39.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.39.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"17759a9f610e0b866ea6270c9ac04b969618c473","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.39.3.tgz","fileCount":1645,"integrity":"sha512-zwuvz8KIUSqJ3vLajX4uw4mdHKZ4pUHSlM5gCe3N6ZphDUe6KgHv13f4dy9Fqk8vmRF9hZUjxr9NKyj/tXvvIw==","signatures":[{"sig":"MEQCIFSUJydLLH2Zc0IMTcXucFUMjj5WYf5nv1lO/JER/k87AiAr6eZisp7A6KMdlwxmaakSO8qDKUCD+AgYoCxqk6ZxXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8246487},"gitHead":"da34fa7a9ab88c691f870501d56d2959a423804a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.39.3_1715758925983_0.4422586875859329","host":"s3://npm-registry-packages"}},"1.39.4":{"name":"@bentwnghk/chat","version":"1.39.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.39.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"e54201be7690733a1a8c6d357eaf8d1dc515abe5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.39.4.tgz","fileCount":1645,"integrity":"sha512-q2nsMJz9gVInC1fR3C4Sk5KIrkdt+oC1NEOg3VJI5iobGFW4BCs4GFHyeGjNyxLl4WLSE7k/TeA43s0b4+twZQ==","signatures":[{"sig":"MEUCIQDOAqxQTPpcJ9M2YSweqm96vC8NsZCy3sTWn92JoxmCEAIgOiIExdkIs0F3H85E/lJT87uQ/dJZuKKNUuScCpmXgj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8246105},"gitHead":"efc7c9c3217496a38524a19b8e3a68eefd36d86f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.39.4_1715765315191_0.9747781432439246","host":"s3://npm-registry-packages"}},"1.39.5":{"name":"@bentwnghk/chat","version":"1.39.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.39.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"f6a7a9bb83383d099c1ecde47a83fa3ebeedc409","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.39.5.tgz","fileCount":1646,"integrity":"sha512-40T/xucdvFOjhXR9n59zz9iNL8uczDJp+dKNoCwcLEY7ERydPFxegaCPIrh33CJ5fAWA98QJ95QhMFnQ62DwSg==","signatures":[{"sig":"MEYCIQCB3JN1HuyN5WFLXrTnHzuZLdZzHv1CqRlRWhZ0eNEoTAIhAOjbHReGPTnLPE69CGmq1iicG1qdvLPWVYZnb7YpSKy0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8270948},"gitHead":"321696a7a106633baa6df3269b7f068bcba2fb06","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"5.17.0","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.39.5_1715814601862_0.3324675057001609","host":"s3://npm-registry-packages"}},"1.40.0":{"name":"@bentwnghk/chat","version":"1.40.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.40.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"5c1f28a51014a71a912ea4b1149d988e1331c36c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.40.0.tgz","fileCount":1657,"integrity":"sha512-CXBH20vJxkguNr01dGMxTCJP0w4cQbEg5ZDI9dgePpffnd/Z+9rDiPspCV8yhItq+TiiVmLVPSR1uv431BQZuA==","signatures":[{"sig":"MEUCIQD8y9t1HcIDC06uPZk+huHBCPgjwGa9qb2MbxvHyK/7hwIgQ304iOU48B0avjNhO0QNSJZbFs/L7IuKf003wFA4M8A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8290037},"gitHead":"9014b9a570fb973e8ec6d8c953ab00575874039d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.2","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.40.0_1716072466577_0.5812478241658319","host":"s3://npm-registry-packages"}},"1.40.1":{"name":"@bentwnghk/chat","version":"1.40.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.40.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"af4ac9c3b32fc2fff33b18629c58a96c8984f70d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.40.1.tgz","fileCount":1657,"integrity":"sha512-rskVoYxXAoZvCyvH80bHc387w8+EhtitD23ngx1QwL3+hPrWL1mQN0BxtOvPV0V3cP+e9VvHtbCYoaz3rgKPfA==","signatures":[{"sig":"MEQCIBv1GeIZr7GfZz9fDt2hw+A3HPzx0jjvZrAiMtnGRc/pAiBK8L+el++bdgdqU3OP8rWwUX1ZH+qz/prtQdmS9sjTKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8292078},"gitHead":"d1ca726a8f3bc1b916f6247fd49c40953a29c58a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.40.1_1716160052350_0.8352807205731789","host":"s3://npm-registry-packages"}},"1.40.2":{"name":"@bentwnghk/chat","version":"1.40.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.40.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"abac019cc56a2c7c5f78d444c24af3edcb2ad1cc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.40.2.tgz","fileCount":1657,"integrity":"sha512-OqESGBXwJt4E1S/Adq75v0MVf2MmZd4L55Ke9qwrRIbR4Q0n8DLl4Y29akEECWtb9r7fgMWNza2HtC5trf1fWQ==","signatures":[{"sig":"MEUCIG60JelztQZNyqDJkoELwuGbgGLhNP4aWqVQAXLp2uzuAiEA1StWcfea97MKTlfyGxugj3oY6UigcYbgis7yLBANH4I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8293124},"gitHead":"8cab34921da88e3f6bc3c9c28b2423dfeaa93a56","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"latest","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.40.2_1716185217152_0.6470354291794413","host":"s3://npm-registry-packages"}},"1.40.3":{"name":"@bentwnghk/chat","version":"1.40.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.40.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"a5027331e2bd226eb1b02c688d30326a24fcf4a0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.40.3.tgz","fileCount":1659,"integrity":"sha512-IOmf9rwJjo+Eqa8YmVAJHEdLPcMNQhZdQuc6T/KC1UiY54YsVtvIfzZUbKk40wQjk8i7JtPWT7lC6rhRe6J/Sw==","signatures":[{"sig":"MEUCIQCRJVjCsj56sU0JCy3SY1V0pKdjCAEQbLKT8KLV8OR6BwIgfwt2tSqNGKm5hrcMTS6LDqi4AEeFHMl3megvPBAjvwk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8297960},"gitHead":"044297e07a3c91fd603506ae0a295d0e14583725","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.21.0","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.40.3_1716191844065_0.4921597738608945","host":"s3://npm-registry-packages"}},"1.40.4":{"name":"@bentwnghk/chat","version":"1.40.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.40.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"302a60d64ca1452c33734d79cde982f265126f14","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.40.4.tgz","fileCount":1663,"integrity":"sha512-XXZn0UcU72CNmKydTSsy+760Vms/P+4FflCSyP3RAP7f5Jf3cl42jUZHeJmXDd3qre0We7H2OkG1TERF3AwtRg==","signatures":[{"sig":"MEYCIQCaWWPAboeb/EEj4MKgvkileZOLh7DdiM2SgkAUGeHaWAIhAODR5Dk9iXFEtcwySQnUmKXZvD1iPsTCFauoHpkK8tzZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8312482},"gitHead":"dd70b678b1707f8b66e6e9367412fad61a33b48b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.21.0","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.40.4_1716304686849_0.8046158937357881","host":"s3://npm-registry-packages"}},"1.41.0":{"name":"@bentwnghk/chat","version":"1.41.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"e7d61cf664dba43cecd31be5c8e1b716df176931","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.0.tgz","fileCount":1676,"integrity":"sha512-TdoapaNmypLV4p9BrxXJi4jaXW0mq4a6WfDcMtkaDSfwmv7YSZBs5lpTzy/fkxIq+b9NLAJlGPwAn9TAyHUrPQ==","signatures":[{"sig":"MEQCIFo1ktbYbvdOxU8jWw2CJK4ZB2K/f34drAIL+4Ii1gPEAiA6XD3yOpB2aZNhEmDcPNnXoGcG9L61Q7Fr4SDaBjnG/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8328394},"gitHead":"9cb4c911f83337e2d70cdeb7c1b845a7bc1675f0","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.2","pino":"^9.0.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.3","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.45.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.4","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.10.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.8","@clerk/themes":"^2.1.3","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.10.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.21.0","@sentry/nextjs":"^7.114.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.5.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.0","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.574.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.0","dpdm":"^3.14.0","glob":"^10.3.15","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.10.1","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.11","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.2","gray-matter":"^4.0.3","lint-staged":"^15.2.2","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.1","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.0_1716333033760_0.9738954645587874","host":"s3://npm-registry-packages"}},"1.41.1":{"name":"@bentwnghk/chat","version":"1.41.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"49c1461216b80f240196c26b400a26887592a9d3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.1.tgz","fileCount":1676,"integrity":"sha512-Navq9uO3tWsqhVQ87ecHPfYno46FtCe+uuxE6kP/5UfZI9122FcKOAHWDqvBbaDGE8649jTmIi3E92jgvk3IHg==","signatures":[{"sig":"MEYCIQDUccXWkob7NESfex8VHxcnUOF7t+Jo7/QFxtM7bmqTmwIhAOnKRKfOMzfUeo5yo81aS3RmMYtDCk7C0YskaZxrGQnz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8522712},"gitHead":"e75bfd31e00e0062ac2f1236b6f0750a52388be4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.1_1716374721626_0.5927262770640278","host":"s3://npm-registry-packages"}},"1.41.2":{"name":"@bentwnghk/chat","version":"1.41.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"c9a54a7e99e0748e89414f5b5e7a617109e0bf9d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.2.tgz","fileCount":1676,"integrity":"sha512-ruwQtaf6HPQdcVSg5qj0GFbLd2Hb8/YA1gQ7IpHFWOg4sniS7tn42TEh1J/zP6pFQlKpv8BlGdlXzwpj1tSP1w==","signatures":[{"sig":"MEUCIQDlcu1m0/VFsAsOS4sPcwK9vJSq5N798JHrTT+Vc9/8nwIgSA3c0D8oQqZwdHCB0EL+VeIXmg3JxCkb9pKbBwtkxiA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8524286},"gitHead":"e57aa7d2ef741e9cde74882ba6b75b4bd6a69b80","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.2_1716387550887_0.16359772722180943","host":"s3://npm-registry-packages"}},"1.41.3":{"name":"@bentwnghk/chat","version":"1.41.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"cdeab2dc5835e6bc946c9a40f12227f55258538d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.3.tgz","fileCount":1676,"integrity":"sha512-GV9QDeBrejKH9fyME67zHCpdglVKIi9T5JsusntCD4LvbnvaGVTMIy0SspQQOW+kfJ4eiCM/Z7D7lqy3HtIDEQ==","signatures":[{"sig":"MEUCIGVd3iso8dKjNnG07mtsUIW9o/D7zb2mbZn6VfyBZhdwAiEA32B87aUkL79iamZQy7PvwfuyZf59/zR90mUnnD6MyQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8524852},"gitHead":"01b6f6bd6fbb06903522b83e7a9a786bbd6a8edf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.3_1716391055258_0.9796782296854858","host":"s3://npm-registry-packages"}},"1.41.4":{"name":"@bentwnghk/chat","version":"1.41.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"c87dae270845d22adf1d34584936a1917d23228c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.4.tgz","fileCount":1679,"integrity":"sha512-2gvF4+Ls5mnO+3An6ZLxeNj9BpVhchPMMi1YN6soN5VOXgoToUCc80K0cHQG6xOJnPfur4+EHDhpJ/3mgv+6Ig==","signatures":[{"sig":"MEUCIEMEuNfCi7jPhYPk3eovmMz8vKr5JMl9gteNhrTdyUV8AiEAoznJxe7S9VPV4jEQFwfxrVXivG5PfKKOfgPWNaqBw4I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8536975},"gitHead":"74720c6266de0e76a62a5f7ef388c3f0e87506d4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.4_1716419766894_0.5039657837819367","host":"s3://npm-registry-packages"}},"1.41.5":{"name":"@bentwnghk/chat","version":"1.41.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"2b61a4a234e112a5c65e02b6c17c3251e939d028","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.5.tgz","fileCount":1683,"integrity":"sha512-0KRvSIAtWe9u4Gq0HkmyElyEzaEyqUjczh/mKeYMtomtxq6G1GnrG93gf+4HUSep1B0YfexZb2Ifihl5Hwr6dA==","signatures":[{"sig":"MEQCICCAe4djTevCTmBaNZjxsqNzGirP9goN+UenCgEHYqBsAiBDQu2HorFHuU3znF30ZwcFcD/B1jTH3Ik2LlZykVp10A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8556267},"gitHead":"04219e2e6f89403400fcd2fcb6844c9f68ff5858","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.5_1716477116839_0.16871202823315046","host":"s3://npm-registry-packages"}},"1.41.6":{"name":"@bentwnghk/chat","version":"1.41.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"89e6a5cb52f54f3e40d9f087e3093f7a868a18f7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.6.tgz","fileCount":1686,"integrity":"sha512-THF2nMSoqVg1pYjTLs7ALqdIZBDVnt8yEG4MTmkbhxUtoIgzX9hpYMrmoyd7pCsQcL+pl1+ZX2AqjWdUvRqSdg==","signatures":[{"sig":"MEUCIQD4nvcyMatSVw94usBHL/sGWgmp/ZrOOF5l2hNz9deVMQIgBtx64X7rHFWfc5OGhkZOnK2G3orvA4q+fOdKFcHmZ5g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8568436},"gitHead":"efdd7a8e25f39b16a85d8bfad91922ece882f4fe","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"latest","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@khmyznikov/pwa-install":"^0.3.9","@lobehub/chat-plugin-sdk":"latest","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"latest","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.6_1716505617716_0.5693174562518901","host":"s3://npm-registry-packages"}},"1.41.7":{"name":"@bentwnghk/chat","version":"1.41.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"9da380dc9fbdf924e74fae73ec48605986472da2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.7.tgz","fileCount":1686,"integrity":"sha512-CmxnXYgULWsr2nx2306XYNIGe5KPYauHnG56YagE44YnvhMFPb2LxzEEGgcfBZTYHmbPiy+6SzZD4kR+JDnVGQ==","signatures":[{"sig":"MEUCIQCm/WGP7z70ZRxXRuAwKwfxIAgweSs2Pgm4x+x86/K0HwIgd3D6ISFBFVQMcXrQ0L/zbDsS8cpJIMZjhEbzacUD1nc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8573847},"gitHead":"52d9142c5e40887d50f8d665b3a85883888dfec7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.7_1716552297666_0.42142429671212955","host":"s3://npm-registry-packages"}},"1.41.8":{"name":"@bentwnghk/chat","version":"1.41.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"b9a26c4f74db0884c322cc106bc0056ba42cfe76","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.8.tgz","fileCount":1686,"integrity":"sha512-0aFOd4t6VDOBuH1v7ml4/9WIRdvPff0L0Pt1cS8RB9Hntyy2JdohkNNfvmgwTyHkXP5HTBN82bkYrwjHLvvBWg==","signatures":[{"sig":"MEYCIQDXd/sDmExtAemZivDyahyV3D9IEXkO8ywNHtNvFQxYUwIhAIRc0LbCXXSZ8DcRrboZMfa2bYOay2e93fRSFOcB9Fkc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8578152},"gitHead":"fb1e996aaad8c00f8726b35e12e23dfba99a2f50","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.8_1716578633875_0.6404669166857122","host":"s3://npm-registry-packages"}},"1.41.9":{"name":"@bentwnghk/chat","version":"1.41.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"282401cc6d276147e667dc648965d6f0c3512909","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.9.tgz","fileCount":1696,"integrity":"sha512-Mfk7woQDQEOuyuQw9bmgod/knMNx6HRqX+NA2+/J2p5OWHDmHfKCpqOHLUSLvbNrwbVtabd+67rn+eiklHJbTQ==","signatures":[{"sig":"MEUCIESXk2z4Nf4tCRTaDwY7JdBHkGdbtjZeQUn8hZlKuESwAiEA2gp3KCM3VOaUJxEUjvTTaOPsML0HCI36bPKcNKKpcfU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8624715},"gitHead":"eaf8981a88586ce6364ef73b83f01c83c26ce8c8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.9_1716605132972_0.4457396755779832","host":"s3://npm-registry-packages"}},"1.41.10":{"name":"@bentwnghk/chat","version":"1.41.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"2da18ed250ac1f8e6c88803038a53b9268ff410d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.10.tgz","fileCount":1697,"integrity":"sha512-5RxxSJ66aioYnwbe4knjaYhMg5FtsNfby2AlWLgrzsXWLK/Rx3PW1cDTo9CFTN63CJQcKerMiC6GJtN9cxvmZw==","signatures":[{"sig":"MEYCIQCZuxYarF5q1Qfj1TibyilQYfyKifREsJFEY6MWPHQdnQIhAIh71lganhya4ldzItupwfr8wm3DNxqw1Gy5W2M2pbQH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8631245},"gitHead":"e218489c624713428f0881ab1705026dbd0bfbeb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.7.11","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.131.4","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.0.12","@clerk/themes":"^2.1.6","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.0","react-i18next":"^14.1.1","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.10","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.2.2","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.577.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.0","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.3","@vercel/speed-insights":"^1.0.10","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.577.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.577.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.10.5","dpdm":"^3.14.0","glob":"^10.3.16","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.4","@types/debug":"^4.1.12","@types/react":"^18.3.2","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.10_1716648803152_0.7539466653017652","host":"s3://npm-registry-packages"}},"1.41.11":{"name":"@bentwnghk/chat","version":"1.41.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"06cd0574c1010f66d7473526cdb439ea3238e32c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.11.tgz","fileCount":1697,"integrity":"sha512-3jaGhzK9INTuG2mHaIE3l9oKYUwklX4NDrRPqn3ORqpdfuGO2axUaGWEtzpxrm1dcvpGzkWDMkOo15nvSFJS8g==","signatures":[{"sig":"MEYCIQCsG6rZObPpRawNZCLEr1xRp6Wvct9kvnRPuf1Sxk1+0wIhAMjFEO4XKaUyZd+51EztFKCSpZs7ZgWoqJWdaIp+OH1d","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8631837},"gitHead":"fd5a5b02a49a93063c4eacf7f51429ccd74aadc3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"^14.1.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^5.0.2","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.11_1716722754627_0.8591495255696959","host":"s3://npm-registry-packages"}},"1.41.12":{"name":"@bentwnghk/chat","version":"1.41.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"356c4b54503eab7d0c3c7ef87b2d0d581cd947d4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.12.tgz","fileCount":1710,"integrity":"sha512-gR8EEJ4RbWOAM1j6TwxJ2acZa8Bz0MOwbTXDNxTK1duZqhmBeMXQt+t9+aR9cNDXi9n02bBAADVHkstmn9hWpg==","signatures":[{"sig":"MEUCIDmCalVLah2nf7ykWhfMJs79V1ic/S1afLDAqTRg1ytNAiEA4vQyctC9hKkv35Snt+8bEip5ixI9DkWwqJkxn6BrMxU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8663895},"gitHead":"8b268333b135096329dc039c7fddcbcbe27d86df","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"^14.1.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.20.9","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.12_1716777350755_0.8802797559678823","host":"s3://npm-registry-packages"}},"1.41.13":{"name":"@bentwnghk/chat","version":"1.41.13","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.41.13","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"309a76e4c31417c2add757f52cc6e472560d31c2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.41.13.tgz","fileCount":1710,"integrity":"sha512-tcNOkG4F2+mD1978T02JzAk5ORKP1AyoZLeekrSCcVhcpgfQeASUoqkvqC/nwAkCbsK1TUVS2KVz/cxACkMcYw==","signatures":[{"sig":"MEUCIAOAV12/GvPtbAEsWPnr9RiJ6F4OKrQcQy9lDP2o0jQpAiEAg3ygIrWVzOnEm3xLM+OsoEMeQTjD5EuTN6X6UZBLWWM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8665222},"gitHead":"641683d333ff49ca35152caecc6bd2e5f614b2b9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"^14.1.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.41.13_1716787565302_0.48590193004304694","host":"s3://npm-registry-packages"}},"1.42.0":{"name":"@bentwnghk/chat","version":"1.42.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"86f82a70928fb2611601697224a1fb61d39fe940","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.0.tgz","fileCount":1713,"integrity":"sha512-nOdTfa6U/ej46dMrxEk+XnEKoi4FyW018gVOGDHKRG0ilvJ912HJxkZqb2C821kZqYiwvebISnycF83t6AQ4Fw==","signatures":[{"sig":"MEUCIH+MVBu4zOfssjCqC89eyxFFqJD3F376d2cRryR8shK9AiEA8yov+pFVYbXrzrMYqMzj/zDgg7mJczIXYsUohuDnEfk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8673554},"gitHead":"03b9d036fbd2ea68332c08b0ef7b602e83660e91","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"^14.1.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.0_1716808413664_0.16668007146382213","host":"s3://npm-registry-packages"}},"1.42.1":{"name":"@bentwnghk/chat","version":"1.42.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"9b315a07a4a30cf350784b8ff8a8fda01fdcf8fc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.1.tgz","fileCount":1713,"integrity":"sha512-qZcHkvHA4LbxMBPetYs4jxnSClgF7aMNhnmAEpOHAifLJETqXmiqy6gLP3tOmou6FtJqya6609gITzaNZkDHpw==","signatures":[{"sig":"MEYCIQDLlICz2C1meuxKb1ezMBZJ582KKzGWeJ6hbDsB2TQa2AIhAN4bbMmLWOYQWmlvIj2u7bkkt1OB747X5ZgXDHUwvnDp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8679173},"gitHead":"e7a3770f71d3969425848c86c7cc46c24746fa97","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"^14.1.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.1_1716821278236_0.08056847205561768","host":"s3://npm-registry-packages"}},"1.42.2":{"name":"@bentwnghk/chat","version":"1.42.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"6ab46174037dd531c1e326434dee0375167e8cc3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.2.tgz","fileCount":1713,"integrity":"sha512-2i383aIlEDJptyMydGGTpzmFSmccmzfcirlTEa5b48v2fQ0Nl6vigD3dI6bAxdXF0tLG4va2lreR0GpKBPS9tw==","signatures":[{"sig":"MEQCIA1DDO1qqwTZ19oBgEY/+zdDifF+8TZgNQemt7DHo6NCAiAdBr2cyD/HqbYKL47CEZtms+J5YKOH5D+mf414QHuefA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8677696},"gitHead":"c48f4ab18e13bc5e318f9d9b3fdec74c8b5b7669","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.2","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.2_1716881725751_0.9463748883433367","host":"s3://npm-registry-packages"}},"1.42.3":{"name":"@bentwnghk/chat","version":"1.42.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"3362a1c923d8f135b79bb27203a1331a69acbbad","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.3.tgz","fileCount":1715,"integrity":"sha512-v1GYBnd3/UvUH4CDpK7iJzrv5LFUR4OVJmBpy+cyIVa1Epm6olnyLR2UafmmADcZk9XM4mACGCZjaQi6n7TfrA==","signatures":[{"sig":"MEQCIDZomk1JcMxns/sBRgtkh9z+VLY2qkTjxpFtGKtjfkbOAiA3nL127+Ud2cSfhEg7b8gKBRb9WUi33KD0mzr/CG1J8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8680962},"gitHead":"1974588e150722370964ea47e165f7c1106e9eae","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.3_1716902502937_0.9192924374772693","host":"s3://npm-registry-packages"}},"1.42.4":{"name":"@bentwnghk/chat","version":"1.42.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"3be881a689abf14cb1c39f71c2ebe93fc40d5276","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.4.tgz","fileCount":1721,"integrity":"sha512-ku6dITKpw0QKoOhOvr4cqdj/RR5zkoO6GnI/nvqB5fV8kNFEwZGlpdjkK8Nm3J90vZzfMUm+1RFt1gVXb0gzGg==","signatures":[{"sig":"MEYCIQCsxAIz+FHHQNa21i0sHPQ6SWGBk7CRGDF8wUWkf/ZnBQIhANkJv1kflPGcHrQn3Bb+uhX1ARpyQpnjLBm23b6FUmXo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8694787},"gitHead":"65f7e09e3ec362d714fcb0dae2001049b4ad8599","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.4_1716932802816_0.5271880281571286","host":"s3://npm-registry-packages"}},"1.42.5":{"name":"@bentwnghk/chat","version":"1.42.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"b86802a1947607c5c87f0f0f9443f30e5ebc2887","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.5.tgz","fileCount":1721,"integrity":"sha512-hpM2uouYtxLrISRhHx8tOZxIqKjXSDkuoYgg+5xZJ4tEQ+RazJiqTLBQHPLviSx7UtpzPTa/ewmRds/lE//xsg==","signatures":[{"sig":"MEYCIQDMb6+4jxbsU8EpsaRbuo/wp30qJaxFEFGuamcBYSUvmwIhAJuKF8JAcK9DwhYLQ9suoMCrpSkKmuES6P/3eAOFA8u9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8696763},"gitHead":"7d864eee291f1d47f683daaeb5c09feff6ea7d16","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.5_1716965270692_0.7738947163532328","host":"s3://npm-registry-packages"}},"1.42.6":{"name":"@bentwnghk/chat","version":"1.42.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"62ee5616ba5b9d5626b8ae3c1de1775fb04fa393","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.6.tgz","fileCount":1723,"integrity":"sha512-pgF3u3FS8U3liryvpEoNYFvVVZcteant6Xkg33h+VUz98rf6FqC4/eUC7qamKaGc2uIAcXX9b9aSNokAKFXJpQ==","signatures":[{"sig":"MEUCIAW8OYKG0w0ZuR7xZrTER0Bu++XylOMyZURYwhK6p21mAiEA+fx6lggzLlh7Dc3gjUK5D41Q03aaytZZAgdYXl1IMYc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8698014},"gitHead":"f86dd5f5321eaf13e84a0962af187e771c7ddffd","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.6_1717018643458_0.5262264724561083","host":"s3://npm-registry-packages"}},"1.42.7":{"name":"@bentwnghk/chat","version":"1.42.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"5d75a5a65ac71348c07c19d2bea9ee561e25040f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.7.tgz","fileCount":1723,"integrity":"sha512-H+FLig9mhtInTUhTZhZdlr8bkBkgQ+9RcsltpFuUC6w4Y+eX5vUTh7viQGLsrBGLGWz0+ATjBeVz3+4r+FX2mg==","signatures":[{"sig":"MEUCIQD1jFCAZQscb9Y1ALfGRMwWOnKyCWkkh4mODh3d5YkQAAIgKmfK7MoYXEWZlVwhvihoC8InkjxBR/KfEBv55JpromE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8699601},"gitHead":"fa321b1cc4d2101a081b3a3b9fbcd1194536a5e5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.7_1717155110900_0.9701434642821338","host":"s3://npm-registry-packages"}},"1.42.8":{"name":"@bentwnghk/chat","version":"1.42.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"1469c5304e01bdaed1175e21078fdc06c0c2eb34","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.8.tgz","fileCount":1730,"integrity":"sha512-rmiDjswSaTQQDJQW4cTlpYEVI67GgVDVwfSpkfNeo04aO1pGnDefjb7Symv08L1ZXh3sj6hWCxTV1a7CMqKK0A==","signatures":[{"sig":"MEUCIQDD+09IO1riP7SmYqNGQBJo49Q5wTejEWcTY3/MwhR9DQIgVPuhuFf5hxSjkOWVFyF8rTszYmHmzsS46GAjnCBcQbU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8721067},"gitHead":"17bd50ee3a400c25e9d84db328301b8305bcaaf9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.8_1717239694016_0.5754916549445968","host":"s3://npm-registry-packages"}},"1.42.9":{"name":"@bentwnghk/chat","version":"1.42.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"38c976388fdbd135cf13680a66c1107cb71b9820","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.9.tgz","fileCount":1730,"integrity":"sha512-SnGq1LITEdsA2wrS/x2OWkYMIW+YO6k0hkCNcc9UH0w4he66BvknY7nt+KrPcDTHtYGrWVnisBjbY26hTs/u4g==","signatures":[{"sig":"MEUCIQDHwDy/utguREs146vO7orumxxtIvEGkXxB4+FW4ltEPgIgL/NCvY2CAiHWXZ7SY1zfySzELLU8PUnIEHQS9XuijZg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8722562},"gitHead":"20a346427267fd691220af2f3c03a4ca35d5dd22","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.9_1717410527644_0.8656470532472971","host":"s3://npm-registry-packages"}},"1.42.10":{"name":"@bentwnghk/chat","version":"1.42.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"6ea68433856f67acacd5c832731114279bf2fea6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.10.tgz","fileCount":1730,"integrity":"sha512-G6Cg8vjMAGS2CSeM1tUxqtnMuhE7ns7IjMsdKUVZ2XdYC05BiSANg2puZS6yVbZvmJJpSeAFZzhaZGaftnKy7g==","signatures":[{"sig":"MEYCIQCZ4i8yvM1CBaCtWo0z3VCG5GFVoGSQ4DHf0gFLaVxT+QIhAOGeQuUIgOyE5WcTtYqu9saEViEDZ/SmrKvxJ6gsfu/o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8722569},"gitHead":"f5c740cc5826e49c68a1aa7b7402aa86013ce53c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.10_1717450696279_0.3274891712209116","host":"s3://npm-registry-packages"}},"1.42.11":{"name":"@bentwnghk/chat","version":"1.42.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"9f15dd4922555886430ff0ea4dff9a94152c28ab","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.11.tgz","fileCount":1730,"integrity":"sha512-B0tRj3XlGOf0Kr9A1hvn1U7PF0A4538x4DEKhGbpOGry8+lUIFzuItQFtiif23b1HeGNPgO89swRZl4ueMyb6Q==","signatures":[{"sig":"MEQCIDy8LPCP/RPeCf43123nOyLI2CqpEXstA9AXu/AXH9AZAiA+zCQ2kn5yPAci4JnvhQfpxp33Iu5oVa88fKTnIQnFUw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8722920},"gitHead":"dfc1c038204f71376f4aa4b87e9ae0bf048995d4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.14.0","tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.11_1717469780399_0.5099890237248774","host":"s3://npm-registry-packages"}},"1.42.12":{"name":"@bentwnghk/chat","version":"1.42.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"44f9ef4e481e12589b6322bab7da63d4d0585606","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.12.tgz","fileCount":1734,"integrity":"sha512-Y+u73kFswQ6S6OIOpp3rsfbeh80q9WqTpc9n3ica/GR0f1ArYVmBFMRtLeo17H6630WNcz2zEMRfn3A291I2Fg==","signatures":[{"sig":"MEUCIQDVUh/O5m8a/17bpe+fd9cAiDGEc9EdXOeP5NdqfeFyVAIgSobKjPgOZ8iqH5OenWv7lWvvA+PbLyOjQqZx5dst1KE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8754206},"gitHead":"89ddf3e2501acbbc6323bb1ffbf0604ee456e3ac","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"ajv":"8.14.0","tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.12_1717478949308_0.6714262695535895","host":"s3://npm-registry-packages"}},"1.42.13":{"name":"@bentwnghk/chat","version":"1.42.13","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.13","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"74fd92d79a84c1b5b707c0e7f013ebae8ae21af6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.13.tgz","fileCount":1724,"integrity":"sha512-5fcL9CnXbNImWFWo7mTTSdC2UuG4NUIYgn5T5g2/A8dL0+aZjXm2/DTxmn1n3dYI+m7ms6NJtJEuW/FXCabDcw==","signatures":[{"sig":"MEUCIQDxo+9CIsP8zm+jd3Q7ooCo4bW4s7AXT/bKbAUKJDfDKwIgHwYsz5tgeYUDnzXGyVwfoAEHuuGhP6TJZM0i1nN3kGg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8556094},"gitHead":"19dbadb750175c98dcef440f4f5f54b6c1d02bf5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.13_1717709860098_0.6864339206918155","host":"s3://npm-registry-packages"}},"1.42.14":{"name":"@bentwnghk/chat","version":"1.42.14","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.14","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"0787432b31a03a32ea1fc3a8bea5e20dbafc9e1d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.14.tgz","fileCount":1724,"integrity":"sha512-SaDTAS1Ii0BIz6IghNsGw062b++lTHh+bCZDO2NAqQ6G83N5AbuBayAThiA51lb2JTDZ1lhBguTDtmKwAJJs8A==","signatures":[{"sig":"MEQCICtInnsap2wdkHtMbkOWov1GSek2vRdhwAl9G/Egab1DAiBbeIYrrk5f/+NMuvIfwNgdytrHmP39qGOCjX/aXG4r9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8560182},"gitHead":"95a6d62f8399e011abf656d19b53de93c2cb93d5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.14_1717744172402_0.5808695233373629","host":"s3://npm-registry-packages"}},"1.42.15":{"name":"@bentwnghk/chat","version":"1.42.15","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.15","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"d854f24df6475dcaf9c2b5e6d4648712c83aca17","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.15.tgz","fileCount":1725,"integrity":"sha512-pDt++1x7yNS0CVk1hc1Zz9TrjggE2AnpG4NdvlMzF1AGqBTOQy14UbA0b6He/vCoTCEb6xBQJ8KfiG2+U3S0Hw==","signatures":[{"sig":"MEQCIDl4A9F+nugHfZC+cKWm0NJF+9fBxzWf73YnapxLft4YAiAP1gq+3VmvkJuracy+8Rapx6Zl2qoG/xwH5lve5lWeQQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8561619},"gitHead":"c3e70a292b24822b80f916a151886153e521f264","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^15.0.7","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.15_1717833861616_0.3062807909160479","host":"s3://npm-registry-packages"}},"1.42.16":{"name":"@bentwnghk/chat","version":"1.42.16","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.16","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"f72697b75e4374b59ce857d0b83d54b0e4ece3bc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.16.tgz","fileCount":1725,"integrity":"sha512-DSZHCHlm76208jGKCXvEoQ1MHFDZkcpCbKomddvC9YXMU7jwqH+OOlShI6kxpWd/krWTsmEjXQ3Mn7QHMb9AdA==","signatures":[{"sig":"MEUCIQC0sPzkrjNwnBqsaFoGL6ofHnC75+vTljZEgBZkao2xqwIgck5QPYaZV4tURNW5JsBuOVTQqeWYB2BlMC8W0HRBPCM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8563080},"gitHead":"5d4bae1359222ecfce8e9f7371da84f581bb45b8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.16_1717930894249_0.16310300737445882","host":"s3://npm-registry-packages"}},"1.42.17":{"name":"@bentwnghk/chat","version":"1.42.17","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.17","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"17b88a6f8676e9437482deecce183fb5a9603e49","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.17.tgz","fileCount":1725,"integrity":"sha512-BK6etdY2bVTcLpEAoCnt/Z1IXAVXhdTJEvE97u3BCOxYaEvn/Idc1hv38Gjj59x8zPVq5ASr8yMBeXDKhQE4vg==","signatures":[{"sig":"MEYCIQDzG10sMHHzBqGrLhaYs1bLU/0d1986MvmZkhE+ZCOaPQIhAIBH9YFHQwECcUYFXq6IA+g6shJw+V7dC1bz4GyVT/YE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8565986},"gitHead":"c5eefa804a0f31022cd8445bbe379012e1c3bf3d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.17_1718163250402_0.9711627722587628","host":"s3://npm-registry-packages"}},"1.42.18":{"name":"@bentwnghk/chat","version":"1.42.18","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.18","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"9fca6e452c4351df4e5a87b22f1e2bdfb5638e1e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.18.tgz","fileCount":1731,"integrity":"sha512-T1qZ9DjotKBitiPHJK607iSODde95YYyqhfQWAPwRU7mXJS6G2VIEgWk8Dvs9fX3DrDlaZtT1vObMxqhSDVOrg==","signatures":[{"sig":"MEUCIA7foyo4m7ByE/8ENCMOtvsADKjTAaoO31CDjie2GPTeAiEA5paqdyX8VeG9ljgfGVxPEJ1nmye9WFFbpTmYxGBABk0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8842099},"gitHead":"0fb4c6d5fccf10dee398ec827cc0a66b7c78c5b2","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^9.0.1","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.18_1718356904477_0.7254350116617352","host":"s3://npm-registry-packages"}},"1.42.19":{"name":"@bentwnghk/chat","version":"1.42.19","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.42.19","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"6193cc5b119c012fc0e9f73c62e5e868cabe90c5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.42.19.tgz","fileCount":1732,"integrity":"sha512-uoW0J5DHDHYy9/hTHRqmUevECS2cMw2s8OqYOaIhJHKg6C6A1TUHt1fK1SyVs6+B98TKGEAAjyyqWvN7MWyz7A==","signatures":[{"sig":"MEUCIQCS6423K5durnlf3mLDS3C9IFP2aKnewtKmuMN/uCflKAIgdZLUcMagDZGPHLCW61wwQGR26XtCUUlz4w98aUCdTrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8852476},"gitHead":"8168d87de206cf5f98520a1f47a778e955031827","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"vitest","build":"next build","start":"next start","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","test:coverage":"vitest run --coverage","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.42.19_1718541163738_0.7839836414096433","host":"s3://npm-registry-packages"}},"1.43.0":{"name":"@bentwnghk/chat","version":"1.43.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"8290752918693e3cc31af03f7a6d84c14f8005f5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.0.tgz","fileCount":1793,"integrity":"sha512-BvrYlk64JEe+L4qHWS7Xqsyk/VzJxnzBkaccJOhz00Rz22cb33YJY4LBEHZuNVj81iSgpvZuBBDBye1m0rewLg==","signatures":[{"sig":"MEQCIG7m7XDcFti0sYW9Rc8L9JPr8+yaKUK4nVp6ADyYiTuNAiBf9LbzWXWBvFfOJbjWq6gbAqtUUDwDatcXWDpp9DTCuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11763369},"gitHead":"0e03e192b4f6c69b8c13af4545b28a9561a52dd6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.4","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.22.1","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.0_1718622073318_0.3019419169635096","host":"s3://npm-registry-packages"}},"1.43.1":{"name":"@bentwnghk/chat","version":"1.43.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"409c41ca04b2a10165dbc507ccad8d937527332c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.1.tgz","fileCount":1796,"integrity":"sha512-MsD6fZN/grhwll4Zy5bPFr2ZZH460+TGTb31xiyU+yGzE/kKyubVgccfkFrHFrwUYJjZY8vk6lVTxpQykOVOGg==","signatures":[{"sig":"MEQCIATW0QeusCz7KKK+8c5TFbpp83dxfqDjiCGyDhaLGGYnAiB3joNq0aQ9o1bF7fKvQdU8ddOxOQ8oeIuoZPC8tmsqnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11781999},"gitHead":"65103e4eb507ee37f21b8475508c60e745cf0e3e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.1_1718667884258_0.36918117380043336","host":"s3://npm-registry-packages"}},"1.43.2":{"name":"@bentwnghk/chat","version":"1.43.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"5809d4ec6ed2202aa2c8037bea3b401a9170c787","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.2.tgz","fileCount":1796,"integrity":"sha512-cjc4c1O0TMZdOTmpST8rNYgcFQDpRISz1QBFiyz7efSbxMAmZxT8WBUxmaOW6QyZwQkir4uK0uJTKww45XNOJA==","signatures":[{"sig":"MEUCICcXKy0kZG3PEtHGdjeF3Pfk5u0j1DGmnITXpidzKjCAAiEAg5Bm+qKRmR514Xjuf4uOaMosN3ZewFYDSZ7W6M9jkWE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11781042},"gitHead":"122bd899dcc387f90dd84e55bae52e227960e4f3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.2_1718692746498_0.9593087481110909","host":"s3://npm-registry-packages"}},"1.43.3":{"name":"@bentwnghk/chat","version":"1.43.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"5e82b2620a171e84bcf7ed0c825710efaf178459","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.3.tgz","fileCount":1802,"integrity":"sha512-Q1RFLHNYD5rpqkdNMzaRGX4Qgb7N1fXT8AVSf8+Pl3A55UD7rwa/01bor2q+G8Nwxl5H8nVGWOPU40FEWBwb8w==","signatures":[{"sig":"MEUCIQDW/1XzmEF6Rdp5htk33l4ra+6X7fDIrfo3vIKmSamEcwIgcdy5SMaQbGov0Oc+N+QbWg1eo9f9Bt+VSFT0mMcG9TA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11828965},"gitHead":"adc2ae26ed86a62739aecab0605419b01a31f13b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.11.4","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.3_1718720924290_0.7617695167369785","host":"s3://npm-registry-packages"}},"1.43.4":{"name":"@bentwnghk/chat","version":"1.43.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"588936ffc85ab388ca6d675e1233910d9f241a04","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.4.tgz","fileCount":1802,"integrity":"sha512-oORqOEFm4WkyWOFlz7KvcAiI4Z5kyEqkepIsSOBEypM5QGNDtF4pZuvtnVMPgDBxzPIj3zjruPm4zsWQvqHWZg==","signatures":[{"sig":"MEUCIQCu58/BrGIZnqaXoZOFV5MH3HjAS44OB3i4jErIil8CiQIgPgA5iTpEONVENfwHym4umx+hOJLbrIiyi6Mjnn+2qhM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11831679},"gitHead":"f712609f7b45d73b9ae0cd13313e89098066165b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.4_1718779751782_0.22105383281411983","host":"s3://npm-registry-packages"}},"1.43.5":{"name":"@bentwnghk/chat","version":"1.43.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"c467a723f5e73da3b2d596c2441e90ba25945ffd","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.5.tgz","fileCount":1802,"integrity":"sha512-76G9x/FGAqcm/6GetJKAFQxdEANRI5EGYuGJYGIMOr1aCopiDEwT8LnqsBYL8Ag/xAq1IO02sxy90QUb3g6eqA==","signatures":[{"sig":"MEUCIGE8ihOen3vpnWx0+QEUoSO+8bDzB3kO1ROnUWHAQv0hAiEAjB95A036leadV6Pu0mAIJ/g5MXp0Nh2bjHdHoPREMV8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11832966},"gitHead":"76a522a9f75add876ffb96fe51b95a99b23d7633","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.5_1718792985181_0.18431465225570332","host":"s3://npm-registry-packages"}},"1.43.6":{"name":"@bentwnghk/chat","version":"1.43.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"1c37577d6f17c591dc8e8be563aa881f7d765d53","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.6.tgz","fileCount":1807,"integrity":"sha512-iTpJP/WRVO9ZJcdon500HJsBxC/JFsO0GIHwvTFlfQumAMHoi4L2A26wRXsg+dsPigWProgB3H8d1MuOa3WK6Q==","signatures":[{"sig":"MEYCIQC+lxi6tjjN1RxF4BAn9Yyj2bD3Tq5JRo3pveziDVRpbgIhALuUQD8rUuBaYRuVbSEqx45N4/rzJ4xxwoaqh5GslWTK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11844975},"gitHead":"76f61a893659d78f96529e4be42d1dcefe9d9764","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.21.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.6_1718805983464_0.12645102607967518","host":"s3://npm-registry-packages"}},"1.43.7":{"name":"@bentwnghk/chat","version":"1.43.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.43.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"860bf6166e96c3f7283ea6c2965fc67456391904","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.43.7.tgz","fileCount":1810,"integrity":"sha512-pVZsg1K8ntGQVDLo1wuFgLPc00D0o8VJLAUODBOfvLwWGbZxU5KbupbP+AjRGb3ZEUGRjP7n3MpZLTMLdaB0lA==","signatures":[{"sig":"MEUCIE8pY32KGxoZVhJ7iZo7BFosoTsW5EqMM8e8q6LNKLvGAiEAqctQlEG1Znr/77O7Cz7DSy0elrcK2oRP2qN5BelTfMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11848261},"gitHead":"2bc3fccc0c39e8ebf5f24f28d0d3a1da2d5ce94a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run workflow:mdx && npm run lint:mdx","lint:mdx":"eslint \"{contributing,docs}/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run workflow:docs && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.11.5","ws":"^8.17.0","swr":"^2.2.5","yjs":"^13.6.15","zod":"^3.23.8","antd":"^5.17.3","diff":"^5.2.0","jose":"^5.3.0","next":"^14.2.3","nuqs":"^1.17.4","pino":"^9.1.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.2","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.1","openai":"^4.47.1","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.11.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.135.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.0","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.37","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.2","@clerk/themes":"^2.1.7","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.11.1","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.116.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.23.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.583.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.3","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.11","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.583.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.583.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.11.0","dpdm":"^3.14.0","glob":"^10.4.1","vite":"^5.2.11","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.4","node-gyp":"^10.1.0","prettier":"^3.2.5","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.11.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.4.5","@types/diff":"^5.2.1","@types/node":"^20.12.12","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.5","drizzle-kit":"^0.21.1","gray-matter":"^4.0.3","lint-staged":"^15.2.5","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.4","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.4.6","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.3","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.3","@testing-library/jest-dom":"^6.4.5"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.43.7_1718832966234_0.48803441610584053","host":"s3://npm-registry-packages"}},"1.44.0":{"name":"@bentwnghk/chat","version":"1.44.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.0","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"cb7836757085be69e1769b4163995f887a7b1fd4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.0.tgz","fileCount":1844,"integrity":"sha512-vP9bmc+p/zyTr3h2CrWL8fESPkB/T9W+2YVZSKrBHNyi/PTM2ofGXhNiCiE/T+VLaOV0J/8qCBnAMIODfJty0w==","signatures":[{"sig":"MEQCIGbM24aXqvKX7/anAh3pFf16KhQhTp8rqxfx/SnWh0IQAiAOFrRTgbnuheGhckJpIvsKcvzu+WcQPHVttGToDXlGXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11939920},"gitHead":"ed867f36c23f13649d64670c4bb83a3f0a03de21","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.0_1718927598205_0.05688909569823952","host":"s3://npm-registry-packages"}},"1.44.1":{"name":"@bentwnghk/chat","version":"1.44.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.1","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"22cb881532c16cdd845aab611899219e5aa84aab","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.1.tgz","fileCount":1844,"integrity":"sha512-wEnrehnhTFj+BlCaYMINcgRrfHOjsr2LLGT5ZN2EzdKvuFMKx3rpDg+gI9EGQuUXjSRMDnC2YHVz9mWN4ad9gw==","signatures":[{"sig":"MEUCIERz2d6BULLbuiPf7ICCt7tXNmezsw7e23ShJehVPXhrAiEA1nzxOaPlCLRPcXHF5MgG2aT6Y7KIaVRWGKdkdeHWeg8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11942156},"gitHead":"86b279ed1cecf2eb06c52f8dd1c84ec642613d92","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.30.10","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.1_1718967227391_0.33265042044337934","host":"s3://npm-registry-packages"}},"1.44.2":{"name":"@bentwnghk/chat","version":"1.44.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.2","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"9930e4390f9bc9b7bcaacbb95b847d296254ef54","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.2.tgz","fileCount":1854,"integrity":"sha512-I3xSnXBegORWIlxU6BF929x+mJYkG2udZrPWuvBOmyVjBMzITUbvA2uzP2i26skjkuwb3reE6STTAKyk8ADUEA==","signatures":[{"sig":"MEYCIQDjoRvfuZmz8QpjYKaHpbe2C6g7TSkQHNp4bpCe6UXd6AIhALePxYEhByo8MSM8Ugbsp5XcCCUjsMIGetUIoIf0sdPC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12036347},"gitHead":"a3342929aea77008ecbb64bace51d691f05b6ab7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^9.0.8","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.2_1719092057508_0.5072453295973471","host":"s3://npm-registry-packages"}},"1.44.3":{"name":"@bentwnghk/chat","version":"1.44.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.3","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"9c9dd68be645fb3dc5e71be2bb853999f7096dad","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.3.tgz","fileCount":1860,"integrity":"sha512-EbbUPKZbInDSHDtRyTiV0G7WzkkNjyyhCYWDwSH2wmEtns4KHDVEfx+KAHrU8MxpgiOZ6r/84Ql79yetfbfJIA==","signatures":[{"sig":"MEUCIFimZ2WJLy8O+4rMlBs7ClwYYTbDbaW3aqZkJNNRG3IWAiEAzFsiIs2KqiM1MCdNVtAj0ROjRdyEa0hgRYfmpd8nioY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12086203},"gitHead":"b65d67e39f7d42dfd954c826be04854160b5f300","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.3_1719136564414_0.7386737496234055","host":"s3://npm-registry-packages"}},"1.44.4":{"name":"@bentwnghk/chat","version":"1.44.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.4","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"e3f2872c188a3673117968f9e6e00565075a8bf0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.4.tgz","fileCount":1860,"integrity":"sha512-AUDiOxLIDMw6bb1pVexEAd3GcUJWBckUpHqtaxGOfKfEVvaAtK09MzVB/WfEOVeVye0lA1elM4n08f3yqZG51Q==","signatures":[{"sig":"MEUCIQD6eXMqSuAAMU1ljKPOnPwjaeIdK31Cqyt7AmqeMZNdwAIgHVymVTXXJHfw8iVDr5KWeNB0CPVLPe815HRTN2oLUPE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12090444},"gitHead":"2d9fcb403f9f84b59b8dd21492a0759f37175b19","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"3.0.19","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.4_1719223507588_0.09884188829503748","host":"s3://npm-registry-packages"}},"1.44.5":{"name":"@bentwnghk/chat","version":"1.44.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.5","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"4f85da1a86be897fb92614a2862b8666b27a7b28","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.5.tgz","fileCount":1861,"integrity":"sha512-tDObpUfn0m/BnSQQItP+3VCBJSVb3yUuvM9kbCO9N8w1P1AM/LKdSSxf3yWTIbqUQnvFCop2rQ9C/xoIpekx2Q==","signatures":[{"sig":"MEQCIA50wLsXwb9kM8F5442nu0/LQ0mOkS5+BeThxRGOBWz+AiBQgXzQIZLufTso0NBFlSI7x0OsnqyjoJAh8Zn3xsoybA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12148564},"gitHead":"90cc7b321a7dcdf3b6ab03d50e60d3ee6296b3b5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.5_1719265688276_0.8721911711589396","host":"s3://npm-registry-packages"}},"1.44.6":{"name":"@bentwnghk/chat","version":"1.44.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.6","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"5a5aabfe3cedc14a9ca34f6b4aaee2df2c956085","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.6.tgz","fileCount":1861,"integrity":"sha512-rNOZFQ3hQguqEv7j3uO1xKW0XM8NhPFytPJycVvWsYLOOqrQbLKHoL8+Ssxl3OYC3D82cTRxYHPn9YIQadIByA==","signatures":[{"sig":"MEUCIQDtvZdXG1PkDWyRsNFlKoVKXRzqEDgNzsP8RJXMOIqE2QIgXuWx9m305UIGi11iWrExE6N/cmyF9lusxcPD8CwYCJw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12150996},"gitHead":"1c7ff1dcf7cffee3e4eb811c599eb142f8cc3453","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.6_1719326209947_0.6315353850290415","host":"s3://npm-registry-packages"}},"1.44.7":{"name":"@bentwnghk/chat","version":"1.44.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.7","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"92b2907dfb5e49dcf9739435fa4451e7f9bb5756","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.7.tgz","fileCount":1863,"integrity":"sha512-Ai7FyQTwW8wJ7Uw+hzRHEXChCKgVL6kfCQ3DfWhVKMM6MG9Lx8kiZN+CmupzGZm7YERGXMglTsYUGdEUgoNCkA==","signatures":[{"sig":"MEUCIDtuCYt+r3imtdZdxveThm6Av+HdCiorSi72t2Vl6f05AiEAkMAUZQMATKPRz/2hLFH+meUKJT0X+OozzNx+Rzxx5PA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12170507},"gitHead":"3bf0ac99780d2efdcef6c51280542574b93154aa","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.7_1719406314731_0.9449529005031745","host":"s3://npm-registry-packages"}},"1.44.8":{"name":"@bentwnghk/chat","version":"1.44.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.8","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"c4e5ee1bf83922d31c506b085f73d4d6e8bb9724","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.8.tgz","fileCount":1863,"integrity":"sha512-AoxvD9g7fo2WWYqXXK5wMo62E0oMYyslvbpKpptY6KQ9F5FEiGGeDPqr8OhDqL9dagOIXDNJGYcz/EQ10tJymA==","signatures":[{"sig":"MEYCIQC99CRxS5SuBYMp5ExQVgCf8JrVBfSqPFNaNU7NqFtC2QIhAJOAdTt5o3dpIraTbnedxNo28ju1GmfvsBc6flFOjrU+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12171081},"gitHead":"af481c83c61c33b99d11f6990d9f62b78fdc59eb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.8_1719489174724_0.20933559469535035","host":"s3://npm-registry-packages"}},"1.44.9":{"name":"@bentwnghk/chat","version":"1.44.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.9","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"7c660fbdcae6bfac43329ba563e741ba61c5aaf0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.9.tgz","fileCount":1863,"integrity":"sha512-LUlA6pudSMzPIu0Nbk7XGnyfUgyiHsA5/xEbfpaCji8QrSLx6TMjVikkBgOI8W0MI6Q4tB3CD29nBeAC2icy8w==","signatures":[{"sig":"MEQCIAbXSjiMrJKtiPQZifA4iFmZXrxFlA7XSHV6Kjlh1r4/AiAZ2zCHbOtQEkRo+GLHidRfEkJaXY/5DCh1s/quJ46V6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12181846},"gitHead":"bc8017eda27976906b52f53e4f2bfaf29bcd80ff","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.9_1719498749985_0.3029596002905943","host":"s3://npm-registry-packages"}},"1.44.10":{"name":"@bentwnghk/chat","version":"1.44.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.10","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"b3dfa05c30c70ce715f051a188aea8ffdab83f61","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.10.tgz","fileCount":1863,"integrity":"sha512-FwkcjUwr3d/xZ040qnqJebA0RX97MsVBP3f/IXsz0nTYF+ANHplJJbcFBxefvM2k33/qo/4A1Y7kb7tH9Refkg==","signatures":[{"sig":"MEUCIQDSyyEu4nRTWoUnfP+FKwAbO8FiTtMq282h81P5ATEt/AIgCBceK8qM9PZh+yJSlCthGW8S05ZW3UsdF3BFfSSihDA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12182482},"gitHead":"6822c5baf4f4f8b560ac429eb2c41dd89f73a9a1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.10_1719575805027_0.4859097120917355","host":"s3://npm-registry-packages"}},"1.44.11":{"name":"@bentwnghk/chat","version":"1.44.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.11","homepage":"https://ai.mister5.net/","bugs":{"url":"https://mr5drive.com/"},"dist":{"shasum":"fb0f45485e77f2ce3ab5e8c6e3962664ecb70d67","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.11.tgz","fileCount":1863,"integrity":"sha512-oJgJ8i9gn5KB0w7JA/HzFCz2o/OefysseOj5s4fMB4LkLVWsjeFBtRuIUSiNtb2cEuXptvt6XxSOm5B3BBjLIw==","signatures":[{"sig":"MEQCHzOD6rXX+9CoMNus1FLqpOHNIokitjJjIPm5mm4bvz8CIQDXJ1DZ4mSGAMUF89zWqQ8zXhRMFXVVoQS6uGwbiauA9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12183010},"gitHead":"b4e464c88c8fd37eb257524cef2f85d235111492","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.11_1719725537536_0.8767831692178756","host":"s3://npm-registry-packages"}},"1.44.12":{"name":"@bentwnghk/chat","version":"1.44.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.44.12","homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"0d3a1995e3e967409992c508a86e2cdf7f346636","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.44.12.tgz","fileCount":1904,"integrity":"sha512-2QTXbpebO9GzLnXshtclBRHkmsvK3jcG2eNsy5Ud/j8OoKKR6UyKUnkgUtdLzuFneKxog0b/autmT/BRJemSxg==","signatures":[{"sig":"MEYCIQCWjf2cMsDdFJDQccpICVa4W0pueB7WVDuOGQGArgDw9AIhAJVM5EaYGaWastAliVjpK1C1ZoK/6NGFfWcVJ+68xsmu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12241952},"gitHead":"f50fba3cc85ade9cbcee8dd7e4151b165f999533","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.44.12_1719831092757_0.8836130151732717","host":"s3://npm-registry-packages"}},"1.45.0":{"name":"@bentwnghk/chat","version":"1.45.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.0","homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"7aac31eefab88417857428bbfe6b5d3beaa71dd6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.0.tgz","fileCount":1907,"integrity":"sha512-wJ0WHs4nl5/ZENd9n40sZ0ha1xEHWITiFlJNKvMlhb47Ny/Mon3Yaq9WPZSH01X7ienrwM6RdEmVbiunpazREQ==","signatures":[{"sig":"MEYCIQDjks8PvStW8HNXF+XMzPsGCnhVrcKvBjKqsi8kPZMcTgIhAMxymQiLPl0mjxPlg85dieAWbDNSJT6jdtyv9zl0tUYe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12255314},"gitHead":"95a75f011bb7d795c261a94ef56d940d91a7e78f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.23.0","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","@umijs/lint":"^4.2.13","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.23.4","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.0_1719838930466_0.8509664823985086","host":"s3://npm-registry-packages"}},"1.45.1":{"name":"@bentwnghk/chat","version":"1.45.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.1","homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"9abe829014f5663df097fe36cb4162ca49107f67","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.1.tgz","fileCount":1906,"integrity":"sha512-1bNftlKvRHJRr+v6mdwYo/7kY74xnDy1U2K4Ks/SvCYMRpL8PlguE3kqytymQ7bm4CBWrwY7vHX/X0ZRCser5Q==","signatures":[{"sig":"MEUCIQDKgzIlD+E67ueGswMgUCCNA/bjgXptxWTb2asNZPGcpAIgasarTjqYIxn5eOjxZuS22HpugHyztaNyw1kvMU56TFY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12261844},"gitHead":"cb930d554faee6dbfc5df107f26b6193c6e7d57b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{js,jsx,mjs,cjs}":["prettier --write","stylelint --fix","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.1_1719869941084_0.23861997748517183","host":"s3://npm-registry-packages"}},"1.45.2":{"name":"@bentwnghk/chat","version":"1.45.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.2","homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"7bcba4b5abc8c059e4bfd1d65e15f49b76aa1cc9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.2.tgz","fileCount":1906,"integrity":"sha512-BAdDeo/TJH/2MF2LgGhke94F6nUDb3xMmUSnTBLu7rvLpD9OgZ2uHolM/nTVvpX32d21eb731d85fr/lhG28DQ==","signatures":[{"sig":"MEUCIA4olE7dHTSCA3YeAdHeCZF8RRh7/x1v/nS9XfOxqLcRAiEAiZO14GhAVgW0jJ1VoC5Csu8n58mIcJBb7Nv+c2LNLkw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12262746},"gitHead":"3cce57065fcf6cac23b2781a1cf1b994ac3dca61","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.2_1719926084841_0.45368604026623416","host":"s3://npm-registry-packages"}},"1.45.3":{"name":"@bentwnghk/chat","version":"1.45.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"c1ac236d3bdaff6fc492416f9a5c822dcc740d7c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.3.tgz","fileCount":1906,"integrity":"sha512-NrmqaK3txBrjC/WQJRWGj06Ltt/WJn7S31tzuQGiqVfXmjSvuI1/IiM40Z5UMRjwH95wSRcJwYFVjH7XvVrc/g==","signatures":[{"sig":"MEUCIQDlEWcZ7yOKXj66u5IkyaUOrieiXmB1WYo6kuOits5waQIgV0GlBxo0lJ72U+9F13K1IoGeSbh8brIneq+npWfYak8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12264101},"gitHead":"22a12ca99180685b613a3d3b2715f109951dd4b9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.3_1719956747038_0.9992726068013105","host":"s3://npm-registry-packages"}},"1.45.4":{"name":"@bentwnghk/chat","version":"1.45.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"45e16d744b6540c3a6dec07ed4ffb4740572dd1b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.4.tgz","fileCount":1906,"integrity":"sha512-ML7PcYNMt+1FjCoO9yB4dN7W9oGiYWTe5U9di9qL57OMXWgzUnrzPLHAjJKOHAX+zmsWKekR9e7IfG3Bln4kQw==","signatures":[{"sig":"MEYCIQC7RZ270nObA9bpbREd7fqV4SWLNC8L8CIFTGmtd38oAwIhAJVI3NeWFghPjCnTYqEPEjBePZrFLrLwyeZvg7zZXfLb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12263977},"gitHead":"5fa74eb1a8dc6f9fc3835e5cc2be796f1272f645","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.4_1720012737204_0.9749514625834375","host":"s3://npm-registry-packages"}},"1.45.5":{"name":"@bentwnghk/chat","version":"1.45.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"bdb7273cea894d7886a79a7fceb8d4b05afcaf00","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.5.tgz","fileCount":1907,"integrity":"sha512-pf5kYpMoKYbHkNTBU/l5DtKr7XBqMOfQ8+jP6z0RJy8gU655ccBmRLkZIxbi246EOQpxWNbi1T04jB1ev++wZw==","signatures":[{"sig":"MEYCIQDlbk14yignd9It+1fkYfdQxmDbUboCOYsQ8g0ma1N4owIhAN+o4AYbsAp5YBTIc3capSoQnFcIVRKdOU0Yu7ITwnmi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12290386},"gitHead":"c17c213e9ea7f8f3d4d2183bdb27d8228589d816","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.5_1720042535031_0.8433672948732303","host":"s3://npm-registry-packages"}},"1.45.6":{"name":"@bentwnghk/chat","version":"1.45.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"df54937a2e49833f94b7c7b2a13655984a1a486b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.6.tgz","fileCount":1907,"integrity":"sha512-1g2Bp4QAPsi3CkLC1oDADJT5/CuODkGLSx+FayDUk9Pf/Vnm9rF101+cti+ph9lQgj7+z6D6xJDxEyBDOpK01A==","signatures":[{"sig":"MEUCIQCAFd6OWSKzUti4zzpFFnjSvSFrpG9agH023UhMd65A+QIgRVIPIOFsIx2UzPEomDiJW8zNoW4PdJQpRE44x3izhVw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12291198},"gitHead":"9a16660bd1433309e3b071df1d05b525f777a8a5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"5.1.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.6_1720084102059_0.9739139232540701","host":"s3://npm-registry-packages"}},"1.45.7":{"name":"@bentwnghk/chat","version":"1.45.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://aichat.mister5.net/","bugs":{"url":"https://aichat.mister5.net/"},"dist":{"shasum":"8c2ae08dbc911d150cb3af543b3d8f9818934ffe","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.7.tgz","fileCount":1907,"integrity":"sha512-LD6Ya5ecS+5Gfjj+w3l1XFwTYAI8L1Shv9l+BZmQf5vtQ5c5J0n5lxhUx2aEnrwUkZ3WNHc3ygfJqCxXB5bMCg==","signatures":[{"sig":"MEYCIQCguheoWwlmjpypTtogNKB/VlLeNVkq0+ZFBZd8sdrrOgIhAK7Vx3AqVMvU92yoTn5Lur9x8hY8fcTtPSSOaXy8k99Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12262274},"gitHead":"ea37f9b6452e139d3dd349ec558341825ca2562f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.7_1720213367131_0.38206634202352174","host":"s3://npm-registry-packages"}},"1.45.8":{"name":"@bentwnghk/chat","version":"1.45.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"89ffac8630a737d72e74b015c37100a60164a46e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.8.tgz","fileCount":1907,"integrity":"sha512-B1UeBX6wfgUqMJz16jcaPoJp0kGe0VMfBMIJn99K9UlasY52jZx2oi7wjT9nFTwH6G8LC96e8e519itN8hIk0g==","signatures":[{"sig":"MEUCIQDgDJ5nAnCiuOCz8s4viCRfziuZGPvqDJj+JePXkXbBoAIgKkicryXpgI4HC0GQiC0NXE6s5Zqr1V/lFct0wMmbMEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12205550},"gitHead":"0bc86e8c814feab77ab2076ac8961960971fa0b8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.6","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.17.1","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.18.3","diff":"^5.2.0","jose":"^5.4.1","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.2","langfuse":"^3.12.2","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.139.6","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.2","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.12.2","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.1","@sentry/nextjs":"^7.117.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.0","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.600.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.13.0","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.3","@neondatabase/serverless":"^0.9.3","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.600.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.5.0","@aws-sdk/client-bedrock-runtime":"^3.600.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.15.6","dpdm":"^3.14.0","glob":"^10.4.2","vite":"^5.3.1","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.2","@types/diff":"^5.2.1","@types/node":"^20.14.6","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.7","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.5","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.8_1720323729112_0.300116951158089","host":"s3://npm-registry-packages"}},"1.45.9":{"name":"@bentwnghk/chat","version":"1.45.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"de9971b4397a7a978a3c8b64a793567f390c567e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.9.tgz","fileCount":1907,"integrity":"sha512-QiYMB2SnXzISfHWUlnEJ2TZp8IG2quxfvzvkiZp8s8Ra76mLJ6KhTc+dFPyYlUlRaBliBMCKWZH+CtNgDMxaBg==","signatures":[{"sig":"MEYCIQDDFQ+BCi1Bsq0qpjX8tXBlPkZht7ZnKgMlW41lkTi/CwIhANyZ9nW8yNb57JYomyGCkZmdPJbwhd0vtZK+SyHb74Ct","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12212070},"gitHead":"582b01fd5eba2bb9b7b77b032cf901bcad8753cf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.2","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.9_1720336070569_0.3778836404631718","host":"s3://npm-registry-packages"}},"1.45.10":{"name":"@bentwnghk/chat","version":"1.45.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.45.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c048b9f12ab4077a6d5fd2994be965c4a48c2729","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.45.10.tgz","fileCount":1909,"integrity":"sha512-fT99Z9B2UOeuV3/OcrqkbEUM90a+8xnZplF9rLteJNy5BBNwd+hsGgA53BsiqbvEwcRgl5MK4e8TXR89l9YUkg==","signatures":[{"sig":"MEUCIQCui16nlLkAHIn0YYnuuZW9JAXa9BezjUSGLrsTU9VbSgIgGuxKXN33w59xKOE8gHDqSnu6Le4tUCr7bLDh4K5X+7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12142634},"gitHead":"2175985fc30538cb8597b1ef74543c4729b94c98","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.2","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.45.10_1720421569049_0.889349874768008","host":"s3://npm-registry-packages"}},"1.46.0":{"name":"@bentwnghk/chat","version":"1.46.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.46.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7ceca30d96154d92a2307eaa87c04f0bfbb1c387","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.46.0.tgz","fileCount":1912,"integrity":"sha512-pZmG+ozXExHdDAkcuLla0FReeI6AB/iNrV85p+iMlSwvuQBSDxgWffYF2umu7GQCuC6ZLfCF4Pvx69NP3zrn7A==","signatures":[{"sig":"MEYCIQDtGFQPgaE2Ab7FTPIyDUvVQTahdoQDqtJ1xsYUkx2VLgIhANPS+nDsLR73SW+yaxjhID/4l7EQh6NewT76YABJLLIx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12165095},"gitHead":"ef117d4a0a1b4ff7aa808844eb629cce671306e3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.25.2","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.46.0_1720522872080_0.24604774944964025","host":"s3://npm-registry-packages"}},"1.46.1":{"name":"@bentwnghk/chat","version":"1.46.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.46.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"83656d726fead37bb1207042f1cb05261273c01a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.46.1.tgz","fileCount":1912,"integrity":"sha512-St6RHVry7ioEIknriHCACtVQ2PtRK//EuMOD+ksLLjzomzidzqBdTOpuLPLclUjYXSUDCkh+WQniBOF3R8tzpA==","signatures":[{"sig":"MEQCIGN4HWWQ0osPHgrmHAsg4SmRhTuOO6lod67KMly5MoclAiAaqwxn5mCStz9o1zSoc3DYNzO/TZnN1K+hUiHICmrAJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12165901},"gitHead":"25e3a1a6461ba717eef8350176fa3ae69d4a2073","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.46.1_1720528274773_0.5894338993131298","host":"s3://npm-registry-packages"}},"1.46.2":{"name":"@bentwnghk/chat","version":"1.46.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.46.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3222b51f102b2cf65f88106045467807e05ac905","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.46.2.tgz","fileCount":1914,"integrity":"sha512-6WXFGU7OE1ZoOXbFBdruu/mcFzeSHu+ThBhWEXq206ouhExP3rX/e/Q0OT0OL47/yMHo65Dgm1Ie3L4AyxDd6g==","signatures":[{"sig":"MEQCIEyDbeFYoT40PXIXzNnseHEQSQp/5rViGWbYnTXwDrq7AiBzfg5MqL9K4ms6OysDSv8RgHgJTL6wL3+PJ934sql07g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12181815},"gitHead":"701be63340b1e76898843614f020b57384dd2f9b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.46.2_1720531615492_0.45582337529312134","host":"s3://npm-registry-packages"}},"1.46.3":{"name":"@bentwnghk/chat","version":"1.46.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.46.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c573cd99f6f43b6cce051401290a2318d2f3eb38","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.46.3.tgz","fileCount":1914,"integrity":"sha512-I08H2rloy2VaP2UUaO83x18Y6yBzuyyk5gpCodtSvUOFxr3PTZFClznIefmwIeNNHy/CiCjEz4rDYcum7ZSutg==","signatures":[{"sig":"MEUCIQDcHRR2ofXzB2roY4eUI0EXTiQhSmaQJKDhCK+od7+o5AIgavsW/YyspXly3lTrLJ2HxeR8iukluhKMyyNuDfNDbAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12183670},"gitHead":"c924acc81738081aee9d852214b4a1834f1e4a7b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.46.3_1720568616442_0.9686580782700289","host":"s3://npm-registry-packages"}},"1.46.4":{"name":"@bentwnghk/chat","version":"1.46.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.46.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"43893c79b696264c9814adb5f1389ddc53c1ed43","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.46.4.tgz","fileCount":1914,"integrity":"sha512-15gdUNEyfYfEnOj+S9Qtmb+bNyKfGp08YQGv+6yfW9fGotsERDHQ6IWyKHBP8XGQj9b2iNjDaLQF90548xrycg==","signatures":[{"sig":"MEUCIGxrfNwQIxKusrrYrKX/egH1mJjnXr33icJCaAsfTzSkAiEA68FzajaFtzmMqq/8oBdtA7Gtc56h89DCewO6J+yz/po=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12185352},"gitHead":"d72282a32c64ecc25bcc4ffd8f08a2f960fde0dc","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.46.4_1720595773799_0.14813033830366074","host":"s3://npm-registry-packages"}},"1.46.5":{"name":"@bentwnghk/chat","version":"1.46.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.46.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6de7b03c269df308a313be4717e4cd3f9eb32d16","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.46.5.tgz","fileCount":1914,"integrity":"sha512-McNhjVH4nNkkmbPRj8dhYTOSvli3rZIEzWA0MmPlMUBP4J548it2mDublohU5qfOgeMQ7oNj8pGHBonppDX62g==","signatures":[{"sig":"MEUCICKSvXlCbJKH0pHfeHlVDVkWDCxmC+Rpl/PW/vMrzmtNAiEAxXW0n04vggONAn1n2w9pRuCdKNlTdGeplM2DbD5KLj0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12185081},"gitHead":"b29b7070e8b18856ba027cc88846f982b3f37a26","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.46.5_1720711343035_0.4054311663304895","host":"s3://npm-registry-packages"}},"1.47.0":{"name":"@bentwnghk/chat","version":"1.47.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.47.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"cc8d8a8659abaa6f336b4b6f326f8139c49c09df","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.47.0.tgz","fileCount":1917,"integrity":"sha512-rmCvbTHQEly0c9ZwcneASU8ePkQd2ytbBmjakI5XfFIEP4W66RrxdWEqe7yzL9Yy241Yl+NABeoXlPM9rr5xUw==","signatures":[{"sig":"MEUCIHymnltmmGinIt7B3L6UDvgSdM/6I7rmfm5bUpA4nRtxAiEA3TrIQD18ABDRrtDKRjMEdscYTCr6dJb1xNI5BtEjIlA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12196268},"gitHead":"7ba93e0efab957b00b0b2c15213957a97507f322","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.47.0_1720788610931_0.9910134346238311","host":"s3://npm-registry-packages"}},"1.47.1":{"name":"@bentwnghk/chat","version":"1.47.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.47.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1792594fd9ac335de5eceb8dc2ec90e2a2956e2e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.47.1.tgz","fileCount":1918,"integrity":"sha512-p+4ZmYpcwZ2+VJ+YqbMb1Icqp2ky18Fvu3xV3hrLQnxR1zPQDShqaXJhzvjNmVYiYQK2ZWaTYFNmciTEMBE3Jg==","signatures":[{"sig":"MEUCIHeM/5qvmuLSlOPIqyK+i2rd2CpadgB65DbfWH/dVK5vAiEA8Pqw7S+HnWwBFYsV+tpHHA7P+2SiLGvkdRg6+u1yrPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12217256},"gitHead":"e4355975495d9367ef496e7d77877ab6b31848d0","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.47.1_1720856347112_0.6711056060925795","host":"s3://npm-registry-packages"}},"1.47.2":{"name":"@bentwnghk/chat","version":"1.47.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.47.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"375aafb15b95919a618eafaef0d75a0415a704b7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.47.2.tgz","fileCount":1918,"integrity":"sha512-JHQ/Zgv/8wbDqeVV6iie9pis6C3x3ziww6s7+WIgBxQn0x8yh+qz3Bo1inYrVNYmKOtpXtoP846UhSnAhP4tQA==","signatures":[{"sig":"MEUCIQCXhW0S0MdGaIIoMdf8ixirZ7vlLeJHMLIzKHuoRwAcNQIgNj6QNKDR0xNKQdrjmH2EFkA1OHpHFoO4941gaY/dsy8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12216261},"gitHead":"ca94777f9b65cd2a7fc0f71b79509fe8258b4337","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^3.2.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.47.2_1720858808024_0.5518157129980632","host":"s3://npm-registry-packages"}},"1.47.3":{"name":"@bentwnghk/chat","version":"1.47.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.47.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d4198ef92dcb0f8d69334573ea6e7e20b9502a5e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.47.3.tgz","fileCount":1918,"integrity":"sha512-/v9NFNGY4FKTS9fQM3Pz3sVVelA/Y9EYyLT/W8FpK84uNMdFFSDIruB1Cp7sqYCyH6Q2d9YIhG+u5W1HlJ/JBQ==","signatures":[{"sig":"MEYCIQCI1kr4hOQc2AGHd5MDQJ4k7uyp2thXBVwRrul0uYOUCwIhAN58LcoJQGHzNqVgL9hHy0XAQQcc74EIEwPR4qMEgt3U","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12218328},"gitHead":"711fc61dfc6dfa40546a3f3ae36cef7ba32d8446","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.47.3_1721020067979_0.28550177529689136","host":"s3://npm-registry-packages"}},"1.48.0":{"name":"@bentwnghk/chat","version":"1.48.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.48.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1959c8a8d362b7da0c8e06cb66b2f3c2e8f6e955","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.48.0.tgz","fileCount":1920,"integrity":"sha512-uT/172iWOEvnWg+XYQmgrzqMcqBeT7zB2wznJekm5TzTrQiTnVMWfPr+NcxzpYBYbLequFyJDg0gksD8sSKycg==","signatures":[{"sig":"MEYCIQCMbjGj3aYbDQgsxUjVzAI5XFw65eOb8SCUES37WATThgIhAPSuXy7Sf4MumZPHHXsxrxePzWI6y7t/eWADBGxxJQeG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12235921},"gitHead":"44645258c9a8ea7c77cae6155385221d6ed8b08b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.48.0_1721205908733_0.3047160299963052","host":"s3://npm-registry-packages"}},"1.48.1":{"name":"@bentwnghk/chat","version":"1.48.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.48.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8129bc8e616a12403346bae00af254e79c672086","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.48.1.tgz","fileCount":1920,"integrity":"sha512-TuDa0LHZSOooLYcvyHwf60wgTCbXkRa1Nzk9vL4E/xp0I5QEXlbBzBgo3V6cSSagiozSLw1HxjIZE+maSTBzpw==","signatures":[{"sig":"MEQCIA+jy3SP/UIydrxHiRPowMSwG57RMbVZRh2175Ib9Q/wAiBttRp4Sf3Ae9dKffSgWvWbrBPtxQBYM7fG1edb57fHlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12237073},"gitHead":"06e490ce42e69c70aa327c9715b9055a589cd008","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.48.1_1721211399492_0.9348815454786947","host":"s3://npm-registry-packages"}},"1.48.2":{"name":"@bentwnghk/chat","version":"1.48.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.48.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"dc4f0457cdbb03c24b7d1c1a95a131f1b940c3b1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.48.2.tgz","fileCount":1920,"integrity":"sha512-MwNSlKDv6uKfYvDiNttJYjJ8VmbDqtvUSQ72b4kAutVFTJWJGHmvPLOPnKCJFIctZ/qRLKncZ1w/HBOfk3rEZQ==","signatures":[{"sig":"MEYCIQD4BtdFWwkrPPsuFr/a2JUuTXuEvnZ8ZpLnbhX8oXbUSwIhAORFIIunWWyuArfzNHSTC/At5LbHohnyNFKua7iAWdlU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12237415},"gitHead":"76089a5edfd78fe9280ac7b164b8ec3c9e8a2bb3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.3","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.48.2_1721219671410_0.28755721978827875","host":"s3://npm-registry-packages"}},"1.48.3":{"name":"@bentwnghk/chat","version":"1.48.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.48.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d907aa31dbc99eaeb9bfa2524edfb849f0770da9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.48.3.tgz","fileCount":1921,"integrity":"sha512-mn2XLQc/c6ET1RKk31EiB5yUjcJ2G5RaYuwwih9Y1kuSRq2PPwligMreBoZOYS4nQBfAMIC6e5eDX0L3kyjgZg==","signatures":[{"sig":"MEQCIF1XZXCesexuf0RHNgG7hzFQjQ2IZI/a3zcQRK5GRVqpAiBMl1J6UHJcafMkbxKmwVv81WoqYA41yBx94ylO//NX5A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12243155},"gitHead":"157d586214564c127b78da2a775e8e4adb88c61b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.48.3_1721258877483_0.007090424550829866","host":"s3://npm-registry-packages"}},"1.48.4":{"name":"@bentwnghk/chat","version":"1.48.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.48.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8df86f0e863ecb0c2426b5b39b22932dccc34dd5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.48.4.tgz","fileCount":1921,"integrity":"sha512-Dt8fWfd6Ie7ozsASAE9E4roRXlTveSFF6ksNfW8Sm/LiqZYaEhD1k2qhQabPRSwUIqpPP3153T069jtN5lXEEg==","signatures":[{"sig":"MEYCIQDN0tCEfMzZEyZx5SaWMBpw1kPbO2wK5fzPBYMMyEFNugIhAJOkh/R0bd4rT2wAojxF5539SJmlAiJYlX+MR3Ohqu/k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12244248},"gitHead":"e5ad8eeeffdda0714e88d4a8833e4ef015a18f1c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.48.4_1721379473821_0.46824690657827595","host":"s3://npm-registry-packages"}},"1.49.0":{"name":"@bentwnghk/chat","version":"1.49.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f863a3395083b4a522b0f1fc23fa433d68b7cf60","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.0.tgz","fileCount":1921,"integrity":"sha512-CIEOb+o6SblHI6pArKF+mJ+mrN9p53p1GeyWzSYT/ItaAJ+EfjgsPGd/IeuVinUlwtQmnHvcfRpdeFWwTGu+ow==","signatures":[{"sig":"MEUCIQD0I8lnELCbBWrq+nWEW/mygdWiEOaIKH00dT0gOxit+gIgLhp21BQZDp6ts9RB8bY87ZC+eKNpI9gk7zzlX3HizPU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12245046},"gitHead":"aec7e74cd20ce9c6131846455544cb7df75ead16","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.0_1721397902506_0.0973349513858821","host":"s3://npm-registry-packages"}},"1.49.1":{"name":"@bentwnghk/chat","version":"1.49.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f3e3d70a492671b840703ceaf80ebf79b788494c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.1.tgz","fileCount":1921,"integrity":"sha512-IyeGCxStOOG0RHC72XSFFM5IKeRqr5dPflvRB0Hn9gKp5InRqU2PnBpwCwkJYmXVpuT4zqkwOiy6IuU02Gl8AQ==","signatures":[{"sig":"MEUCIQCugcrEAN+iKMXjpbmMHgDqjvu5gxmrWMSyduetpQh1WgIgXrVmnd5SQIlc4bRzNXgvL1UEdY0XPuqR3TsoWIcE+NI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12241088},"gitHead":"e858c35b32fdac64e5433c4d2bc57cee97a5f90d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.1_1721440339160_0.4259622632483788","host":"s3://npm-registry-packages"}},"1.49.2":{"name":"@bentwnghk/chat","version":"1.49.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9ee532c2260c62493df0bc151462f7bedd9d9032","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.2.tgz","fileCount":1921,"integrity":"sha512-l3tf8oy2rMgP7HgE8wPidhWn+BFfjzwUG/+VtpwL+s/gaIm2ojxPQWejqA/H+NdMORmDQ4nd1X1rDpiXZBp6JQ==","signatures":[{"sig":"MEQCIB1W/RhhAdL78BRC9VUQ/myzAPQuMGj65MOuRu+2aoD6AiByj2+jEh5W+T97gL+jCLLCe3ww77x3Ym4ZzOVkCS+DFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12242170},"gitHead":"7a4974926576aaf9d92a578c5f2420c2e3ee48f3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.2_1721545643830_0.46411678615007435","host":"s3://npm-registry-packages"}},"1.49.3":{"name":"@bentwnghk/chat","version":"1.49.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f5b3db84efe4fc16de8a9b9e1bd90df4166ca40a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.3.tgz","fileCount":1925,"integrity":"sha512-nd23Dy/RoPDO27bSRVFwx7e+nF1fmtTPlVThhb2bAd1syaNS1p6b3OotggF5u5XKiUSAxP/GSGv9s67ZoZgbnQ==","signatures":[{"sig":"MEQCIFweDMmX+LwUbsfSIYioVKPez4ItioQpcoqZwAHiVDINAiB2H2Eq7O5J3ORBcQX8eteqSk7besTxPhKIjoGqSPEX4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12245452},"gitHead":"48593fee2ee94bb6886e9ee2c081d13f6ea4f7d3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.31.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.26.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.22.8","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.3_1721567877846_0.07380454158226768","host":"s3://npm-registry-packages"}},"1.49.4":{"name":"@bentwnghk/chat","version":"1.49.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b3354d72bfdb14e67433689de9302fa46bd5de49","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.4.tgz","fileCount":1943,"integrity":"sha512-9Enmzg50z6xjopUBtLSfxWeWHkiffLjFNmIHHwjqirrDaxcWRLhwZL4Ao0tbeN2Hba51JYyDD5M/fcZEtVC3HQ==","signatures":[{"sig":"MEQCIAIVnxNRHUcwWcfxJxSS6NZpz/knJbwzChzXTE3VVGw1AiBV5XF1xzMCX3AIbSdRSZYL+v481XI01llync9YCqVHmg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12280410},"gitHead":"b94790f8aa8bed89a7602e41da5b4ef5080c0cd7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.4_1721643227991_0.6835866952064598","host":"s3://npm-registry-packages"}},"1.49.5":{"name":"@bentwnghk/chat","version":"1.49.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d8272200375b538dd30aa6e0c71986cee97e1656","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.5.tgz","fileCount":1948,"integrity":"sha512-nHqKc7EiVcWLSIP7L8/8C2RFkrTaZnzVP8LPSpTT36VmGn2PoSSNYvnxfzfs9ariHJRoRxvpVFMZuyVZAsNo0g==","signatures":[{"sig":"MEUCIQCbpmdl9xVhAcaDSadpoxqqpog2YxoArG+OE/phr0Q63gIgGQzjuhehno4bzHyEtoxQ7OxGf0mdoq344Ox0i1PEkZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12298691},"gitHead":"4257c99721e67dc5148d14a86f4881987c7bef80","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.5_1721716189720_0.1889958234279947","host":"s3://npm-registry-packages"}},"1.49.6":{"name":"@bentwnghk/chat","version":"1.49.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"34aaf3637038292c9e733213ad5e0de6bf761461","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.6.tgz","fileCount":1948,"integrity":"sha512-BfT82W82pghbVMrkotN0ppcYUqzcsrpfoccRS6z1vT07wbC2HWWu6yuXRWDj99xoUMtfrCjRNGmNkS5Ie52Qdg==","signatures":[{"sig":"MEYCIQCmIRuoVBAO99BIWNqTKudg6/f13SWnPgQO6zeBfNEqwwIhAMtrEeUatzZml04cMPI9HFmlMbE2KDhmZeeNzJamE9i6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12337581},"gitHead":"74eca2ca49df6dbf19bdd1f0325fc36138ca1de9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.6_1721746059975_0.41890319764360107","host":"s3://npm-registry-packages"}},"1.49.7":{"name":"@bentwnghk/chat","version":"1.49.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"05b05bfa22e74c93b5632bd079a5f98b55f9a238","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.7.tgz","fileCount":1948,"integrity":"sha512-3WluExBIdb/8fvEaf79RRPj3QaxvS3Kc8bP8Mc5tHRG1i7RfKzBfB4xUUouu7oD9R4qGJPaTs4PmJW8Fx5GhgQ==","signatures":[{"sig":"MEYCIQDqdWYtCmAtk+MLT/pnb1bWoKwBs7Lb2mS/ThzJG1GAkwIhAPEELD37PMmsFm3MTjzvjotqsEes9gc5rBWiSnzSrJc7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12341710},"gitHead":"5a8a11f44dc1930c42294834743a5160e75430de","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.2","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.7_1721780285432_0.44208169066267344","host":"s3://npm-registry-packages"}},"1.49.8":{"name":"@bentwnghk/chat","version":"1.49.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"eb0421ac15cf29e9fbfa841f531a14f971a31cfa","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.8.tgz","fileCount":1948,"integrity":"sha512-vHDnwasFr4qGQUkqEwIu7nVGyQKi54+eRSB1JurF6lVUEd4Y1IAHlDlMQaQhhXacriFa1MV4IPeD7RSWeRPFRA==","signatures":[{"sig":"MEUCIQDD+DqlwVL/LtFvhP0peJm/1cOpQOlPtgz1ZFF4faa8cgIgAXy+HNRmWk842O3yNG/nxk0yrg/rbFew2D9FrOE7oMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12342317},"gitHead":"e0db12acc36c123fadef692e89cf5093755f8b69","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.8_1721805246553_0.4347975447367687","host":"s3://npm-registry-packages"}},"1.49.9":{"name":"@bentwnghk/chat","version":"1.49.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c1d4571195d80cb2b0e7eacb36f632a6bf5a8cc3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.9.tgz","fileCount":1948,"integrity":"sha512-d+oQIlRGeh+zov2sSTOZUqkrDrLwieTuPphUyf6tTKW3ut6vAKiJB27wOP8WYLYYquJXp8BmJGU1ZXbo9/6R6Q==","signatures":[{"sig":"MEUCIQCikMCUIc1S22TtZrgLPoH8RkuRkZ/C/7MPh0wJSRDJpQIgFlBT6iX+uQrGZ+mremfi6bN6XAkvGdY2PgnP0H424mA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12343991},"gitHead":"9c94ba5fb344b89df97536c534acd1df513b2421","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.9_1721950846522_0.5494780119092528","host":"s3://npm-registry-packages"}},"1.49.10":{"name":"@bentwnghk/chat","version":"1.49.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.49.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f3a63fe6fa14c1e2097e9cdc2bad0ea668f2b7c9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.49.10.tgz","fileCount":1948,"integrity":"sha512-H+p1BGw/oEQJTjYSGlk8QrEFL8dqAyT/3eX6XZDIkatDHsmR2XMA/lTMdSNDULjnnDj4syDrCJigYy/gtzi0qQ==","signatures":[{"sig":"MEUCIQC1m+tBCrF7VooQXMNAwy3SSsMcmaq6cBoVWnIrDQRNCwIgfbKYHv8IgbKyyK4Lp/Y88JYuRf0ZvDaEfKMEB4QvzI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12346035},"gitHead":"9c0ac559a1c69d5456b6f21a4b7414012209f2b6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.49.10_1721968296263_0.2909512481978971","host":"s3://npm-registry-packages"}},"1.50.0":{"name":"@bentwnghk/chat","version":"1.50.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2aa8ddd2733245e47591ca86f20a07fcfa5e216b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.0.tgz","fileCount":1948,"integrity":"sha512-u9fbFWxL2PZfFwdxOYMKPErSmj3LaLkPtJYbwMyrvVoop5See6ag4ZD7+rRprBxpm6mt1hC1QGPPmGVk0ftBYQ==","signatures":[{"sig":"MEUCIQCp7eBwcJv6Na1xjK6ufRFQBRsm8FjWJy30xI4MAegq6QIgfjGLkjs45vBNkYkwn9/JSnG5dEYeSGg5DVTYQ1ylx4E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12347028},"gitHead":"756f386499341a84e2193385bfe6968784cdbe63","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.0_1721983515618_0.32058475560259847","host":"s3://npm-registry-packages"}},"1.50.1":{"name":"@bentwnghk/chat","version":"1.50.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"df9fb7331e7b7e087935ad520355f02d5fb75fc0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.1.tgz","fileCount":1948,"integrity":"sha512-wLd8LBogsJLSdETbhRqtbUlm7Nt+/j1i41+bl+mRDdJZw9Y/FfH7Q3pj+Sy9zUk2pOYEi+JjPS/+o4ddetCT9g==","signatures":[{"sig":"MEYCIQCzlR0odRkYnZOKR1Eog/SO23DysyJFEB7oIsrSrwumZwIhAMKgGabI4j4J09ca+MkbsO8avaUm88dw2sLZSEZOYokX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12347633},"gitHead":"f4a00de25cafd0d363787835adf0feca18f8b28d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.1_1721989723197_0.7365973889318487","host":"s3://npm-registry-packages"}},"1.50.2":{"name":"@bentwnghk/chat","version":"1.50.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8cbfdded9cc86ff33d6760c54e7e165937fe6eaf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.2.tgz","fileCount":1948,"integrity":"sha512-a8csGx/XFuELVcAwF0CnyrbiN3CDRgvxklISO7UfXSgk/hxyMPmZ4mLl+JgwizqhsbIsF1GI3pbiTpUQ0s9yQg==","signatures":[{"sig":"MEUCIQCXVE1Vh2iEzt5ofss+D4g1Qui/JfNHkY4f19o4IOa1dAIgHsl9TE3nUqDRpSYo22lfwu59oG9igl/JAhWj8+3dXtA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12348532},"gitHead":"6b52759f5f4fe1bff68d77d514515f3923eb8ede","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.5.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.2_1721994513380_0.2207405623757588","host":"s3://npm-registry-packages"}},"1.50.3":{"name":"@bentwnghk/chat","version":"1.50.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"48629a526fee2cdb29cd8479422605463a7e0ff5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.3.tgz","fileCount":1948,"integrity":"sha512-1dNYL2z0Vu9Iee5rzSIV7sjB2XjHoGinQlJbwEbVCU5Vjv7QSOzoNTXR5GB96QWBXJFVs4vrfmKu8WvV8xM0+w==","signatures":[{"sig":"MEUCIBonxL+gUJX3zS5PRFqEhW4RPNU1i8/IWvmtvu9MjxhnAiEA4TPr7xyGHEfDTI2dgOcMxNTRGQIbls2rDQuRAcmzYWY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12349150},"gitHead":"8762caee36052569ceee5337a435b26a113ef2e1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.3_1722160496255_0.13753547845021075","host":"s3://npm-registry-packages"}},"1.50.4":{"name":"@bentwnghk/chat","version":"1.50.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6931f9dafb16dda036d26cb8d4a15e8a8d5fc53a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.4.tgz","fileCount":1953,"integrity":"sha512-fndgDWpt6lF0uZCX81/+whtT48zlti5U5bS45+R+TL8k89nVV5uXMn4clP1aNOBHs+egsD8O8dEQl2sc6mFc3A==","signatures":[{"sig":"MEUCIQCOaXon1IGFL9lj+dLMDoCKlS1SI6FS7V6FWuM1P9dARgIgdwdLjGwbgsh+SZ8Q6M65OLQ6LsqSLqWoml+kLQu6pz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12357275},"gitHead":"c66f345202ce7c6c37d46e7a7f9086425150cc56","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.14.1","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.4_1722227497302_0.366201864967973","host":"s3://npm-registry-packages"}},"1.50.5":{"name":"@bentwnghk/chat","version":"1.50.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3e763e9d473b171e900ba3931c0b5b85e1b1c58d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.5.tgz","fileCount":1953,"integrity":"sha512-Uu5Qyxg2YLvpmDD3WGon5Z1SCMU2D0Oo2x6qtmi6Fxlgz7Df6Dzu1QLRwxEfCt9gIn+n3wjceDZhpPqNqqamMg==","signatures":[{"sig":"MEUCIQCKvTMCNyHJkkM9GnpzTTxMpFRevntNwSnQ2DwfAQJkogIgDAvqm0ETgex8g5ZkGv8/uJuXlHWSXu/J+YvUVnLJ19Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12357943},"gitHead":"83220d802f4fa76e5473ec6f0f14ec49c1f7d1c7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.5_1722229899970_0.5357935668046889","host":"s3://npm-registry-packages"}},"1.50.6":{"name":"@bentwnghk/chat","version":"1.50.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"520686a6b36dadf1dec59d9ea4e0d84f295691fe","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.6.tgz","fileCount":1953,"integrity":"sha512-gyQzHpjwVYEmiGcI+O//Q15j/Hk5gReuY35OFWV11C5+uNLF0aVIVXTim4rCmMVxyk3Fud9I65mbPAbKASCnvg==","signatures":[{"sig":"MEUCIEXFMczi4w/StDW9wJBGiftiXEMrMsXi60E8ivJAG6alAiEAkRXqeCCZj+n71bt+1GxkhtpulcrkRgSm43ERrCjY4lM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12361002},"gitHead":"8efe19a62f8e2ce553913179b2fcf45b0199b943","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.6_1722313375270_0.9948955148222733","host":"s3://npm-registry-packages"}},"1.50.7":{"name":"@bentwnghk/chat","version":"1.50.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ae84d4f761841ef8d1438216787dee6f93ba1d1e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.7.tgz","fileCount":1953,"integrity":"sha512-YqdpeyMjCo+GE9A9jea0cZMqhWaJw8mcbjZuotTNf027t8FIBD1gSEZ0Aw3ZrakGXlu7j/5vhaJoFjnbCw3AZg==","signatures":[{"sig":"MEQCIDxz7L7Umbrlnm+E5HUaEGERlbaQnPPbtVLCOAnTIP2ZAiBWlwpV5kIgOHGg0umF/KEBFjPtEjP6ZtauotF23Nin2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12362639},"gitHead":"345455fc0d6e6053a4464e6b8542b34a72b4b0ad","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.7_1722339767959_0.9464348564247833","host":"s3://npm-registry-packages"}},"1.50.8":{"name":"@bentwnghk/chat","version":"1.50.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5fcf435c0d6c822d8938d7d94fec1988a9b7c203","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.8.tgz","fileCount":1953,"integrity":"sha512-rP8FFBYryS/ggvtfMmbNn7YXykhOK2QiC4RmDc1gd1HdO/lFcQ+Mye0fuxhmHOSkRZU2nvypy4szzgk537qsAw==","signatures":[{"sig":"MEUCIQDKFijXiDw124V5k6cwESai6UqiV/7JAdm0etfrhWiTagIgeVV+YosH7RYI5wXAAZHWtAxP+Znxrlwj2I6iYdBtC8k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12367567},"gitHead":"90400bd16e91aad507d1208e829375058b0df46c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.8_1722559247861_0.8438700814570577","host":"s3://npm-registry-packages"}},"1.50.9":{"name":"@bentwnghk/chat","version":"1.50.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.50.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"78e16aaaa2d74e3b299ce19cd63695b91cd16bf6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.50.9.tgz","fileCount":1953,"integrity":"sha512-QE3PKKnRtVaBaRn0NjX/LPPsJYBiW3+4nIrLM4rKtVYM7D3J8KR7R6ff2TjIkBd2EwaIUQTZAwZwTe8jqXbGaw==","signatures":[{"sig":"MEUCICYpY4QoHkyZcQRM10oKareBL2LzSyKdOAPauq6mWgmbAiEAhJNrSMVUw0SEC/mfEal8LmykF48ayI7SBWI6wkQ2Xyo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12368457},"gitHead":"da8b60011bbeb9c94f36f153aa85da9f4cc1a4e3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.50.9_1722591945955_0.6476431342609783","host":"s3://npm-registry-packages"}},"1.51.0":{"name":"@bentwnghk/chat","version":"1.51.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.51.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bd43bd92249809e19fb341e436641deeb6f83694","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.51.0.tgz","fileCount":1964,"integrity":"sha512-jflWZwIei6T4SBrsqQxKURXrOjrp+lHjlaKWS0Ibt7HSkSNzVlyCVycd1UTEXsS12g6f8Zi4zWJxv93CvtX8EA==","signatures":[{"sig":"MEQCIC0GHrfuGz9qsRLMZU1csJdJmuTsXxgdZOA0JtHmwLwyAiBW7DnVIA1A2AjTF3woNR+enUEzNWvyRn3c8xRDXkywcQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12469860},"gitHead":"8c97ea96e701aceb398aa7fcf55fd3312a3ad501","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_NPM_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.51.0_1722613569967_0.17783030722533577","host":"s3://npm-registry-packages"}},"1.51.1":{"name":"@bentwnghk/chat","version":"1.51.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.51.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"79be8d5a8657325a0bf824c8123ea353c92e614f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.51.1.tgz","fileCount":1967,"integrity":"sha512-oAiggvspy1SZ1cBuC0tgTFi7mTOubZ+9rx9ZMg376Rgs5zpkwvfoOQO+vju7j79EZPoEu9i0J2yY61pXpju3iw==","signatures":[{"sig":"MEUCIA/dwa8Y20uqnR/PyFV6R0INNowGTck0mHGEjPwwJRleAiEAtF9M7+lj+7jXkYxDzNx2e7bQqJAD0ifBKjuUaOwWMoE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12478939},"gitHead":"5c2328888136574b4433a1f12a8b321ed814a5f9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.51.1_1722693153739_0.7871396198447507","host":"s3://npm-registry-packages"}},"1.52.0":{"name":"@bentwnghk/chat","version":"1.52.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c875d1b993adb6fbacd641aca8ca2937c9a4369a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.0.tgz","fileCount":1989,"integrity":"sha512-+17f5KVELz+UFhRQ043XYQM681RVGCKOYxmefihL4eXzEw9yfPfOYqOQmZ2Q2cz96OgZgb48md5xhVmMFE/Izg==","signatures":[{"sig":"MEUCIQDlpg64nRhda6HDe5VlvyEPlu8D3wypWk+uEdVysbyuqwIgWTEmisAgbhLD6OUS45GiLpRBhYkusheI1Zgpdyn4g4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12530241},"gitHead":"99d615d13df7dc7479dad052dd070ef1248c231b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.27.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.0_1722856630580_0.9580696108317155","host":"s3://npm-registry-packages"}},"1.52.1":{"name":"@bentwnghk/chat","version":"1.52.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"11dc54c431cebe3ebbde7885abcd99b7be6f84be","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.1.tgz","fileCount":1989,"integrity":"sha512-doPXDf4RF4YaJUdU441Vkrr7+WotlkS950+MSqsZaoSZyWXQWvdOkMGc7UqhshmYnKgJJ5nWQluVLwdlf66STA==","signatures":[{"sig":"MEQCIDKjovfLxxiYTxqBWwUVRK329c+VJxl0K7ct/gQoBzbjAiBDoC9juUKpP6HVw6/wjcgQaV+RE3RAgsNl5/WDnZv/dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12531256},"gitHead":"1537489e0121fbc7a5871978e1a4fa6866f11252","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.1_1722898599871_0.8098315264218157","host":"s3://npm-registry-packages"}},"1.52.2":{"name":"@bentwnghk/chat","version":"1.52.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3203992b67a0dfe871a7a3f2819fd4e0512a5156","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.2.tgz","fileCount":1994,"integrity":"sha512-cJT8BYKvi94th1wTcXxYPvb2Swjpl80vfhvJX4wr7qSwnruefDUth/HRlm9ZfTdutmVJym5UWdEuGJDe+yc72A==","signatures":[{"sig":"MEYCIQDYzYsLVIdbdEC0wddNz083cl0iElqYfEur+hGahLm2lwIhANxzNatgMhw+bJxasMHEq3csowtHf4ge9p10FuTIkpLV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12532185},"gitHead":"f09955586eb56de815371171e76316cdb6cde167","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"^4.52.3","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.6","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.2_1722925570906_0.7421614180228358","host":"s3://npm-registry-packages"}},"1.52.3":{"name":"@bentwnghk/chat","version":"1.52.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"dc7e081b168d82e93c6ef27f40a88ee429859324","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.3.tgz","fileCount":1994,"integrity":"sha512-HJ66C9NsxFNUpFF53XBfF+Qpbpkof9XEO1LxA11Y5bcN4X41WrkG4IUPJdkNlmrg0KnNOVSXq2GdrDO932TqTQ==","signatures":[{"sig":"MEUCIQDRqPTxiMsBY7dNEAmhmsRyW3Smu6Z98+swnQvPV69LzQIgUFpyyY0C9UxZkzLtYxpTR6gqyZzc9DhD/XeHug2aunU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12532780},"gitHead":"e38425d9716d5c9233f33a7f101b28ce6684dad6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.3_1722990941560_0.08484463961102384","host":"s3://npm-registry-packages"}},"1.52.4":{"name":"@bentwnghk/chat","version":"1.52.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bd8588d3735ae6d97a88eece56b8abbc157a840b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.4.tgz","fileCount":1994,"integrity":"sha512-PX8ivIf2y+oHgkOe6Tl11wLCJjRgGRUZlcTAJnpenjp5gSs0OyqEFX6+WPhWUlKHZImTLRcL5ekA039iddGTyA==","signatures":[{"sig":"MEMCIClJG8u/zmFiv/Q4Hwiyq5OXpQdglm37V3gL0E/z6LTDAh8EeyKumxNIUMZ16PeyM3D88mAUsP5CYp/iT5aowXPB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12539068},"gitHead":"730a373cb16ce51238783524e40fb20358d2c26a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.4_1723105336383_0.19524355682267136","host":"s3://npm-registry-packages"}},"1.52.5":{"name":"@bentwnghk/chat","version":"1.52.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8b6404ce2e53918a8aadda5957cf9e9d858fbc71","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.5.tgz","fileCount":1994,"integrity":"sha512-FKU3gEGAS3uaChmfYDK+g7teaOLxXCNVtHxG19QAIxCc9nSWeXvgnbLBeuGWjBWbwX3cMwaON3izxqF5S6+sZA==","signatures":[{"sig":"MEUCIHz4cztcC7u7nd2AETCnwzSK+ropGfZacXX80C76OxROAiEAw1NBwAtCi4zB2SrP4TYspIb1kzNoRcuWBr58lDZ0PDE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12539440},"gitHead":"a2265a7942030ccb0f8beb651da02cb1b6ef5f2f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.2","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.6.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.5_1723193807019_0.40994783717601657","host":"s3://npm-registry-packages"}},"1.52.6":{"name":"@bentwnghk/chat","version":"1.52.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7988d8d7f17214721e3d2f4baa1e0cf1dfd15ec1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.6.tgz","fileCount":1994,"integrity":"sha512-XNhXJDpR3Ftc2gY/4+MUystsCJdVy+aKZe6k3ZMG5xvWx3SWA1MJjw31XlGCyzlEtYnQcA0NmWJBd21fSGMqUw==","signatures":[{"sig":"MEUCICBcspQ0vGSFpBAm2KoY+xQszTnILD2+IPhmg2aZ8FrGAiEA7e7iJ/uqLpcXEPYvg4bLdYJBpzaHBju8tn+uNK6nlDk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12539863},"gitHead":"a5cb9129367c788978de50dff938275495d95110","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.6_1723531729834_0.899211204072667","host":"s3://npm-registry-packages"}},"1.52.7":{"name":"@bentwnghk/chat","version":"1.52.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.52.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b580a1a2c78627b153be464f8f7354e91a90ae16","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.52.7.tgz","fileCount":1994,"integrity":"sha512-+kdWZkoyR7+zOj9EC9gMUhfftrAIjBp+2R6IqlUjeX1H5wOosguS4hyGodQqN63H+P8820zKIROSC07Jm9XV8A==","signatures":[{"sig":"MEYCIQDr2Ulf1gL19Ib7rfKnpf9O7UQG96JuNNdR9qRWd/zeeQIhAOLw5LPmbqnrvxU01OHFfcjxDikJYMesBo17xGWuq7sH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12540478},"gitHead":"6449f25f58ae5a3ac1e2d7b34c3572bdf41608b0","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.52.7_1723557996991_0.6585051169979081","host":"s3://npm-registry-packages"}},"1.53.0":{"name":"@bentwnghk/chat","version":"1.53.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.53.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c2fee3ebc14065f1fd1b9c18b28dd02f3340f0b9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.53.0.tgz","fileCount":1998,"integrity":"sha512-qY8TSwuURRnMeSTSvej4rqn8V1x++4XrsVSuCnrCcGeqqGIvqm46MjizHfNlsBYNdouX9vV8bQ2YOwThASQccg==","signatures":[{"sig":"MEYCIQDULQ1Xkr40ggPBAVbr0irko+TD1gljagJqtCWNowaatwIhANk4wkagJFI3v73oROx7Uni+a+qFcnuzDaorKnGkwYgQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12548280},"gitHead":"a538a6b91219f1dfab812e8209f98a7ae077d702","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.53.0_1723623689936_0.5781920746064124","host":"s3://npm-registry-packages"}},"1.54.0":{"name":"@bentwnghk/chat","version":"1.54.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"de777431fce89bd473f4f2bca4e96c319d403b79","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.0.tgz","fileCount":1998,"integrity":"sha512-g9ffbFAYoAnMSjvMIe9uJbsH3/q6zAMbbbn4sB3YHXBxsfmbRBS2kqSO0PyUQPzSSU0OpeuXKnRmyT3CCPJXJg==","signatures":[{"sig":"MEQCHwszGt93oJ96YeCHkAYGt2jh0IDJQOQ8gjbwwDz5leUCIQCi/hLjtP/RrKMduBuNJxw7DlvHZ3eRrjywy06w4XqAxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12549414},"gitHead":"4f5d1b8e0158269b269eb85b3fed48061b0e3aab","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"^9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.0_1723681987051_0.8757582015912366","host":"s3://npm-registry-packages"}},"1.54.1":{"name":"@bentwnghk/chat","version":"1.54.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"043c4344cababb83ebf86e60ddeb493e93e9f459","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.1.tgz","fileCount":1998,"integrity":"sha512-s3tMYMBeWqMmF7OsvGeZQVjQSFVehvZWjcHY4u4TUA0VAcbpusD30z2EUbxuLxM1GI3uSzslUim8Cxqftq30FQ==","signatures":[{"sig":"MEYCIQDlUngFtND/TSoJW3atDipqhR0GMD6ytEpqw6w4/ITmeAIhAJJOLQmnVJzpLl2LUtbn9RI0yFfXysJoCaPHTk3+vmf9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12550820},"gitHead":"67ea74c6cd0b784a4d30917c2622849d71a57661","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push -- dotenv_config_path='.env'","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect -- dotenv_config_path='.env'","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate -- dotenv_config_path='.env'","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push -- dotenv_config_path='.env'","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.19.1","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","react-dom":"^18.3.1","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","@clerk/localizations":"2.0.0","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.18.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.1_1723723787048_0.6482158274735943","host":"s3://npm-registry-packages"}},"1.54.2":{"name":"@bentwnghk/chat","version":"1.54.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8a1f58316c4100867b35e3e1dd184b81e6942579","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.2.tgz","fileCount":2040,"integrity":"sha512-Tbgyaf4NCve03JZJYLnbeyTbgmaKSwljlAqDx615Sj6bz+tNlNh6lVpDP1UlrW6WkqiQrE9geZoAzP5TAoeV4Q==","signatures":[{"sig":"MEUCIBncmRh5cVTujrb33dRVy/XDDJZIbm9YRg/1Fes/rXeqAiEAuSDqPnVpYxHT60AFQFNgYsn3tGbJjPK98PD2e14hWAA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13236908},"gitHead":"40220f1b01edd6b754dcc51082519aca9ca6c240","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.11.3","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.2_1723911422922_0.3503039884895769","host":"s3://npm-registry-packages"}},"1.54.3":{"name":"@bentwnghk/chat","version":"1.54.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7695ee817c7ec8ced5430ad0f06505ceb0b2b6bc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.3.tgz","fileCount":2040,"integrity":"sha512-MGdLs3dIFmNomREVNPEMX6CcrohsSMqVCoZE6p7RPflTgrlP/UaJ7Vno4cnbAhwElvqRSQ+DuJ8t3ugyl2xGBg==","signatures":[{"sig":"MEQCIAId29kZEAS6hVMiSgeLlkO1qb/0tJeNWwO0Iql/eWZvAiBWPPtLZoBN5z5ILT0CyrQkU9LE3OLwGlrUv7NeUOQs0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13238634},"gitHead":"3f7ddd8427101851b5c97687d5305f02d33b66cd","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","dev:clerk-proxy":"ngrok http http://localhost:3011","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.11.3","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@microsoft/fetch-event-source":"^2.0.1","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.3_1723961787039_0.3487877517232916","host":"s3://npm-registry-packages"}},"1.54.4":{"name":"@bentwnghk/chat","version":"1.54.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5515104a37f0ec66057e28947195cd03996d8b50","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.4.tgz","fileCount":2052,"integrity":"sha512-Zt2bR5puyU6iYAHmDNOfY1lWDjGaV6TtLhw1gA8MB5v7ng977yIFvsA/P6ael9jL6vuvo/eDLxqiH3TBNRj3hg==","signatures":[{"sig":"MEUCICExUWPcR1F+qrv7Y8jA3A/6Ouu6TfqsrYNHsZwyJvXnAiEA6I5lqKCTbkOJ34H/VkpLbiAvRHGWB2oCXWLJ7esQ3XA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13264549},"gitHead":"842f5de35f199152d61ff472f5bd1f09319b5d7c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.11.3","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.0","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.4_1723984077199_0.3813995887869217","host":"s3://npm-registry-packages"}},"1.54.5":{"name":"@bentwnghk/chat","version":"1.54.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0f5a8a6eac6593f5881b9075cffe98af735ddc99","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.5.tgz","fileCount":2052,"integrity":"sha512-g7jfa353ZaBpccucpsYL0OUicWCcKYsuwmi04+RBJ8CJ6Zmxg4R2irNt2UUfV32s/cC0C6WYp/HyolXWDd+vfQ==","signatures":[{"sig":"MEUCIQDppjnaZkmhOcdDFmvFc3WcoP8Zx5jQuQA6e3ZgMwVSywIgAcRGKMmEGx5pGy4Gl1IFo+7d/DTD7xg0AvnubD4bkAw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13265330},"gitHead":"c04bae9fa8064eddb2455385f8846d53275d1715","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.5_1724066918959_0.4601223542086308","host":"s3://npm-registry-packages"}},"1.54.6":{"name":"@bentwnghk/chat","version":"1.54.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"191b01a2df5a71122edf195766d2a3e2a2e23d2f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.6.tgz","fileCount":2052,"integrity":"sha512-8riz036cSw9hSxJHUZQWXlR083JOCG8wkYVE6dlECIFe6FoSvvm5RQ4+ldSQ6LznckUZwM96ecnI/8eaDQoYhQ==","signatures":[{"sig":"MEUCIQDgt1kwnvLHBfkFBmlKE5thnW5JrwZzGcf9pNaq1PktzAIgE8tsof8vPXwp0cpRZWyUKYuxvQzADHV7khNTHdSC0+w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13266321},"gitHead":"dac0bfae6f97c8a23960881d9c78263e92fa9a6d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.6_1724074469944_0.8570039384132146","host":"s3://npm-registry-packages"}},"1.54.7":{"name":"@bentwnghk/chat","version":"1.54.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.54.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b8bd9a8b684d1028dc8ef8cea0e4dd4abb3e66e4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.54.7.tgz","fileCount":2086,"integrity":"sha512-TickkvD+ynmzIK7yBT5/O4PAbYqJq5KUAVh+gO/S3wrfnzpmuwT471BWVX6IM39oUv6aXgpo2Z0p8cC9RED9kw==","signatures":[{"sig":"MEQCIBq4nV5grYIU1J0ZzgJGBMLKZScCc33BzF94PODbipYqAiAbqZiWdep9q5tYA1BCPnp2hZjVtFW5V2kvZYjiTd1tGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13367102},"gitHead":"48ad85440a324826dd2f77e3193f014f2b71b2f3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat:local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix"},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.54.7_1724104976495_0.14863628799688078","host":"s3://npm-registry-packages"}},"1.55.0":{"name":"@bentwnghk/chat","version":"1.55.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"85da7830e74331fcffd63eea51674ce158242161","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.0.tgz","fileCount":2269,"integrity":"sha512-FiqTM7uMfTyLtMBVFDnuSxx9WVnvJ0oAfA784wj7sOWl3E75XEITPHienjRgJUZMa5ZirnUfxjNSFtwprD8Agw==","signatures":[{"sig":"MEQCIGnnEliOjCVwOG9lnISGSUOO1FhxcM2LN1DhR4nTFv5kAiAauQ1tLk0pN+/HjW/6360HG6O3KkdGqf+RjNB5NyFCGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13941443},"gitHead":"0c2e4210cd195f23bafda71832bf2aef239acb77","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.0_1724252003004_0.007649670164016964","host":"s3://npm-registry-packages"}},"1.55.1":{"name":"@bentwnghk/chat","version":"1.55.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1cfe11aa68bb0ae32837527a113f71b231870687","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.1.tgz","fileCount":2271,"integrity":"sha512-6PbRvC/K8RYLZssHAky8I+DAkvYaENVF9I/p3Tf0HGYkHMNEcR0LRCMFbNXFrxtZcCV9YEy/YtqLnHlbp/ej4A==","signatures":[{"sig":"MEQCIHkbk+9SvC3uCX0vavZNwCao30o7Q4D1wTghgbuf8J5CAiBngwMDV4fS96t3DRdr9ZOYpG3ZdAJa4LxmdnjkZVPs4w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14026878},"gitHead":"643d3a6346f6365d1a5d31c2d8f2b188d1ae1eb6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.1_1724257769648_0.3232166740127722","host":"s3://npm-registry-packages"}},"1.55.2":{"name":"@bentwnghk/chat","version":"1.55.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9ccdbd5180993a089b2d7bbd7eea6ae069f4e716","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.2.tgz","fileCount":2271,"integrity":"sha512-FxpWz4fzuZg8lC9L8Bsi02s4uB2NXhYYkRCHG8tQvW7CqnxOBbTq8l0zvgFyHIY1hydAJX5VfCLcBymc9TSmEA==","signatures":[{"sig":"MEYCIQCRH/CKeWkERxpsNJU9Prg+lJe+ZBwBfX//h60BGb8LfwIhAJCiL1fw3bpMVwUXMJrvhB1bzUMh5R9h3ZM3NZSs2Mwi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14028010},"gitHead":"72e587786bb18fd87215252039614d1604ed026b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.4","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.2_1724299016202_0.0706729408213711","host":"s3://npm-registry-packages"}},"1.55.3":{"name":"@bentwnghk/chat","version":"1.55.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"05c377f766518b0afa06b93dd6d1cb675b42ad0c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.3.tgz","fileCount":2271,"integrity":"sha512-Ttbzy62debiUnk0k1EuwdKCygot9IQiGB88GXE7VqB5eRRvgX3MdN/gOYJaZVdqJTfOOTL3T/V//9NRQGLrzJw==","signatures":[{"sig":"MEUCIQDM4Adlvt6g4oaqF0QIKGOV0jNzD64X1uqZxOxTPicAegIgeHSskHUAdcNqrguKmWJKdULw7g3V72sTta0TUuVocH8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14028567},"gitHead":"b1e2ac04f5e9b85ee2e19bc44391b50fcf5e732c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"14.2.5","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.3_1724313030086_0.14787560363200014","host":"s3://npm-registry-packages"}},"1.55.4":{"name":"@bentwnghk/chat","version":"1.55.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7f343c3bfc03eee4ce88d3c0bc78d81ee9351e53","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.4.tgz","fileCount":2271,"integrity":"sha512-eX2XxsRnv544b9bagZBxLo1R8H6AgddSdkapUDK4PknlTPxklt14Cg/CDGq2xZ+9q8NCSpSWjnEdhciaa9bpng==","signatures":[{"sig":"MEUCIQDt3qPrR2DsWekNWmbCP70ot+obe2TazGilOHf3N0SPjwIgM8McvdIx8cggWdPw+qvdVz4ofSfXF4mjrwrRsY4X/1Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14029118},"gitHead":"b7b651180b48911259be3921842a897ae6806062","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"5.20.0","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.6","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.4_1724321405961_0.46418740962277205","host":"s3://npm-registry-packages"}},"1.55.5":{"name":"@bentwnghk/chat","version":"1.55.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"09e7bf35a1f970aa2479d610d9bec3ca97059be0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.5.tgz","fileCount":2272,"integrity":"sha512-ObHo+fGfVNzIq96BwRd3q/3kZ3QTFKxNBiNlc/7ulkzFvzR+EPXHOLF8YD5HJiIqJonginbc3+Ae2CnUg5Vdlg==","signatures":[{"sig":"MEUCIQC4YF6pjkI13HU9bZp3P+n+Z2YRWD+13qWQa7/kJIh0DwIgco3K0L3lbY4y/tDgbv6GAruRG78W7lSTXgzWOSJkmDU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14041395},"gitHead":"6e43e3cc86678b3eac53a58ddc8473d844ab34c4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.6","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.5_1724337249536_0.07260838014811699","host":"s3://npm-registry-packages"}},"1.55.6":{"name":"@bentwnghk/chat","version":"1.55.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"78b9fdbc51e50de5a852202eeecc9ec676393a92","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.6.tgz","fileCount":2272,"integrity":"sha512-iGYPojUWTkv5PtwdMA0HKZL/8QbY8/PbCcR+DSkZaGVGh+Ho+U9v9VZq3Abh4n+oqxjx78FMYp7c8vVhbZ2BvA==","signatures":[{"sig":"MEQCIFgk4KjfdBKRsXDEy1w23fQrQbjgGZXWbpzIJWEhVC2cAiAjcOQSGfxEk5zBtYm546m9rrY3aaW1AQJ/V7cXN1zUwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14044334},"gitHead":"5f541dd8479d6dedd95345b50784d9fa0fcd463e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.6","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.6_1724340253810_0.9560854391380733","host":"s3://npm-registry-packages"}},"1.55.7":{"name":"@bentwnghk/chat","version":"1.55.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f68f606c6c8ca1cfd3aada7fbc4048a712255547","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.7.tgz","fileCount":2272,"integrity":"sha512-ZxulBFYuVg2GoMuDcj8EnRe/ha3nz2kEa7YzA0nAqtge871I/cHDyk9yLl3PVBjti7Da5+XAFEXZJtM5oqaL2A==","signatures":[{"sig":"MEQCIEB32ttE88aEVeEealL2T2Stk+svaCJaerlh9dDSoQntAiBSpUQwCg8rrOvDppkvgOJ+9o5Ts4MEkB5oYlnunpSFeg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14045828},"gitHead":"85c57821dd0bbd33f02ec3a51853b25ff9c76649","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.6","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.7_1724366019249_0.09499130769129382","host":"s3://npm-registry-packages"}},"1.55.8":{"name":"@bentwnghk/chat","version":"1.55.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4885502ef7244ebb317dc7c11bb9f4a307a20e6e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.8.tgz","fileCount":2273,"integrity":"sha512-K7rF2bBYl7QxtJNSJYlKtKvQyx2aalr9aXdqXpc/wRCNgFVavFEX9NTI5zY8+iMuvNC4miuAaswY95ZwC1dSjw==","signatures":[{"sig":"MEYCIQDLFNBRvNDLQg6F7/DwTJODQyEvqfS69oSfGto84Q4yJwIhALnbyrn/qFR9z0w+1zrsqD0rwgeP7BKTgFYoaiaJI1nq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14047580},"gitHead":"5ed70457e7b06d864d9582058c64bd43be8233b1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.2.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.6.3","next":"^14.2.6","nuqs":"^1.17.4","pino":"^9.2.0","svix":"^1.24.0","uuid":"^10.0.0","yaml":"^2.4.5","dayjs":"^1.11.11","debug":"^4.3.5","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.4","ahooks":"^3.8.0","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.2","ts-md5":"^1.3.1","i18next":"^23.11.5","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.4","langfuse":"^3.14.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.4.2","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.16","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.144.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.0.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.2.14","@clerk/themes":"^2.1.10","gpt-tokenizer":"^2.1.2","langfuse-core":"^3.14.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.118.0","react-virtuoso":"^4.7.11","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.3.7","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.609.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.4","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.27","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.51.11","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.4","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.609.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.609.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.16.2","dpdm":"^3.14.0","glob":"^10.4.3","vite":"^5.3.3","husky":"^9.0.11","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.1.0","prettier":"^3.3.2","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.10","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.3.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.3","@types/diff":"^5.2.1","@types/node":"^20.14.10","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.0","gray-matter":"^4.0.3","lint-staged":"^15.2.7","@types/debug":"^4.1.12","@types/react":"^18.3.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.3","@types/lodash":"^4.17.6","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.3.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.0","@lobehub/seo-cli":"^1.4.1","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.7","@next/bundle-analyzer":"^14.2.4","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.4","@testing-library/jest-dom":"^6.4.6","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.8_1724404186673_0.7646135428143612","host":"s3://npm-registry-packages"}},"1.55.9":{"name":"@bentwnghk/chat","version":"1.55.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"802e087e6dffc3e7b1f3d6cb70f0c03904bd9e4c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.9.tgz","fileCount":2273,"integrity":"sha512-+iAGGwKfyIubR9Xa+GlYXvGtT6tA4ge1FfXpmctAjtEc4jPOYAx3e1m63dOi7VKKiY4Bh0f1hVBku97B1D0PfA==","signatures":[{"sig":"MEQCIAiy718VOsimhG3eg2GS9hBJGvga1aQgC0teU8DFRMktAiB9z4f03VmQ2YyYl1OTgXp/qcZ0SaXMG93pgItJRlza8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14045066},"gitHead":"7276fe0c93c7df11d53512275e2bbafca5ad57fa","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^10.4.5","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.2","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.9_1724424831410_0.630550097718924","host":"s3://npm-registry-packages"}},"1.55.10":{"name":"@bentwnghk/chat","version":"1.55.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b8d9bbb0ec28984b32415e6ae04b8ef9fca3bbeb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.10.tgz","fileCount":2273,"integrity":"sha512-IEiM9C50ArjFzUnR2yo0HI34TtEd3oNqCCIROoXRBe2tH1Bt9AGIClk2bjmVlJsd7jCM2GFbG5Q4s08vcXwRBQ==","signatures":[{"sig":"MEYCIQCk7vJ7TarNcKR25ov3a/poLC69NZP0ERDlN/wxZFwYogIhAPYpfaaV0Z6lZxjEyBE7UOBg/jE3WE0PvMJMeNxeGrRF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14059281},"gitHead":"79525af4f476fe007695418aef6a9a1a1a915fb8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.2","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.10_1724454963395_0.76434418754599","host":"s3://npm-registry-packages"}},"1.55.11":{"name":"@bentwnghk/chat","version":"1.55.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c9dfbcd663f492c9e58e1c96c861be0c6db0ac1e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.11.tgz","fileCount":2273,"integrity":"sha512-E/byBsgkG+ylJ9z4+zcr/lXd7mOTxW/oLd9nxJ8P+urS2Kustmh5DujChhielGNUYBKODi/45UEAn6IkPMQp+w==","signatures":[{"sig":"MEUCIQDAQhxIJenawrSx6kUGrJ3OFPXkR+ntYT3gPuoP6dblrwIgNBYBEUEiKZwEM+mVtf4gA/WropBLqAECS213Z5Pb8uk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14059649},"gitHead":"dd22683375dac4507d9d8b59a9dbe07ade0f2980","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.2","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.11_1724469818912_0.09131797313941359","host":"s3://npm-registry-packages"}},"1.55.12":{"name":"@bentwnghk/chat","version":"1.55.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"001214ac4a53e8e5c4fa61704c3c321726780dfd","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.12.tgz","fileCount":2271,"integrity":"sha512-+XDxg83OCldanFql4eqTISUWh41jKwhuPsaKN8kCvIXgXq/4+j3PZ5QoAEfz6XaUXA7CJV3KmlqULWuJhNNG7w==","signatures":[{"sig":"MEYCIQCwfEySHZOd7WbHcVLoacKZx7lgdXKXfbHZeTmI2wHNKgIhAI50t5+IdQl/fcAKM6bVZZPiusvuhHOPaHnE4KXDBnei","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14053510},"gitHead":"0c8be5cb2be4b62715c61a52fcdd48fc5a8383c2","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.2","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.12_1724487277120_0.5700308870171282","host":"s3://npm-registry-packages"}},"1.55.13":{"name":"@bentwnghk/chat","version":"1.55.13","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.13","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6dd9b889ba3dee9d6762e133a3c0f5d91c3e4699","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.13.tgz","fileCount":2275,"integrity":"sha512-SlaGttERvNRn/cZ+ws5pBD8pX2vH28Usf1TUWVRWz/7v6WC1+uyp4HR+clcceCf53m++SXuhvo0YmGDZulvmcA==","signatures":[{"sig":"MEUCIQDIgF7ycu0bQE3Nw2L0MPe4XfSskOJjCAP1TiO/m2GxngIgC8PtsGk2Nm1IIR13LvTKJ7ztyMxa02EZgWnY5sfjJtA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14060994},"gitHead":"ce4915034a68d607ac2c2be8409173b520454ccb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"~4.54.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.32.2","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.10.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^1.12.8","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.7.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^14.12.3","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.23.2","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.13_1724542924543_0.5516913421646399","host":"s3://npm-registry-packages"}},"1.55.14":{"name":"@bentwnghk/chat","version":"1.55.14","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.14","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"836d7ad7cc953ff94ca3483b81834fb0415e30f5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.14.tgz","fileCount":2275,"integrity":"sha512-4Txi6fkljDRo4QYL88IIQFL5dpTfB+w3ywog8LM0mcmHNTSQYychtGXWQ3SmfrHn5IbXqFuiTAt67Xi6/ggxmw==","signatures":[{"sig":"MEUCICn5cWCaSOR05vnuwCWthk0n+vr2qRvByGAfqRteum5ZAiEAvFhPV3eZIh3WCwIBIco6D6gBEsJaM1k2Gjqj7r7bN08=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14061332},"gitHead":"219fc03b23ba711b624de793b00f80bf43be4360","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.14_1724672086425_0.10407814306351582","host":"s3://npm-registry-packages"}},"1.55.15":{"name":"@bentwnghk/chat","version":"1.55.15","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.55.15","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4535b20c41b37e4cc7ecb0f7b72853f76da1951f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.55.15.tgz","fileCount":2275,"integrity":"sha512-AJG1I9AoB+5JaGeoNLx2eGLKiKQIMf3mu0moXyNMoUsoirp8Pt/JpLg/+dNfEEX+WUhUQttgxVHuE+ASYBveeQ==","signatures":[{"sig":"MEUCIQDXV07myxQuZLrtQsiIZPRl3epvhIgiTp6DQu9Jl8FBcQIgQ7kbhN1JIn6y/c5P6zxUybpvAYXnSYc+QpmZhsqYd2M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14062404},"gitHead":"39428d7c15f7150037319e68c449f7beb50c8202","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.55.15_1724717661591_0.7777136670662659","host":"s3://npm-registry-packages"}},"1.56.0":{"name":"@bentwnghk/chat","version":"1.56.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.56.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3d0c080c8a83cf3f05324c354b997c3446c2942e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.56.0.tgz","fileCount":2278,"integrity":"sha512-Tyay/GxGjeaQpgE84ppwxlfkfKaOLPh17LtbJBM/EV2zEnrXX5Ix/mmfcdeQ9+alG0qwW7ClVpCFulWiTja7vA==","signatures":[{"sig":"MEQCIAjgaCmAozqlHAKKnc9Y29TvFD09+aSEZ3L5IqZ13zSYAiBBNxVqMpI6xkiF7pykPpWZmFj2hVsGXc+rKOWgQdbwaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14071859},"gitHead":"32ef9160d90a0fcd5d0987971f0def70e714d83b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.56.0_1724739942424_0.043950826194503634","host":"s3://npm-registry-packages"}},"1.56.1":{"name":"@bentwnghk/chat","version":"1.56.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.56.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d888c49fef48bf8798edb5cbbd04d95f5e923387","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.56.1.tgz","fileCount":2278,"integrity":"sha512-iaK7Y6knNdivoqbFJX2hMb+UTx0FHSiiZss1dJM73VJhutNGA3DN4n77pcQl7X9eKQ3eY1bDgU2gEkkgMwYPwg==","signatures":[{"sig":"MEUCIQDuhivz5xJdlfMNn3uizMCIvrvVyl0mjK7NyyT1BcpgzwIgLYrYqWTmqmpAUrHiSYNviVGhBxaaBYUW4/JGRLCNaEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14076424},"gitHead":"604006fa626029b7fc80357460312f5a314b6b97","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.56.1_1724754714651_0.26930612061093595","host":"s3://npm-registry-packages"}},"1.57.0":{"name":"@bentwnghk/chat","version":"1.57.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.57.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"82b30e7405a77d7ac98e682553ebc9b794b98ef9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.57.0.tgz","fileCount":2287,"integrity":"sha512-7cqPOW2BjbeFwaejp6jn56K+NdIGGQqZXgtfXMjtQ0DP2cgvLCse8iCnHLTdwIWATx4l+s+n9E5jkEYBnXvexw==","signatures":[{"sig":"MEYCIQD3Y/47M2/9v6ZwSrfZryf8BP9vuCV8f+Pcnk75r/yY2wIhANuoFX6UlPO4wqCdvUQjktdQHxN1uBncKEElB3FvQM5J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14193902},"gitHead":"500cf5fa8f6200341acf011059b5ad04ee63be79","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.28.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.57.0_1724800295724_0.972650894552737","host":"s3://npm-registry-packages"}},"1.57.1":{"name":"@bentwnghk/chat","version":"1.57.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.57.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b19e6fd421cd9bab60852e27b8550c37d960f52b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.57.1.tgz","fileCount":2285,"integrity":"sha512-1ZPliPlOFoSV07z09Aw9PgYkrfqzlEIyejCC7iGLHPCdXMwdS9ei1qdV54J0jqYJk64CZ8DOVf8PtXe6hFRb2w==","signatures":[{"sig":"MEUCIQCLhmQZjiPSKj0CsMidYc0z0vLpsqcqp40N05gDw1uPBgIgBSYtEtvznluBgl5rcRIeqq3tcJcPxjF4zmtLb6Rh7M0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14189214},"gitHead":"1f924088f0dabf2eb476ce5b30261df86c98bff5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.57.1_1724843949202_0.8053289182753021","host":"s3://npm-registry-packages"}},"1.57.2":{"name":"@bentwnghk/chat","version":"1.57.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.57.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d6e751843e4915eb1aa692adcd7abb09d369038a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.57.2.tgz","fileCount":2298,"integrity":"sha512-UArWOiMCeJGt3pPQv5jf7aC0OYPVqXJMIwQySboa8RxqrIBEfDQJ3D0qSfM/sSCJtDr5u6l+ddQgnNHTHBFjAQ==","signatures":[{"sig":"MEUCIDFRb3KRh2Y4V8iUslsKz/7X2RtIzsrxXNHe5QBwaiX8AiEAgEyLly5DEfCcdHAsT10Gj+E0ofcsXHMOT5FQtfrrCMc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14216671},"gitHead":"cc74b978f57c43619401923f645db6a1c4752bfc","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.57.2_1724898193877_0.859829942965193","host":"s3://npm-registry-packages"}},"1.57.3":{"name":"@bentwnghk/chat","version":"1.57.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.57.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"20bcd8c8fba59ef78aadca5d6a371966dc7be3a2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.57.3.tgz","fileCount":2298,"integrity":"sha512-2ngWKwJMGZCICZvFTsMaEvf+PZVnXlC225vXa4sZMgrcq/rIglpjmhwLfFTU+quzl7nPbgf4N4y8XTUms/B9OA==","signatures":[{"sig":"MEUCIQDKA6DIWR4j4dvnXUI27zj1fT7IrGvdH2nEtkZ1IerdfwIgT7YLS4KIqqqA+H1mk30lj7yuNT5QWwqZk7MGTC2H2Oc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14215918},"gitHead":"ecbeac8550b930837dfc30466be93b10b119a61f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.57.3_1724923583134_0.7653900461484275","host":"s3://npm-registry-packages"}},"1.57.4":{"name":"@bentwnghk/chat","version":"1.57.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.57.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2ce789b7f5b9031df5a42eddcb642251925932ac","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.57.4.tgz","fileCount":2299,"integrity":"sha512-oB+K9MsKul2bJ9ebujLcxKiLE+FcuVdk6dBvWcdyAot917C6bKYhWdU/41XEE3AjygvtfiJgJ0IRCXZZuT4Quw==","signatures":[{"sig":"MEUCIQDvvlGKo7frbcsWe5wFr2SaMxLsa3rzeO0OHKptTpqwowIgI+JAZQhi5iXqy5PHEDh2qWHreM1UF/TrEyheCa334d0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14219086},"gitHead":"51ec2a5624118c967608f78255769b90a1b7abf9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.57.4_1724977986235_0.7586364306352837","host":"s3://npm-registry-packages"}},"1.58.0":{"name":"@bentwnghk/chat","version":"1.58.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ca09ec0f5ffaa55e68da74b6e13d59a6a889c187","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.0.tgz","fileCount":2310,"integrity":"sha512-WAi7/W4zW1G5sfHk4zNVoWW7yVQQPnDvvGk+C6NolIaSXOnggdAwHI3gFoeYnD+r3uoyFrn4THJRgB6D9Wczqw==","signatures":[{"sig":"MEUCIQCB4egbG/uma3kZWDZx0sK8YSxAAF3P/JHY/+ZHOGfi7QIgCvmU9NdWvLsSopIoHFIeNTBdd89zM/60ZDRzvcSCtqA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14255990},"gitHead":"83fe3c688c6c9557f2adccbbeea04454c0338318","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.8.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.0_1725032375903_0.45688849902141904","host":"s3://npm-registry-packages"}},"1.58.1":{"name":"@bentwnghk/chat","version":"1.58.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8ce38783e175b9c7e07ffe3f037e506345b2a80f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.1.tgz","fileCount":2310,"integrity":"sha512-cSmeHzIjOg8XzjQaeHQ6IuCDWz5N9nN79efXSdXaPnQ+6f+8xM+5dp4UkFiwRK6I2Xv8QSlEsegSz3pTcmVwIQ==","signatures":[{"sig":"MEUCIQCe8NVHXyn3//niKtJA4Cweg2mOvYHLTL0FyFfOpAgdmAIgJwnW7+J9+PO9hx1X4yylWDboZW6z5crAN8Z/fruKHqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14260617},"gitHead":"32bb5d942050246f6f5e0d8a6abdc9b940a9b24b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.1_1725175643707_0.17791401738571389","host":"s3://npm-registry-packages"}},"1.58.2":{"name":"@bentwnghk/chat","version":"1.58.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"aac44607f776f0df0131876e60d3e9bade927bbf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.2.tgz","fileCount":2310,"integrity":"sha512-zbxJYJNPtxUN1hUgM4YbA/NXaOaB6Tfs4NesRLANDuE+FxsoUSDJZyCRTUL742jladJaQWjcv7EvWlA4jashNw==","signatures":[{"sig":"MEYCIQCcWtTsUuEy+a/cY2k80PrxZNhxje67YkvJX2fb6V2luAIhAJdOERQy222rqWpRzuttUScuHxovMh8tAjXiLYYK2TDh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14264272},"gitHead":"9ea74b67eae67160a3e611b069e014928fab5166","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.2_1725190006908_0.391759422307949","host":"s3://npm-registry-packages"}},"1.58.3":{"name":"@bentwnghk/chat","version":"1.58.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8c6454bf3c46ee690f3faf537822d2ab871a0519","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.3.tgz","fileCount":2310,"integrity":"sha512-qwvxevokiKTfRYGtJdO7G1aZZo2LRlY7BItcExeyWIPMt5Uep0BwQWqjsYRuluudGkT565/kSjueDkGDlABZSw==","signatures":[{"sig":"MEYCIQDweAqTz7luQ6pf/G6RcPjtI1oTav1MC9RGcwnD8W7yBQIhAMYcWcrN01aq2dX6COXU9jxun7UECw+eVPmWCcsM/aNl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14265661},"gitHead":"e3c85cec8f2ccc775468fdf8e720d24cb679e4de","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.3_1725273344666_0.9358579392305659","host":"s3://npm-registry-packages"}},"1.58.4":{"name":"@bentwnghk/chat","version":"1.58.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"71861c8d2b5537f1338e084f92f0343ea20af7b9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.4.tgz","fileCount":2310,"integrity":"sha512-RrJRDZydGsgjTcKlAcbIshteTM+RGjQ6kNNIDo/1WJHVhopCqwrz1rcqYS2OVoA3GbWVKHQAF85NifKt+cXkBw==","signatures":[{"sig":"MEQCIEeMLRNQekPlS8t1yfINjFTyl2gvQIQNMHfqwmlgrcjlAiBxePfE6oVN+pjCyRiNJHEkynPgHCHdiwJZDGvx1i+sEw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14266236},"gitHead":"a89d1d18672a1fbd4c90a69689b83f65a1a2e28e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.4_1725361826266_0.7634416056807098","host":"s3://npm-registry-packages"}},"1.58.5":{"name":"@bentwnghk/chat","version":"1.58.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"334c0f05b38226cbaacfbebeb4ea2a3c87d6e7fc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.5.tgz","fileCount":2374,"integrity":"sha512-4KOAjIuhd9r/X2v1LCG91oPeH+GSqj4KuR9fJzTalunqhZk2EvlohNIIuqtAFAlkn9UdpUQimsfK9F1sC8joyw==","signatures":[{"sig":"MEYCIQDQJZi42+Euw8lDR4TEwlETgM3IrGEn45D/fXDLWtC4MgIhAKKBosH5OxAQ430Z6ppXeIUcZNfdiFzu8DCv9zRFCyLc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14490394},"gitHead":"bc000c549b923c6e217562ec10d991aceb23b4c6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.5_1725448384141_0.7190166505708755","host":"s3://npm-registry-packages"}},"1.58.6":{"name":"@bentwnghk/chat","version":"1.58.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"998ce64485763188cb0978898acfb402e8ad7562","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.6.tgz","fileCount":2374,"integrity":"sha512-jX0hkd3BgZjW83oeDc4ONl0bX6zgTuV+TJAkHuFz0PYki1xVKzpNFpr1tVA5TIcOnfCvp21YzdXDlt7SzYYVag==","signatures":[{"sig":"MEUCIHH4aPzLUZQpchprTciHSmAqOP4b5BJMU+aQBpvLnGHOAiEAr2uNkvMsLBfCVHUsCAwrKjmfPs1n28wt/mrVobEUBOI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14490985},"gitHead":"294b969f8edf5fbc060168022972f963acf4ae27","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.6_1725529103284_0.5733560815089211","host":"s3://npm-registry-packages"}},"1.58.7":{"name":"@bentwnghk/chat","version":"1.58.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"dcb916592e5eb1d495d4828796d64b28ad775cf9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.7.tgz","fileCount":2374,"integrity":"sha512-cveKEBNZ9QtnaqrDcHvNA7f0OXvEA2nMxVVDW9eXVLZ1UCRQAYKewLfjPEr8VjaM0k8dqSTTB6LuBpx5PWLqTQ==","signatures":[{"sig":"MEQCICher7qYaa95xa/zSLGd1exq8VWkthAY2wsE3OuZEiHsAiAqHmh62ti7+wxrwe74O7/N53xjpRb8ekFaozrAP6/aeA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14491297},"gitHead":"463bb41d35d5edae465c20a3eb6d8ea8902456b3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.7_1725602559218_0.6455018823318959","host":"s3://npm-registry-packages"}},"1.58.8":{"name":"@bentwnghk/chat","version":"1.58.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8e9554b6d3dd934c407a9a45b79c20b1a11bc58e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.8.tgz","fileCount":2374,"integrity":"sha512-vZI8gIocCkvHj1PQE4PNPw0ESx6JA/UYtrd/cqj0Z1FApgHDu8C8P1AzjezQVI56KLTpmZbYvrnrYR36tNAurg==","signatures":[{"sig":"MEUCIQCxNFnE22Pg2MDAihUUmtYivtzxw2BQHSApXongacEotAIgUwRna34lg576CSL+N8KgBvyu5YURMuRyQHdqGOn3NgI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14505014},"gitHead":"7110c35ae47470411bd18ba5416b7098c6d50ed6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.8_1725634034460_0.4612627059629433","host":"s3://npm-registry-packages"}},"1.58.9":{"name":"@bentwnghk/chat","version":"1.58.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"24299b1677715038c8cedc00319eada04dcbd94f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.9.tgz","fileCount":2374,"integrity":"sha512-40v0Ay2OuL09Q8UZWOnHenlCq1FkpyE/EcIAjq0AOJiBmxhhLfU3RX+PXnN0q2uD50GgLHtD1621iUr9IKWxeQ==","signatures":[{"sig":"MEUCIQD3ahMhBD0iC0c4DpfBrKfcqCg6Wcd53BipUXX3ZnaQiAIgIQhW9dGYer0fdqeCR2n/oUCVnpadaAc4Rb+4hKuB9yo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14505695},"gitHead":"851a039e8a987f8fcbce804dd49f7fddb8af0d40","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.24.3","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.9_1725639555201_0.30310207053385607","host":"s3://npm-registry-packages"}},"1.58.10":{"name":"@bentwnghk/chat","version":"1.58.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"aff7fc7323733565f3a416b49d2b5e4ae5628165","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.10.tgz","fileCount":2374,"integrity":"sha512-mRXLcQgdIeG52qvoRrEdmW+M7OIrrwQrC7tggYSl7nbJzXt05VeHI30+xGIPPeHTQXfIW45ojp7E1lsSbJMUhg==","signatures":[{"sig":"MEUCIFOn3cmLN+3Ms/rHk6JK/roObAGj0g3BWv8coqs9U1FWAiEA9UGbQ4Lf8ANBQj7b1t8o2SXv2078RbSrKSHewYYzsp4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14506273},"gitHead":"fc360b83305f754a71919a198e69b068d2d49028","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.6","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.10_1725676784260_0.5996710836857604","host":"s3://npm-registry-packages"}},"1.58.11":{"name":"@bentwnghk/chat","version":"1.58.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bddba88148b181ec364422bc113bf8de694fdfc1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.11.tgz","fileCount":2380,"integrity":"sha512-pof8aPEwO4jbYWcea4eJlys2rwZzst6kB9XQ2zfk/89VASbCl3KAe23eCEpDk3bE/JMJfyhFYOnTHYOKRg9g8A==","signatures":[{"sig":"MEUCIQCBAWy4UMGxk/wfmoF5fkB+qPAwItGI991Qt5eMkyE+AQIgDeB1LoVxizGd2QUGIH6tCiHyls6UsUA6UI/zxJO7L7w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14514009},"gitHead":"5304ea2cd7060b499710e02e0e4e1faa5b70da87","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.11_1725780382469_0.949913616345466","host":"s3://npm-registry-packages"}},"1.58.12":{"name":"@bentwnghk/chat","version":"1.58.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"96ae0d65f256f11bc16b1d9e562b514bc199858c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.12.tgz","fileCount":2380,"integrity":"sha512-Npal8w5+3Ne6qKeQVPSu2t2h17qiKzi2fawa887XStzCMQ4xKxfBpcRdDix0zHnuBScQInHqEtYeJo+svKLgLA==","signatures":[{"sig":"MEUCIEKc4NdbHimiln+Afx8kCNOjsR2J5MPNwr7v8Zb6p588AiEAmGmhITyPOTaow440lIFs38vbQpPTQSMglOcdY6zP/4I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14514336},"gitHead":"a52623fa7fe6f373266efd2884b97963e9be5f41","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.12_1725801949535_0.9068650023794538","host":"s3://npm-registry-packages"}},"1.58.13":{"name":"@bentwnghk/chat","version":"1.58.13","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.13","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0b25d9a8633841bf1fa4957098114c682af16075","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.13.tgz","fileCount":2383,"integrity":"sha512-13723DxsT5FiuFwLdlUM+NhR4HqKkiwM4i/IvelKA1d2Gh3wPmDgKgSG1Zz1GNNQC912YQhLWlRCJpdhRybZDg==","signatures":[{"sig":"MEYCIQDY/PqCYDT+VLy7qOFajccSV9GEEKvE6IGNodE+hfRGnAIhALk8f39O3Ojee3nzmLulHAX0GvKR8e0xliPt+LRunkaD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14528003},"gitHead":"744c1685b921e1ccf5efeca92e7081dd8e4a010f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.13_1725862518238_0.47326550453223226","host":"s3://npm-registry-packages"}},"1.58.14":{"name":"@bentwnghk/chat","version":"1.58.14","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.14","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b12ab73588c28a1a6c3087466055acdd58884101","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.14.tgz","fileCount":2383,"integrity":"sha512-3MI5efKAVo+6ARw631A9HgIQVaUG+yM5xVohQn/NdfUrV9o8lIW/oOFoTJ547reHAvOXc0Ks2GQrV6NZrnA5FA==","signatures":[{"sig":"MEUCIQDLWRZfrIDcf5R730ntIwy3qcaXUCmxEouNHuiFt1ioGAIgCiVIIn9MdiylGFRY32tgDplOz38w0xuJIUjV5cHI7PE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14529402},"gitHead":"d944ad997438c5f971ae9a849332edb99167825c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.14_1725869913424_0.5953915833694317","host":"s3://npm-registry-packages"}},"1.58.15":{"name":"@bentwnghk/chat","version":"1.58.15","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.15","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1f0e94b194b73e211d2cc0a7fa90cc59004c27c0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.15.tgz","fileCount":2383,"integrity":"sha512-SLzV/ofWjp2rLpyiJqYryVjpCGFzZGV1s3JwT2Hccx+WvgT8uhPH4yiHS0jp3A4924CfR1qI3+haOUlmDmivgQ==","signatures":[{"sig":"MEYCIQDym8FhPBAc7tEO8Bkw4wbRsAaaMjIql3EsHxuASlCAsAIhAPisBxR+ExzZlkR7SblmdYeBWLOj6JyWDl6qT6WWmkUa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14539368},"gitHead":"50bc18cef444b96f571974331f91bf14f83c5754","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.15_1725977372050_0.992242297589303","host":"s3://npm-registry-packages"}},"1.58.16":{"name":"@bentwnghk/chat","version":"1.58.16","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.58.16","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"75fb66743299338900573a0b069807cdf430e693","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.58.16.tgz","fileCount":2383,"integrity":"sha512-+8I3yWUu01jNtv0MeNgyH9E7tqzBar4GRxZv9pF/EiRUJ0khGo01/VACRFnmFvxR13nx12ZUnsDasGiC0i1yig==","signatures":[{"sig":"MEQCIB1E91PzKreBPuKtB3WN1MKGIIYmFaj1c4Ybex1DrcVOAiBoAgGJVjHLpor3jgdR3Sds6gFNkYK3qOmlgRpiLKYmkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14541198},"gitHead":"dc004da9fcca4fc172cad5e4618ed00a7dae83c2","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.21","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.30.0","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.15.1","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.58.16_1725977904898_0.019350184745302368","host":"s3://npm-registry-packages"}},"1.59.0":{"name":"@bentwnghk/chat","version":"1.59.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.59.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"894a1a2b0f5e9f433a70be82b2c044eef0ebb4ce","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.59.0.tgz","fileCount":2390,"integrity":"sha512-tI6aPJ0IT1381UXr3dGebrh/c8qm3txYwvgn+16ZREsx2HaMwqzcWfdhuREg/0RviHyss9QkIzF3uTJaKxzYSQ==","signatures":[{"sig":"MEYCIQDEO4pMVcBzcHMHgyS3oBO7oU1VsUkSQ9101iHamTUG0wIhAOr+luZDpa3A4FamGgg6c5AmaeoqTYhnkqOrOHRP3Wtj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14575845},"gitHead":"55273e555dd341a55463eb5f4ab4d1bbf38b0515","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"^14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.59.0_1726053667824_0.16980425643740094","host":"s3://npm-registry-packages"}},"1.59.1":{"name":"@bentwnghk/chat","version":"1.59.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.59.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5083019a4d0d7758175a7d9cb3eb5e1985b5db09","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.59.1.tgz","fileCount":2390,"integrity":"sha512-RNmhrFbJSOgSgoB0Dnjc8HMhT2iWSxT9yZLRackVCyk4W3og1ENQxqHA6pk2EVuPC4Ppz9qM/WoU7YXzjKuB5g==","signatures":[{"sig":"MEQCIAmoH1Dy8oliCFo54LUHiKLDbSZt8iLxl3cPmqzbHFquAiAK7jtRJivv5/R0qn2oUmSQaSxQcuLfs+9J+4nOh/GoNg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14576453},"gitHead":"c29eb20e73ec66b8773de4270278b526c3383911","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.59.1_1726057460587_0.6121091572754862","host":"s3://npm-registry-packages"}},"1.59.2":{"name":"@bentwnghk/chat","version":"1.59.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.59.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7870a8974583781a9fb2825c13405396cc43dc36","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.59.2.tgz","fileCount":2390,"integrity":"sha512-if6IYy1wU/ia7C5nwvyr+AtX+RJD/Tw8BKpoBwB7Z+wwjtdc+oILlxHL6P8L1YJtsqWaJUb3FySqTGbE/+fs7g==","signatures":[{"sig":"MEYCIQDc0g9MUeUZKj1frVZDKbREZNUdNovYfxdeogI6CFYjngIhAJ7XoRssQpKp24nOK3gjlXUccHWpRDDF3fYm5XQIIw5z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14581450},"gitHead":"007c2e1c6cd8d077cdfd420163e1905a39dce755","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.59.2_1726097833199_0.10621389744411514","host":"s3://npm-registry-packages"}},"1.59.3":{"name":"@bentwnghk/chat","version":"1.59.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.59.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4e72064be68d895fdd1d6f0ad2124ca31803ba3f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.59.3.tgz","fileCount":2391,"integrity":"sha512-lzJufhc3sbqL2ZotzglWAJWWjBApsROph+K9t+XOYccT36gbjTCBL5EpqQSJM5lbi7iT6BT9suJHYEdDgTOtVg==","signatures":[{"sig":"MEYCIQDnDT6CCHEdjkcWcWoA2mshiSqlaB8CvP/38A2ZrcoQ3gIhAMy1L2iJNZyojrep8lj2DgBMoxL0wzhmH6whQkFzQ91T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14589192},"gitHead":"61d1ac90a1ddca95dca21b3891b270d8dbd5d94f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.59.3_1726119773194_0.8530102503707475","host":"s3://npm-registry-packages"}},"1.59.4":{"name":"@bentwnghk/chat","version":"1.59.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.59.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fa38e1db2229df0c90c71db12e21a8e3e2c2a8f5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.59.4.tgz","fileCount":2392,"integrity":"sha512-3LHLQt8fCzjNf0SAUH7Ng++28bPbT+a1cNzcGFvtTmW/eiCzu/g9GRi6EoONQTFEEYgZ7VMegQNb/2yTfj89Ig==","signatures":[{"sig":"MEYCIQDqVwVVWsqMkmAHy3QNATPX3PdWkQsc3bWwQDwDHwYlzQIhAK2CDPoO7cUHF72nNTB+FLEStPCx4SZYkgniLo2gI09i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14632525},"gitHead":"9e75cc5bf67c73a85a3452d6eb7bf8fdb418abea","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.15","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"0.28.0","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.59.4_1726142272889_0.4495197418722783","host":"s3://npm-registry-packages"}},"1.60.0":{"name":"@bentwnghk/chat","version":"1.60.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.60.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0fbc3ea818c3865d6aa2b88d25d88c619e5561ef","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.60.0.tgz","fileCount":2397,"integrity":"sha512-evZmQRhaP52V9QLeRj2q5EAqroKwjyN78Vx8hv+eB3b4fIQ21dPDwJJnbprCRA/GHtxI97r2lsNiVkNTGbCLQg==","signatures":[{"sig":"MEQCIHd1gnVKVpjtBDwbxyzofQMViGlpl56XJ+TqDsvMp+R6AiBtRLRPN1Bn9GhjLKmm8pUijDLRNJfbbv/2x7GKT2xMGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14662903},"gitHead":"b1cc305c5e814d14b301e5b76caa8073263f11a1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.60.0_1726205197976_0.529145892514636","host":"s3://npm-registry-packages"}},"1.60.1":{"name":"@bentwnghk/chat","version":"1.60.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.60.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7191bf069b260f1a556b2e1138b7e78029d9a7b9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.60.1.tgz","fileCount":2397,"integrity":"sha512-vLN2TqQ7h2UfjAX0sMqy7o6bHoZBoMFjA66cK4J45vToqlhyq3SC7cxMkbp3S8KinQeCwSOLNNaCnPqB+TBUSw==","signatures":[{"sig":"MEUCIH/Ma1XE2p/izk0oxkUCCUl53Fw5Sn4M4X4U3e1GltqqAiEAmyYnzZ3k5UdHe10uZJjU7Xnp+acamIiVzkeyMfqTW3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14664262},"gitHead":"43847a5fbec8877f278a8b2746caa7dd14542643","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.60.1_1726227174806_0.5336148691587719","host":"s3://npm-registry-packages"}},"1.60.2":{"name":"@bentwnghk/chat","version":"1.60.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.60.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"087ae97fdb2b37406bd8ea612f12eb0810643830","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.60.2.tgz","fileCount":2397,"integrity":"sha512-WX4MUV/d/XpMU0FBsiSScEh/dWL2Bsb6sZIIQa58XiML6j1ew8EC5HTYSfy6+jc+XQVUWvnxGrQ7x0y4sHPLKg==","signatures":[{"sig":"MEYCIQC207/O+SGGOigx/7+sNvozeuldpCiSRoOMVvS+oWDHrgIhAMY7ameou9+piyKbOWLe5KKFnes0djfnebrQ9feGJpsV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14666832},"gitHead":"28562eeaa975607598be4e5c549ece280a43fe0f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.60.2_1726267927623_0.6205968466097975","host":"s3://npm-registry-packages"}},"1.60.3":{"name":"@bentwnghk/chat","version":"1.60.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.60.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"27b3ed75157e2a1c5fe4f0609446351730c7ffc3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.60.3.tgz","fileCount":2397,"integrity":"sha512-eQIjep1qdpucK2zIgip2zcO9isAVVdUVnw7l4Im/v2mUm83TkSmxXuGHTG3Eoy/xyirlJggU8JzN2hm2dmm14g==","signatures":[{"sig":"MEQCIBEuq4QiRPQ1T8UTl3LMQrwKEOpF66rvBsi3J0eOiBs0AiAEqnRwB+30c1UDz5Gj8uf3bEJXcPPfc0KREacJVe9nDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14667422},"gitHead":"fa1239ddf8b5bf54ad2a85c6b667acc0b181cac5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.60.3_1726289729993_0.8133218688773549","host":"s3://npm-registry-packages"}},"1.60.4":{"name":"@bentwnghk/chat","version":"1.60.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.60.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2c7d3d287fe193e7c0a50320e32d757f4aadd088","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.60.4.tgz","fileCount":2397,"integrity":"sha512-T7aZJiT7X233EunxLjjxm0RMo5fCCS8PzgmMAJOtU1l0IkzXK+YMmYmZ0l25tjfD6wGz32yWkpRLl8UxQ4bKyA==","signatures":[{"sig":"MEQCIBhMsQGrogvMUDx3DMzZy8xc54DRQyb4C2sr2fY5eHbbAiAYnsCKLywjxBr2C5OuCQBf58u3h7EyR6WIyDaYjHaLYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14667976},"gitHead":"73cda99180a0bde4d208a1b4f0f4628772cb72ca","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.60.4_1726387913322_0.8640536485778461","host":"s3://npm-registry-packages"}},"1.60.5":{"name":"@bentwnghk/chat","version":"1.60.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.60.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"58269cf8e05720abdece16504a928d0cc1122425","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.60.5.tgz","fileCount":2397,"integrity":"sha512-bjPKcdNFsXELf0x/teuRxuZwcqkLGkSB5eiOC7FPpJ7b+GwKC8IDKwUwpUK84PQCnpQiOfz0OHV7QMoBefRo/g==","signatures":[{"sig":"MEYCIQCx7xsMiK/WpgUYXjY0auXT9Jf1368i8B5/d1c6vLsHHgIhAJQ72C3uDhhHUOwSjRt0rpR/KqnH0+jktBZpItluDdVx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14669505},"gitHead":"d59a5d4ec0f0d3751c1caf6ba69747aae2f7d860","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.60.5_1726473149876_0.42172777272711603","host":"s3://npm-registry-packages"}},"1.60.6":{"name":"@bentwnghk/chat","version":"1.60.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.60.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"92139a3e3d20f4b0f2da8c564eca15c2dd82a2ed","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.60.6.tgz","fileCount":2397,"integrity":"sha512-urVOnyT9hKzh4EJs9nf0m56OfWVUZpI6aPddbMHMW7zpKnbo8FWmnfxB6Xts8hGMiSpQFqQyhskIbsKk5nHcHA==","signatures":[{"sig":"MEQCIBkYOOUxUa4id9ilMjZe+4xEO2cZDfpTVkLcnEVeZ98HAiBW4J1xUE0tkgNPUT48BEca82uEv0tkVAfa4rtqODGDFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14671517},"gitHead":"1b9219d299802d072258066c2e9c5f8f9bbcfc84","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.9.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.60.6_1726570548146_0.6094325320593965","host":"s3://npm-registry-packages"}},"1.61.0":{"name":"@bentwnghk/chat","version":"1.61.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.61.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7ddff20b83668f7be24a4e554e398624e4395935","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.61.0.tgz","fileCount":2573,"integrity":"sha512-0Rc3X+Hvj9gFON/+9a0t8a4Jo/vEeuzVX6YCRxIxdqr+XfMPBWDdZUA4dS9dElj/uD6omn1YoPN9Fkyeh9OBCg==","signatures":[{"sig":"MEYCIQDZAo+CGi7w5UkheF7KY0jIGJC1hKCGIqrSt5ngUhR0DQIhAJL9TKiJ+cBpf5eqR7Mmi7PkaDMY7eV1G35gZwFsZJCW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16488635},"gitHead":"d3a665bfbb6c4a0b3263e04fa4c02850e390d4dc","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"2.0.0","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.61.0_1726660101542_0.2879226325613651","host":"s3://npm-registry-packages"}},"1.62.0":{"name":"@bentwnghk/chat","version":"1.62.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b3789e023f06b8396425b81bacbda607a7feabed","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.0.tgz","fileCount":2600,"integrity":"sha512-4WBU5PfthVvPDtRE52NmnRU3m8MKuu+Rn8Da+Ef7y4UW6LHJzS1h34YrXLXAUU+J5l3Pk8wJsfeU2zpMML39rA==","signatures":[{"sig":"MEYCIQCxww7h6keos2zHc49+XVi0BSNiU70jii63U6QFXBO2FgIhALq1goS/1mIhwYOWmIkytIyCpcM5MRlYPKt5qFyLn7wO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16865209},"gitHead":"8632bd0065519124f19a38ca47c1ff1f9a55c527","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.0_1726725220929_0.5525089574380515","host":"s3://npm-registry-packages"}},"1.62.1":{"name":"@bentwnghk/chat","version":"1.62.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a66e63968e4fc853e8dcbf74a11c9167f77b47df","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.1.tgz","fileCount":2600,"integrity":"sha512-KoApQQiJo32OnuSHPCZMSsZoyWkSjeAclVnim+5zc3hlJy1pU9bGB65nqmvyXJ7x5BUFP5Cg5i5H6YGauy/grA==","signatures":[{"sig":"MEUCIQChdN6bfEvs+Ij2uYkn7rkYfrx9uxtfyjgNsQaNMVCKyQIgdqcnEhnEsFu1KWz3lJXrQJ9boUJ52RIWztiWHp4r71o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16867280},"gitHead":"d2236c2dc3548b902b69053095eb37d300c6efb7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"next-sitemap --config next-sitemap.config.mjs","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx scripts/docsWorkflow/index.ts","workflow:i18n":"tsx scripts/i18nWorkflow/index.ts","workflow:readme":"tsx scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","next-sitemap":"^4.2.3","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.1_1726731923797_0.230789245857294","host":"s3://npm-registry-packages"}},"1.62.2":{"name":"@bentwnghk/chat","version":"1.62.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"11433679d1ae44168fc6e1eb6f32bf8f5f60a45d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.2.tgz","fileCount":2610,"integrity":"sha512-MgyZXDQvT9Q17ZT7UL3Itr1pObTOU8AYY0WQ+TxKcsedBkjnKF7vC3cTMlGs01siBVtX6FQ8l4W4MZxOxMsoyA==","signatures":[{"sig":"MEUCIQC5lb7tNNdixxm2JJy68nzpYqLggQU3QgkVvl+UR82/BwIgfLmWEl5i7Ts/Rd8eMkRiwB+OjFMoDzA1iwo+Rh45J9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16896422},"gitHead":"4b874d1d82233020351ae09e4dc2cfea1bbbd671","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.2_1726834265727_0.7938635376810694","host":"s3://npm-registry-packages"}},"1.62.3":{"name":"@bentwnghk/chat","version":"1.62.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a913849a25864a7cf0bea7440fdc032f3629d82d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.3.tgz","fileCount":2614,"integrity":"sha512-zwf03t9rjAZjgWiS8wkLD9y7ZmlcW8NA4f37PvV50+6RhmkUjN3LPZxkkR7jyae+2yKhvmhEdQu0AoudF8vf/A==","signatures":[{"sig":"MEYCIQCv88auRwxPbNUCKXSn3eaFIll/tp6BBLWpDwMU57rOzAIhAOOBsc379bPIdGVCN36RM4KXK/1mFnJM8+GqkHOnfIgq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16903546},"gitHead":"61da050ac1ffb82c0807126974b5d9862ba83322","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.3_1726847333637_0.757799036190107","host":"s3://npm-registry-packages"}},"1.62.4":{"name":"@bentwnghk/chat","version":"1.62.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c34d4e16064fe282761613756c2d78ea9341f4d7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.4.tgz","fileCount":2614,"integrity":"sha512-xwdEt4r3gTStdpliAbwxP+DI1KoJSquU1rn/4TYoEEBb9iqUZWyOH07LXJZXsdvsdokhNhz8ncuyPok/T1Jg0A==","signatures":[{"sig":"MEUCIQDfjl98LBdY5Fdtlkq09QYb6hQ8xzAXTdd19qzxrEZWCwIgUbbY024kEb0d9GXiu5cFL4p5Mn2rgBGkHGjdX5D2Luk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16951742},"gitHead":"a595db69f8168a5242074eeaf5b8b9c8270501bf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.4_1726872381784_0.7650455603578221","host":"s3://npm-registry-packages"}},"1.62.5":{"name":"@bentwnghk/chat","version":"1.62.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"be19259a2fc712ee24a0c11f7db5ca8704da9e04","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.5.tgz","fileCount":2617,"integrity":"sha512-P14Smbx8ymdxj/pboSFJh+Zf2Hpn6aobG521qcMabB7plgECTzUlpnZDtBzi0Dcq5HVnTc1iaGgSJSAXDeGrDA==","signatures":[{"sig":"MEUCIEz2SkgH8EuoxG13Qq4UVw1NSypdK+OL8RSAKBvCIMteAiEAnXU3TUH2Kme+p9xxeo3t6VJP54nSgLlK5Hx4PsNJh5k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16962858},"gitHead":"4922e3d68161f748e3f9ed3302bd90b0287164fb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.5_1726909299376_0.6397390753733558","host":"s3://npm-registry-packages"}},"1.62.6":{"name":"@bentwnghk/chat","version":"1.62.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6f689150f76e5d583da1e61bf59d44985e1fd0e2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.6.tgz","fileCount":2617,"integrity":"sha512-SXM1c0764aZVJfM7QbV8KJV9JKZTu894MugH3VZJJJimKQZqy3uvevR0veBrFxeHUuAaHXvQi4imal9QHfcc/Q==","signatures":[{"sig":"MEUCIQCX+EMSDp3GMo8Wgyn7jpCRjsFkNJ0zITuuFXeyzbhhJgIgMe3+VB3t5d1I/y67I+EU5b6rK4T1QYnAAbkxmTPgoXE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16963636},"gitHead":"786be4986495f97009c5d8f5260eb9c6fccd6def","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.6_1726914176584_0.11067012825185252","host":"s3://npm-registry-packages"}},"1.62.7":{"name":"@bentwnghk/chat","version":"1.62.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7ad1ee479636014a590dd7be4ac826d4f534b91c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.7.tgz","fileCount":2621,"integrity":"sha512-H3HBuVPHyyvOSNG/M+3dnIozHQ1HG/CX3IWRFVPRRxYGRpZKeUqXwwG0kRe4R6/LM7kKlq7sUojOaNvc+0US+g==","signatures":[{"sig":"MEQCIBgehvt1EOv4k4BWUjqsSlRcrD25n24e/HEzKH2KA840AiBkMryDsr42OK8FJrvyCmNk6184MT/Bau12Vu5OY5q0jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16966836},"gitHead":"947952a3e3a63fa26d120ee06168a9308752d43b","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.7_1726965883216_0.023479883256505296","host":"s3://npm-registry-packages"}},"1.62.8":{"name":"@bentwnghk/chat","version":"1.62.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"13379ac4bea9a92d8ea02cfa72b085de361783d5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.8.tgz","fileCount":2621,"integrity":"sha512-ThqXakbuItd5NPvSYLMZTMWoHyZLdyxmC1f+RJDxyQU5raq0dGFAA21HoTCICmxapT5NUUElX5kRw7i3SqkhrQ==","signatures":[{"sig":"MEYCIQDVxdpunEwYmgLSrrlpFV3iJkKU9JEPTy0+GGYDHY97nAIhAPDluC350+iqOfTmXmC+IhpiYk6HlN58zb8+xMVeg5TF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16967435},"gitHead":"d6dbb08b40f53a2013e6be17a7680e44853dbae1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.10.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.8_1727010104580_0.3519987520698873","host":"s3://npm-registry-packages"}},"1.62.9":{"name":"@bentwnghk/chat","version":"1.62.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6d8201f89249f9f9b38be512b9363ff0f44b09bc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.9.tgz","fileCount":2621,"integrity":"sha512-hmmRoIZh2lG/vb9ktuFhZoKDfOb/AyOgKnWStDXvkBZotWWg2oZfX2UfPwxSe7H23GRGmeceeTTZgx9BE1DqKg==","signatures":[{"sig":"MEUCIQCdizdahLrN1JeUphx45wqnKmv3g+GHH41mu1Xffxrd/gIgP0zxOShlqTR3iJWRE/zyD4lFE9pkxiWgUuFXAkfR5rE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16969325},"gitHead":"7b0d63d6134f51a5a6fee141309192105e145aa6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.9_1727092029243_0.23647369351167336","host":"s3://npm-registry-packages"}},"1.62.10":{"name":"@bentwnghk/chat","version":"1.62.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9580bc9f67817295cc0ea96515ad257b6ef804e5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.10.tgz","fileCount":2622,"integrity":"sha512-qczfW9rHaeLlRLvL6NTTVFXIyj2F37neGvvMvI5dJgXjQaV9PGma6KLWrc1/guzgtOEfWGjxSMHHsQYfzzzg1A==","signatures":[{"sig":"MEUCIQCbJj6GzNYZrBfPyBgM0kW+IsIU0mra9t1UhMbGRvEJ8QIgacVDRvvWmRA9ZkbIMxjFEiMWnr02yOlq/6Xwugh3+fg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16969296},"gitHead":"b372bb8e1e8217369e916583b3819a88c52ef931","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.10_1727133103143_0.054190879119312196","host":"s3://npm-registry-packages"}},"1.62.11":{"name":"@bentwnghk/chat","version":"1.62.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"569c4604fa37008ac4ab6b47ecb85c143721452f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.11.tgz","fileCount":2622,"integrity":"sha512-Ny9O4OGMemZJdTvC+jDBWc7aN04dT/2gGMjMGrLJDR4w4vk2NaVNc7MZrkRC6V/OKkO00LZKlS6/78E6xIOYuA==","signatures":[{"sig":"MEUCIDZ3AY2mn5bNh651oq/7b8o0HP/efv0A1ZqOEzj2zziSAiEAsZhHdoy5GmO4pJ/jXN6gmHKkmJd2iPLCEM+kAs7aLqs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16991772},"gitHead":"043fd00e0410d963f121dea8381cd0edcae76032","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.11_1727177913794_0.9165280535835505","host":"s3://npm-registry-packages"}},"1.62.12":{"name":"@bentwnghk/chat","version":"1.62.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c7b59f9120fcc73e4e49108ea9b77803e4121990","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.12.tgz","fileCount":2628,"integrity":"sha512-z+V7tuE+uiR99l3A/2Mrpkrc0ZNdgDWb9udW7jStmqwTddOqltA0Wr0ODcmGSbXZdnwT+0GlYbnW92oNeaJoeg==","signatures":[{"sig":"MEYCIQD2yzWOLgkdh5ABFLp5un6vniLXBM6kaEvdyHhIhB2s1gIhAOG2Yrf1pT4fhdKat65EQJeSF1Is/u7Bey2dn4RaBRNO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17030887},"gitHead":"683dbf0c081df435197ad1e12b141a465f1d70d1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@ducanh2912/next-pwa":"^10.2.8","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.12_1727190761837_0.7471578691544942","host":"s3://npm-registry-packages"}},"1.62.14":{"name":"@bentwnghk/chat","version":"1.62.14","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.14","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8df76c4f2c15c479a73d484f32a86d83b4c0e17c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.14.tgz","fileCount":2631,"integrity":"sha512-eRRNCjrMllf+KB+hyqs+P3MgynL8c+lqybKbAq5WKz0F1m5Jzu0b9bkP2+x0VfzWeGfc3ixjzB6arZsTx6xd8w==","signatures":[{"sig":"MEUCIQD4Vxh1PO2PwF/Xh4G0hSr39ALR0SBQVdhMded6o+yGVAIgTjxnxKFgP00W4K4Du8BbHNPtEZQ0uSg0DrDYqcforVU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17070158},"gitHead":"54cea129639c3b132ba8402adcd89eed29537ad9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.14_1727305229763_0.5588308662416217","host":"s3://npm-registry-packages"}},"1.62.15":{"name":"@bentwnghk/chat","version":"1.62.15","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.15","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"de21f786c4239d6e1bfa0d646d73d4f2d8ec08ca","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.15.tgz","fileCount":2631,"integrity":"sha512-gXHzeVR+UAIPq2W2zYa5Vqgb3SDLn7NCAAzG6BXS6x0n3KKoxwfS8X6ihuEBm/UpH25c6kx/HHiu2P6w/67LoA==","signatures":[{"sig":"MEYCIQCAPm+tX9+0HZC5D8nXXkErr8pyASaQT4Jd1XKTAOqpLAIhAISPJ3d5r4TifcSgKm6FKQnzzjOzMcDotjiwnHmQMmZg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17071093},"gitHead":"66e50b0d99fbf32b6d5a7d33e8f275f9cc6a477d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.20.2","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.2","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.15_1727331851459_0.3058209840214854","host":"s3://npm-registry-packages"}},"1.62.16":{"name":"@bentwnghk/chat","version":"1.62.16","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.62.16","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d3f450e01764c350e85e30daff00f3b0ced58151","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.62.16.tgz","fileCount":2631,"integrity":"sha512-FgJcwXrMbnNJa9HQn8FaRCFF9mv3meoWjqyPI5lC+eydzUtJrjl8PIEMFid1sSF7lTCjSMEttmiQzcuoSw4o1A==","signatures":[{"sig":"MEYCIQDDw2+E9mJfcrA+L7Z2Yek4wEjBZbPEae7xfnpQPBLJgAIhAJKpUwPavNdq8ya5tdSXC5SfCw6t0a+cd7W0vb1/CGjg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17066203},"gitHead":"0e20571ddd7976879fa8ca467adeaa2eaeb99934","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.62.16_1727421174443_0.9053669824387509","host":"s3://npm-registry-packages"}},"1.63.0":{"name":"@bentwnghk/chat","version":"1.63.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.63.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"86a6fa030301e8d6e0e3f6f277c4172e6aaf25ae","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.63.0.tgz","fileCount":2634,"integrity":"sha512-Tp0dn+zNbWVmd0cBMniE2nXQ3l9xgd8gwT5fkHlFRssGvzUOEq2MF34N/aMfqJtNSIasKrUiP1TzRi2GR2pVnw==","signatures":[{"sig":"MEUCIQC6Mia2QBkaTO6zy+namGmIOuuJk18b+U6UN+epuYbe1gIgC+177z2joylNbonzWgw92iOdSVmEliDUJz8SgXMkLdg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17081482},"gitHead":"74e98107e4f726401d6d314e96a754019875c696","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.63.0_1727429467243_0.7230546803200344","host":"s3://npm-registry-packages"}},"1.63.1":{"name":"@bentwnghk/chat","version":"1.63.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.63.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"28058e382ed73edd2a5a1d05baa46d33335302d3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.63.1.tgz","fileCount":2634,"integrity":"sha512-DiKuuld2NruHEY5TiqBbRvHvBkunYMVnF1KyLpSp9u2+qwQg8lrF9Llze3ETyhPP+289R1z2R6eNM+TQKxGkIg==","signatures":[{"sig":"MEUCICVoHcWWcYuybgAXTS3arWH+yCPWEg9ecUzezMooUFpBAiEAofMqVfT+jbdCW5CkXHseVcrdesZmnBLTMdjes4zOX3o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17082370},"gitHead":"d86b025b5ba5230c0278e06563276eb0af71b7ee","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.16.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.63.1_1727446776573_0.1260512347981806","host":"s3://npm-registry-packages"}},"1.63.2":{"name":"@bentwnghk/chat","version":"1.63.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.63.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"154bbc14222e7432ab5e0e75b92d927d0a4d8e5a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.63.2.tgz","fileCount":2644,"integrity":"sha512-ll66BLmz6QCUxY/3D1nTU0C3EanZDVHqLkAPa3jDefIwHir9DXiS6wkX6M70JD4O8lsc4qy9NwDPC2017FKVyw==","signatures":[{"sig":"MEQCIG2jBbMmY8Dw5SM9Ni389+zJvGopcbtwgYIGbkweIB7pAiApICUVJM0tl8ENhmyhZLqqY7vIrRgrLxB2osdJPrjYsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17098473},"gitHead":"a9d8459ed24ee12547f1b06a5fa0451c85bc88b5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.63.2_1727562070118_0.053172923667149874","host":"s3://npm-registry-packages"}},"1.63.3":{"name":"@bentwnghk/chat","version":"1.63.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.63.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ff172795452876c69651e00e59d87ac564cdfa06","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.63.3.tgz","fileCount":2645,"integrity":"sha512-v4PZKFd6l7qekjfvMkJBgRp/Qu1U7FlXlwfLIkz9kuabFE3/i5ewTWpTNCD22112suab6XrSuKceeGOIWdlQxg==","signatures":[{"sig":"MEUCIQDRsm2/Yu+tQ7Drm5Y+uj6R8FPMLgEwu5ZuUESX+3LwDgIgdXGLjywsKIbbEW5mv4FZH7BpUmk3+3xtiHbh+T2fblU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17104918},"gitHead":"9697e28c8b775819a869e56fb856a572345fdfbc","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.63.3_1727585362866_0.03919492761510157","host":"s3://npm-registry-packages"}},"1.63.4":{"name":"@bentwnghk/chat","version":"1.63.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.63.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d5d7c66b869b389da27944cbcfe5086800fbcef3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.63.4.tgz","fileCount":2645,"integrity":"sha512-yxxHxS+iiElm42OuuP6tuRaZo3SmG+4V4j8DnNExP2jvReFSW3k6NC5UOCfMMUodCA2NqEUYp9Y6p5zqo6vIog==","signatures":[{"sig":"MEYCIQD/EZRn5Q6ff2ky56v1/FkGyF/zW5YMrllKyraoITeEqwIhAMpbIhp0MpJ8rrFuSY39kVbyaJ0Vq0FKRAD2ljk7I/4H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17107333},"gitHead":"9eac69ba432e6b5be4f477999c74e64e9ae2eaab","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"1.17.7","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.63.4_1727647257797_0.8599975779989848","host":"s3://npm-registry-packages"}},"1.63.5":{"name":"@bentwnghk/chat","version":"1.63.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.63.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ea2b12cdbef9a90304ac706d9dc7a5431144bbd7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.63.5.tgz","fileCount":2645,"integrity":"sha512-DIyd3d8MghPOBtqIq8RG52WjyKNemG9KXmNX9NhYLP2p8/6o/trb/tRz4A9JXdtuT6B1uIdhTPSTzLl8YugN0Q==","signatures":[{"sig":"MEQCIDL70AGy+mbjE/dQ3YybRp0H4mxZavKf+/7Xb8GSWwB3AiBcC6giy79ROZoVefVy1ElaFrRx5Gga9h+YNq/RqLGlRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17108489},"gitHead":"a441c7a52e1ecfd6d7a2679a0cb05a75d6794fa9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.33.7","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.63.5_1727668857558_0.2646361255536094","host":"s3://npm-registry-packages"}},"1.64.0":{"name":"@bentwnghk/chat","version":"1.64.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2a754b4455d48a01fbfda537b3a45d2b39e0cbc3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.0.tgz","fileCount":2654,"integrity":"sha512-eI4EQLSzbiyuL2zSPVfKUEGE/J6NklrHgHvG9hUkMM0XEqkSPBxXU02Jsc7HKoKPqhLp2qeCJSBb+1JjtDmk9Q==","signatures":[{"sig":"MEUCIFR50B/Fo439/ooogTk69TU67IUIssRDAWsbJ3O2agXwAiEAvHMeaTUfrWV93k15GVhZ/G6FeO2teTA6wazYZmST88w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17310212},"gitHead":"0cade3c2690cfa4fdae7fac7f515b268da9590bf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.0_1727688268769_0.5376041155071183","host":"s3://npm-registry-packages"}},"1.64.1":{"name":"@bentwnghk/chat","version":"1.64.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"58728007ecb17714b8c94af7dfb32ef4bf3fa18a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.1.tgz","fileCount":2654,"integrity":"sha512-f7t7WraOlLZg/ai3xRjYfOpvXnQn6TktKm66I3EPSI8PL4/rpz0WzS3hh9amBt9EPT9UDAS0cwmDEwujESgJtQ==","signatures":[{"sig":"MEQCIBXDPnxBnLXrW+RgBujQNAywFji8+tRb2yHt4XXNNyKTAiBf3hLoCmb5Hd2MmY2lwI/LTMFDUdn/UvqnaPvcsesZqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17308233},"gitHead":"ed1da80db24560b89bd5b0faaccdbb46ee67e93d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.1_1727737359983_0.8785850882991357","host":"s3://npm-registry-packages"}},"1.64.2":{"name":"@bentwnghk/chat","version":"1.64.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"294319b222f69916e39ccef487c41817bcd21fd7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.2.tgz","fileCount":2654,"integrity":"sha512-QdGuDInBpO6NHu+XsNx4cVGsfj3C6ZY4fyqt2Rz2LQZrNKZY2lVoiNoOJPvMLhijHjAuNAz9l1WGdzYLxXRYVA==","signatures":[{"sig":"MEYCIQCTeBj00q9N7UFH/2vsn5Ceath10WaMEGngumiPuh4rEgIhAOm692DbxHng9U2Yk8/TveH+yaHJgksytL+j72uEPkE0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17308762},"gitHead":"baa79cf87fa6150c5537d7a68381cfa84e3b33c3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.2_1727769072681_0.9677306814082636","host":"s3://npm-registry-packages"}},"1.64.3":{"name":"@bentwnghk/chat","version":"1.64.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4401f32b8284234e6a5c1c53872b3e0f6caeca2b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.3.tgz","fileCount":2654,"integrity":"sha512-Fu7UWRL80H2wODS4z3J/+vVJxc7UO02UY9QL363ux5f0K9CujRvfK34306115vfKPEwoAPwvYIRkGZ54WfixJw==","signatures":[{"sig":"MEUCIQDf6UXbApSbhnvJxJrbTgEOtzIfDVt7zWVdOx0QJnmzGQIgPCeVfXK9p7n+00hKY3wzesoG2sOGTFU08XQKUjYmn0c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17309388},"gitHead":"b7679289f114f048b5abb27a5a0c0fc56ca4770e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.3_1727779772130_0.8995273604111986","host":"s3://npm-registry-packages"}},"1.64.4":{"name":"@bentwnghk/chat","version":"1.64.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2d2fd4018d989f9fe640d39da2b93ed4e93a528b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.4.tgz","fileCount":2654,"integrity":"sha512-8pnczNWJ6FBAXBRVdzjGguDueRQVyq4XTaMuF+5M2HlOxerkkFGetXDCjUzzSmuZBpB4BPaK5AYeKlYSRZchpQ==","signatures":[{"sig":"MEUCIHFS4GRa9mWt5FyY8DfsS5IXZLJHPJTAUrdgCBDv/VX7AiEAoYMvoSt1soG1xiuI3b3A51dNqVyOA8WlaS8aQ8xn94A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17310020},"gitHead":"3fb0450c2aa403aff36f99ec453d9f22f5b78a2d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.4_1727867666351_0.9292760268221909","host":"s3://npm-registry-packages"}},"1.64.5":{"name":"@bentwnghk/chat","version":"1.64.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"10a727076fa5e365183fc122f1c24e38b9e53443","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.5.tgz","fileCount":2655,"integrity":"sha512-D3O5lbsffehPyBsf/iso2MWZ0a15jzW+g5+GZ+6NCnMwjrjs/dRWMqrj2uOFGPttpAv1qyUYVZ1pLXqhIbz7Bw==","signatures":[{"sig":"MEUCIDGDUdz954dvVExC4Mllhxm1vPbagIYYxbl/4Bd9Q3TVAiEAikBIKvb4/KRda7DF7m/Mp0IaCv5LscGNCQ3cZVvJ3V0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17312045},"gitHead":"ec7da8fb3ff3e6897a21893496245742adf81aaf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.5_1728143971974_0.03973861854732941","host":"s3://npm-registry-packages"}},"1.64.6":{"name":"@bentwnghk/chat","version":"1.64.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2798bc2f49ed873af3c5facebf648135e29671c2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.6.tgz","fileCount":2655,"integrity":"sha512-4DVLXGZjYLTjgw3IT39szHKIy2uL0WXYJiH9g3cQXSwJOGLY23nb0UHrKbcCHGe4Rp2OqvPBpZW2na0lp6R6yQ==","signatures":[{"sig":"MEUCIQCTwsLpSE5IcugRUSs5hXMjDxaH2S0qYA9kysr7egJ5xgIgOLQMo+tKak3ew+0Xd4ZQ3viGqyt41mUSuM0cTqO6a2M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17313033},"gitHead":"ba1dfbf00b4cabd88dda0981b80fa14dc5bfc229","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.11.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.6_1728170095808_0.4068412834529229","host":"s3://npm-registry-packages"}},"1.64.7":{"name":"@bentwnghk/chat","version":"1.64.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fb9fec437191d800bb03e3444f1ffb3c1433c2ff","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.7.tgz","fileCount":2655,"integrity":"sha512-etLs3thmKJi/q+aT0Oj1GWC6GYfmH7kwoyd/82KDwww0IugWkwN6Z+vLJbarAXCMNrlKXxLqtMi8mTdjd+Ws1g==","signatures":[{"sig":"MEYCIQCcBHMRt2MJjGANWF0SJmjRM/jbjrcn/EaF/OtlF5430wIhAJxF4Rc3hcXjFIKkxfKnz/BScrD6CbUxEpsEtnKY6plB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17313699},"gitHead":"651e86aa87b154cd6a7a92008fe25dee1ea7865f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.7_1728388106856_0.8940334485930135","host":"s3://npm-registry-packages"}},"1.64.8":{"name":"@bentwnghk/chat","version":"1.64.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3a55442bad385fcb78ca22596376b133e30aa5c1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.8.tgz","fileCount":2655,"integrity":"sha512-+VpW+I78i0HG95OV12y4h3hdup/bQ1l3E0K16+PBalfjWqiijVyhOIckc+h5HSfDBXKOwjNeNx0Q21AXAIUy9g==","signatures":[{"sig":"MEYCIQCFJNqM9Q1zS2bzGpusKIfnBPoR3LCibnNKbIrMoucVOwIhAI9NcjtSn+ATv4IZXUtuUHSFvvsuRPtqnV7O5vm8FBf6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17314397},"gitHead":"ac5b3fe2e9a6b5bab07a72702760369c4b0c22b7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.8_1728430032209_0.7500830060476082","host":"s3://npm-registry-packages"}},"1.64.9":{"name":"@bentwnghk/chat","version":"1.64.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a126f1b26ad9c53b0002540bdef313dcbee18713","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.9.tgz","fileCount":2655,"integrity":"sha512-e0a8xG3S0QTAozZCRhryp8g1cfjBYxcepPytUAKyvi4RcOXJP9vgne4evNZddwFcVXBMY2TJufJMh7KWlBXBVQ==","signatures":[{"sig":"MEUCIQDq3axbxv67TDu6S5zsnKaxzurXi4/ds64J454Gke5WJwIgcp0JkELWsDQ38LCNOPpJAcqwKbmcmKFIUR9tKcl/wAg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17326006},"gitHead":"06ce0da07bc3205ffff6f721ab159c2dc4c5d0fd","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.27.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.9_1728595540991_0.4405958836633532","host":"s3://npm-registry-packages"}},"1.64.10":{"name":"@bentwnghk/chat","version":"1.64.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"693c49564ad6aed4e95ba54bb5d5e8acc5079c73","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.10.tgz","fileCount":2655,"integrity":"sha512-TxTfEhyVNYFw99MLfwr2rUfm+Kme9jXZfbv/6LNhJMjtUBZIpUEqCsLIEUiYDsW5qUvDM6OoMaYabF/evdKPRw==","signatures":[{"sig":"MEYCIQD7iZN0q8pYeFn0xd31s1s0YOkHPXMb/B6KI8YIVZAwqAIhALBlmB8l72+rsoFaLlAClr41iwtMnSYFQOOOED9OHJr4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17326757},"gitHead":"b61c07d49508b47b728d614e36fa1ed77d30c27e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.10_1728643171054_0.024670895123755976","host":"s3://npm-registry-packages"}},"1.64.11":{"name":"@bentwnghk/chat","version":"1.64.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c3c489cd1c1d27c7d3faf2d84aa84a0e8c75fabf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.11.tgz","fileCount":2673,"integrity":"sha512-Qz2uc/DdPRl1krBaI1aCaGKBNYM3QMmf8VZlFL0sHYs8BoCq/BO3whPmHi6ZI4iSeaUy2T0NnyWlWFB8I6+p5w==","signatures":[{"sig":"MEYCIQDFOxJGqfJKXx0IjZMQsFJMH49eltll++6kVtctoNkkJAIhANaX+lNfae9gLGzYtAC03eX0tg8lmlPtJo6+OZsx0aoq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17359835},"gitHead":"cd83f4944b03296ca894cf6b15a6219686f00e8d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.11_1728687953962_0.023906949565181357","host":"s3://npm-registry-packages"}},"1.64.12":{"name":"@bentwnghk/chat","version":"1.64.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.64.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"92a6571947f6609496a4a1f5d5d00c27409a1409","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.64.12.tgz","fileCount":2673,"integrity":"sha512-mUblczkPsVuJwJ1qC1QnG2tzI/b3CUPfqWUx5c9SY0GoT9XyXvjrKBJfvnkJ9F9n4mQ5BLNKdEFYyg286KqZEw==","signatures":[{"sig":"MEQCIDTBt4lrTIT0a1XgZ1PzLjqWbp6cGIddvM85ZM95f+JgAiA/pLrfGxPmoq0Ki1tew4neNLbKK1wwKl0VRj9vDdDG8A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17364275},"gitHead":"04b2792a0eb72216c7eee90bbe84601d31d161db","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.2.17","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.34.2","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.64.12_1728703964995_0.4936089839908726","host":"s3://npm-registry-packages"}},"1.65.0":{"name":"@bentwnghk/chat","version":"1.65.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6182e3662165a72fa815b5d41cc95cecbc4cd1af","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.0.tgz","fileCount":2676,"integrity":"sha512-llgWFFuWhsEuyOhS43rYwzLlVakDv7qjrV6aZOdhQaJc4dSaorqoJWu1CULmIxKhaySkuaiT9Wbb4E92wKnooQ==","signatures":[{"sig":"MEQCIGVTsTPum3ZMcVJxbPacp1zYXfEghppo93t9mKmIYQcJAiATSbRBtFa4cnz/4en05xTY/vW3YBgTl/OtOex9p46xnA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17410003},"gitHead":"dad3e8b8200fe93daec02600181c9acaef32238e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.3.0","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.33.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.9.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.0","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.24.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.12","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.0_1728773578933_0.3481549344264798","host":"s3://npm-registry-packages"}},"1.65.1":{"name":"@bentwnghk/chat","version":"1.65.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1386bf15c710b9a5849a34a0b80839d8e830b66a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.1.tgz","fileCount":2678,"integrity":"sha512-qCBegu4f4ZJLBMx5PA4azRE8X8+7DaE+rLR41k4HsxDnYAtfNFPqhDHcXI0CobLoz11kZCFqeZzFOf/9foiPow==","signatures":[{"sig":"MEUCIQC6dxndJqfZ2k6haGXk/OGLhF5I7dNYzAPH84PxCkSdRgIgCX6I64ryL0gSGscZbDH5K7wzEz4GZPmQdQlDu9FMms8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17417045},"gitHead":"ad6d25c29c2276d0c40675be77787b8297dd75e8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.3.0","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.34.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.0","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.25.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.12","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.1_1728809536937_0.7396672775489903","host":"s3://npm-registry-packages"}},"1.65.2":{"name":"@bentwnghk/chat","version":"1.65.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e0b6cf4cd4924279456a91a9cd537db1d64c0c67","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.2.tgz","fileCount":2681,"integrity":"sha512-q5ggJ82+hJmzlEl+VSw1Fk8X/UV5xSuRrRB6cihHQzrzGFf6DXAL6tV5a0tReqD7SjkRLkmSOE2/JuwUMRVBmA==","signatures":[{"sig":"MEUCIQC+FjiL7jB6I6swcl5H9mtexNRueIxwATKixpbgJbuS2QIgWYY+4g9QwEzKcl+sZwv/aluoj9hzIrC134OjofXxVtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17422466},"gitHead":"6c97cfd3c83344fcf639e16b74d8752dc8aec269","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.3.0","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.34.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.0","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.25.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.12","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.2_1728882625328_0.23139433117378871","host":"s3://npm-registry-packages"}},"1.65.3":{"name":"@bentwnghk/chat","version":"1.65.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"750cdb6afab4c9078e836c11fd08d52618eccea6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.3.tgz","fileCount":2681,"integrity":"sha512-rUdR4JVAhGUq5872XZa1WJd8GTiMUkPPf7lvVZg3JIRHbJU4XYytXTio6hZUexsQ7iaZz5EnPD2IzzwWHXP7ww==","signatures":[{"sig":"MEYCIQDnmpGYy3ySVcrPyjvlHo3YuBKS7uvpkoiccDAIv0L8YgIhAJo9Aun33z0cBvgcu8e+xL0eYyThBnsx9SLH386vMpM8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17424253},"gitHead":"c29733de21719912e5717fcf6ee225b7c4ef7f61","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.3.0","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.34.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.0","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.25.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.12","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.3_1729154586445_0.6774940612875184","host":"s3://npm-registry-packages"}},"1.65.4":{"name":"@bentwnghk/chat","version":"1.65.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0c7c5ad971d3dc06b228ef7b45baec3beb022648","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.4.tgz","fileCount":2681,"integrity":"sha512-yqG13+dAqLeNt0+S/Xps4Vec4nclb7sJOe/W7inho3BUDoj3lEJGIAVzaojTggVdlsA2mAH/3jdJlg1bT1zgNw==","signatures":[{"sig":"MEQCICJcTSoyxKDOSRTpNGljyp7I+kAgWLmB3LMxw6j77fOSAiBoGH4DRd0ERWIqr8n0k4xeFZS6C8d0VVsq/Y+NWEz1Zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17426254},"gitHead":"5405d55d64e774f5b09e813d377fda37bc00c643","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.3.16","ip":"^2.0.1","pg":"^8.12.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.18","zod":"^3.23.8","antd":"^5.21.1","diff":"^5.2.0","jose":"^5.7.0","next":"14.2.8","nuqs":"^1.17.8","pino":"^9.3.2","svix":"^1.30.0","uuid":"^10.0.0","yaml":"^2.5.0","dayjs":"^1.11.13","debug":"^4.3.6","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.21.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.8","openai":"^4.56.0","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.8.0","ts-md5":"^1.3.1","i18next":"^23.14.0","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.19.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.4.1","js-sha256":"^0.11.0","langchain":"^0.3.0","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.0","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.6.3","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.157.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.34.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.24.3","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.1.1","partial-json":"^0.1.7","query-string":"^9.1.0","random-words":"^2.0.1","ua-parser-js":"^1.0.38","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.3.3","@clerk/themes":"^2.1.27","@serwist/next":"^9.0.8","framer-motion":"^11.2.6","gpt-tokenizer":"^2.2.1","langfuse-core":"^3.19.0","openapi-fetch":"^0.9.7","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.3","@sentry/nextjs":"^7.119.0","react-confetti":"^6.1.0","react-virtuoso":"^4.10.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.6.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.4.0","@anthropic-ai/sdk":"^0.29.0","@react-spring/web":"^9.7.3","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.637.0","@t3-oss/env-nextjs":"^0.11.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.0","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.6","@vercel/edge-config":"^1.2.1","pwa-install-handler":"^2.6.0","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.0","@clerk/localizations":"^3.0.4","@langchain/community":"^0.2.31","@cfworker/json-schema":"^2.0.0","@google/generative-ai":"^0.16.0","@tanstack/react-query":"^5.52.1","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.0","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.16.6","@ant-design/pro-components":"^2.7.10","@codesandbox/sandpack-react":"^2.19.8","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.637.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.637.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1","devDependencies":{"tsx":"^4.17.0","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.2","husky":"^9.1.5","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.0","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.8","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.6","@types/ws":"^8.5.12","happy-dom":"^15.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.4.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.5.4","@types/diff":"^5.2.1","@types/node":"^20.16.1","@types/uuid":"^10.0.0","drizzle-kit":"^0.25.0","gray-matter":"^4.0.3","lint-staged":"^15.2.9","@types/debug":"^4.1.12","@types/react":"^18.3.4","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.7","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"8","@commitlint/cli":"^19.4.0","@types/systemjs":"^6.13.5","@edge-runtime/vm":"^4.0.2","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.19.1","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.12","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.6","@testing-library/react":"^16.0.0","@next/eslint-plugin-next":"^14.2.6","@testing-library/jest-dom":"^6.4.8","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.4_1729216166673_0.27099695189384887","host":"s3://npm-registry-packages"}},"1.65.5":{"name":"@bentwnghk/chat","version":"1.65.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"15fe455f875c477fe7af1b639003a1f7870c268f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.5.tgz","fileCount":2683,"integrity":"sha512-LlZFPxDI01v4NOtHVxcdHTUWYV1Su7W2Mw4bL5hGOZIE63pSOnsCgjdlg81ch/WTyFH1V3dIR69Dqm05As6HfA==","signatures":[{"sig":"MEYCIQCZILcuqctagWSN0ePFf0LZk7YfeJ17bUbIR47YNhPLxAIhAPOd0jBxPLQbPy10aa8Ia91SHO2vUJ75Nsh77RkqiERR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17431440},"gitHead":"5714f523bd74608543c048ae9dc48c23bc6dc7af","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.34.1","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.2.33","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.25.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"^8.1.1","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.5_1729396574128_0.3520019221765227","host":"s3://npm-registry-packages"}},"1.65.6":{"name":"@bentwnghk/chat","version":"1.65.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"dc83fb54079d3a19d7d0faab580de765a4dea83b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.6.tgz","fileCount":2684,"integrity":"sha512-Hy67kt0R8bgayPuD9Kbwv33E6D0jgOZ7662xdOBhysPTcyXttVoVK4Nu1rycJ00xTxPah75qYT/fa62/Ozk+qQ==","signatures":[{"sig":"MEYCIQD+FwZEv8Yp8yKOCMRGPggpudpHXClpxkEByj3JdXsW6wIhALr5KJXneEOeE6FVUpombEKYWFU0drKftosixlr2qATV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17438098},"gitHead":"990be798c918cb9e1f6bfb9f0e946acf4c3e72b0","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.34.1","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.25.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"^8.1.1","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.6_1729466599449_0.5427228422127897","host":"s3://npm-registry-packages"}},"1.65.7":{"name":"@bentwnghk/chat","version":"1.65.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f586a69688e407212b6a2dd19068d380ee5d6093","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.7.tgz","fileCount":2684,"integrity":"sha512-DfkboBMl3tqRCd3+F/pNMmWRYKp0ZK8TXHZx9hrV89v+lmuvsbdD12Msd3yECCQ74nS4hNRrBCL0EtLeWm3+Eg==","signatures":[{"sig":"MEYCIQCBqer3H7RIdfyuyvq/YoDr8kwq5dA8IKbWvAfSIcCgdwIhALVLWUn2+5J5oPy52+odrhnTv/WB3+PXhTJnyF5J16gh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17554443},"gitHead":"0bc3516e4ea0a510229406601cebdee10bc3ac77","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.34.1","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.1","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.25.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","supports-color":"^8.1.1","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.7_1729551929340_0.4734708865188255","host":"s3://npm-registry-packages"}},"1.65.8":{"name":"@bentwnghk/chat","version":"1.65.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3b6b56eb31e29f6bb78c0ade71364fceba28188a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.8.tgz","fileCount":2685,"integrity":"sha512-i/6G+GLzBL3StgVuNQCCZJzJRIqz2df2/doToKGzz+qhX0AnWRk5fDUFhuzjlN17zOxGGv6Wh3RtbAzs1YIQPQ==","signatures":[{"sig":"MEYCIQDvHIGXxQcmu+74djFIOCSlcb4X7+21eICFUKCpkY6HXgIhAPVid7WMRZC8PukaNeAaMv10gbgNrg0R/ZVNAOtOgOOT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17555014},"gitHead":"406cf7e97c2a6c4f419579cd0850c60a5e68e1de","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^4.5.5","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.8_1729596285692_0.7323294960796296","host":"s3://npm-registry-packages"}},"1.65.9":{"name":"@bentwnghk/chat","version":"1.65.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2bf3c0e57c7215a95dd3167281741f5849c84132","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.9.tgz","fileCount":2685,"integrity":"sha512-vX4L/oz9U5EvtuNdjz+LsWI5eiLQ2+e5pn+8RKoP0PiVp/HNf8bCKuEUhPEaRrXTxNwv/Kgsql5bRvMEFNEx4g==","signatures":[{"sig":"MEYCIQDHUyjR++k6PQl73GdGuniIaQ7OL75ch8wccReEWSeKpAIhAJK+PYeBzclU82aanIPHdot3jRjK+ZHaw4m9lOuhRHyR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17556059},"gitHead":"d37ad50d3a5d400967a838cc838be884ab32e2f7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.9_1729643981552_0.5943697611518182","host":"s3://npm-registry-packages"}},"1.65.10":{"name":"@bentwnghk/chat","version":"1.65.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5135aeec1517707dfc7cec2c97b0301d018cd59a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.10.tgz","fileCount":2685,"integrity":"sha512-iE5SXrXo5EmxU2iDA+JShV3JFSXbVkaRt5/WPJIkp7p6CuMcMwNk/SHAEDtlEvCOE9Y2ipAcnHPoiM7TgIQc0A==","signatures":[{"sig":"MEUCIQCGBtLAeKuHP2XM/ucnG1T2Wa5HQ+drS/xGJK9BCv8+qwIgbR6Z0Utikok2UKO56UzSSOukEGUaIsf53YOfDijS3nM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17556860},"gitHead":"91b7be6ac46a0f0245872091aa24093120bbe6ec","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.10_1729682064676_0.5535566070255669","host":"s3://npm-registry-packages"}},"1.65.11":{"name":"@bentwnghk/chat","version":"1.65.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"106704aaa69f2e483efa6ccab1966fcd43196ad2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.11.tgz","fileCount":2685,"integrity":"sha512-Z9/Pp45LHQGqrgdZ68KpZbVw/EwBSKebHEJiqcNEKZpqmHEWdN2caxv6QnHfyNMIuCwBpUCkwEYSjhurNrzhuA==","signatures":[{"sig":"MEUCIQCTtHoeC+1s/l+ez+1bZX3HrxA6sxkUEKAu7e1SxiVvnQIgXGjazqr2fZEJXeosrfLtq+HPuv6xJlqlSjLRqp3Vt9Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17559225},"gitHead":"b283b82feb52310da7227490b487b253d0bbf749","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.11_1729690671369_0.4689200884141991","host":"s3://npm-registry-packages"}},"1.65.12":{"name":"@bentwnghk/chat","version":"1.65.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.65.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"22676750c01e544b11e9538f7292268fe58106f2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.65.12.tgz","fileCount":2688,"integrity":"sha512-od7KnMUdtBeHzHHYJIOys/ZKx+Bozp0d83X73DIkaw3HWXDOXXVkQHImHcC94m8eXh8D7h8+AKez+TeXRxYYMg==","signatures":[{"sig":"MEYCIQDdUyq/5rdQ6Fp5VIBdHNBhjpmj2MccHbf1qK6FsGJQZgIhAPzAf49KXL5TAk/lJxX1gT2Z6+PMPmFUMQGoypIxpd6b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17676310},"gitHead":"9bfb747e7d8340601c509ff68f5d1c14eb78c3f7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.0","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.65.12_1729775855622_0.2684998110248231","host":"s3://npm-registry-packages"}},"1.66.0":{"name":"@bentwnghk/chat","version":"1.66.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.66.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0b2cc6e8ba7e51a25802bb2fd5d2f932094c7a63","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.66.0.tgz","fileCount":2689,"integrity":"sha512-25Bq46vxRKfpxOIIvKqMmkp6yrCq2K/R8B4btDOS1NDqRM87L6fCOcBocMwdy74WP2OqzouDbj65HdW0gG+UGQ==","signatures":[{"sig":"MEUCIQCnJIZbIAXODyYLc38v02CjIr37GAw92+AyMTZedBQJaAIgR3OHhsV5dIf2Us49QMyB0nXFD8zIsJa3aqVqYkM8n+k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17688135},"gitHead":"dcb53b661f779d3a935211f424d29307bf6c5ad8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.66.0_1729856676005_0.9887931488505208","host":"s3://npm-registry-packages"}},"1.66.1":{"name":"@bentwnghk/chat","version":"1.66.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.66.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"22f68ad12c2cf1d3eadf50aabd892ec67b32e9d2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.66.1.tgz","fileCount":2689,"integrity":"sha512-dzC14fTGUbzAva5jxt2W+ns8FKoAxp15DCpnplNUljJ+g0NXuLvMbI53zrBXy53FnqGvriJ565Tmf35/TJ6HJQ==","signatures":[{"sig":"MEUCIQDet6/evtfZNc8b6EjSyqy5aBLeItiBXhKXK5/Xs9RsywIgfEShb7mcNhqNr4Taqyt7uailLTP+MwoVvWlxsGYJKvw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17695452},"gitHead":"099c0161a2c188aa88b0f76a23c1725a032761b7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --warning false  --tree false  --exit-code circular:1  -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.16.1","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","dpdm":"^3.14.0","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.66.1_1729861360606_0.008462989029017542","host":"s3://npm-registry-packages"}},"1.67.0":{"name":"@bentwnghk/chat","version":"1.67.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.67.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4511daa72e1a12949844bc8ec2e0ac6c961a1738","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.67.0.tgz","fileCount":2696,"integrity":"sha512-cO7HNVwz5UYi6OVhSV6PQJmX9tnB6WYyLxQFUwG7YETb3zyD6hK7/f2tt4uwndXN6beYkC/8wYva8wb/HLf3UA==","signatures":[{"sig":"MEYCIQCwzQUz4JGtWJbQUSc095FRDRM2mFu0CImEt8VxOmVPFgIhAOlw2DMu7nrt3ah1hSoJx/ou9dCfhdqdUGSgVVCY58wo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17763803},"gitHead":"caf221350eca13b3af51ca332760490b7f647879","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.67.0_1729896163451_0.007090689889347468","host":"s3://npm-registry-packages"}},"1.68.0":{"name":"@bentwnghk/chat","version":"1.68.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.68.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b7e071e4c85242530b754d878c24e74e5a1cc17d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.68.0.tgz","fileCount":2698,"integrity":"sha512-nKxioUyly5mI8SYL/A5k/8lLR94LUai8so8JPlJ8rX+CD8VmtAVmeWavVr3O/+xLAc2cLndDF8Fe/S8r4gs+sg==","signatures":[{"sig":"MEQCIFVr9X5oWJqhWDO9iYqDRPQFrUogvnivwclLs8U4fl6dAiAE1XAvX85/i2+CU3jnC/TGSNypBBLo/66lrHOLJPGaEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17780267},"gitHead":"2c4197bea412a202494d9dbd5755d91feedfc453","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.68.0_1729949109170_0.43302733052236286","host":"s3://npm-registry-packages"}},"1.68.1":{"name":"@bentwnghk/chat","version":"1.68.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.68.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fb0635262181ab4f7c0da044845724d17b627d08","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.68.1.tgz","fileCount":2698,"integrity":"sha512-070tcFaiP1YvNbL2aTaB9jOUivaTnPH+5vKz+FXok5LEgEwvrwseZFRgAhjKLsthu3TtJP+HLfd/WONK/rfyUw==","signatures":[{"sig":"MEUCIDZWhLJPk6V4oGqoTyaavInVrVMt5so8/FoftMcAPYwAAiEAtTPNLZdiLgqNciPYdzxAk6yujVN5I3FzKZjuhcCm0dA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17780097},"gitHead":"82214bff74a65f9a33fb651c3b03e70d4a9f8ff5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.29.2","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.68.1_1729986790934_0.5641863216729648","host":"s3://npm-registry-packages"}},"1.69.0":{"name":"@bentwnghk/chat","version":"1.69.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"427c8d8b77aafa38b9994e919e10e98718ada7d7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.0.tgz","fileCount":2699,"integrity":"sha512-LtpNGXi01bZOxb+h1ksgdIl5uRm38JMInFThorgUPMrHSL0wmP5ur3PlQbZHWVMlQpMk79+r346D3ms9fnn5Aw==","signatures":[{"sig":"MEYCIQCpFBbd5DIaPegu5BbW1Zs3m8NeuaI777u2MZm/qOmROwIhAJiLznuzSHDIcvxOmEkmmNS8hu4UqO+R0fsjFA3QXLgm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17785133},"gitHead":"9b7ad0b0a0d0945c596d163ca83d8eb803aea2f9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.34.2","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.0_1730023137211_0.42052324720162915","host":"s3://npm-registry-packages"}},"1.69.1":{"name":"@bentwnghk/chat","version":"1.69.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"46bbf4a1abe95fb289f93c5866d47c3587543385","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.1.tgz","fileCount":2703,"integrity":"sha512-rD1vobM0Z+NcKebBA0qwcWfXHDm03xA2vGAVbNgVjISaynr4a/m1O0AgxOEsFhiit1nPRCOIKRQl4VRijFiV8w==","signatures":[{"sig":"MEYCIQCv/leFWdwubsKPtOPKlduL87ay8mHOE4u9xIJ2V+MdngIhAPPG19aqOB/UFyaPz8CD0sDmStDZl3dY4wSVY6KZDeJq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17791557},"gitHead":"7107a084f87f9360ee7b078a86f7b0454e3c1d31","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.1_1730113500597_0.06149696664485349","host":"s3://npm-registry-packages"}},"1.69.2":{"name":"@bentwnghk/chat","version":"1.69.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8a6fe35cb1d4573a389530b24630ca86f44bd3d4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.2.tgz","fileCount":2703,"integrity":"sha512-iiRlGk0K7r2yhzKYo8bfei1gMzOwQMYBnbEaN1oVb166DvfFuE0pML+WNz4KdyM3lg9Loy6/DwHDloQa/tJRzA==","signatures":[{"sig":"MEUCIQCmklk/+6M81888Y7oSh5Lwc6ZJmvRHue1uo8fYI//8CAIgfNiRtJ7xNAq9SvSb9X9MKfwlIVIMjWQYlscyq5qNQdo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17791721},"gitHead":"9cc64461adc87eff8925d8eb2fbe7d8c08d46d7a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.2_1730203829824_0.14654872000710628","host":"s3://npm-registry-packages"}},"1.69.3":{"name":"@bentwnghk/chat","version":"1.69.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9a786559b48ff1495b5dddd7fdbb700230fbd05e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.3.tgz","fileCount":2705,"integrity":"sha512-Z2Nr2RoCs1I7/4co4njH0fF9p82gg6IPN0xV39UZRERPfc1D8sh/cyUTIGgob2hUavUXNRpdPjGS8g8882JslA==","signatures":[{"sig":"MEUCIARtIjRjav3vgJIu5onDN0LlLlvdI50Ow6Kl6zCNFk4AAiEA01ELFkPDTgBpK+02bhsKZMX6UQLIpwMkeoFGs89VPek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17795952},"gitHead":"8612f48ba7092d50122f72c9121c53134b42eecd","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.3_1730208402208_0.8891393161517693","host":"s3://npm-registry-packages"}},"1.69.4":{"name":"@bentwnghk/chat","version":"1.69.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e23c177ad321694b29f0c5d68f9f451716be80d2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.4.tgz","fileCount":2705,"integrity":"sha512-D19ImedMjZwhFBkcSywfTDKl7jKdMDro63VeqXZsJV9MR2tOKt9c+6D20ICbr587ROLnOd/0gmDw2+xtD4H8+g==","signatures":[{"sig":"MEUCICgCcWc8qXZ5IO1uBepo6FmllzesccAj1HXfvegGLr8LAiEApygBrqMHQ29oCN6nR7IV6J3fwvrLxvNBHocAEmGRbNE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17797491},"gitHead":"fd38132cd6ff0cfcf0387da8e87e11d435c8bc9e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.4_1730208973585_0.26049517575143066","host":"s3://npm-registry-packages"}},"1.69.5":{"name":"@bentwnghk/chat","version":"1.69.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c50861db89fc59595828e3a0b3253ba7778d67dd","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.5.tgz","fileCount":2717,"integrity":"sha512-1V1p9L3cxD8QVIFrTwkwMAfNu5DheYdG2fP7RAwPx9KpUqoFPo0QwboenbDGdPMZEA4mAjjmOOYlSNDKwhfmFA==","signatures":[{"sig":"MEQCIFxf06TWYhii+avvl713RGYPiMYZJf6EhbpqYHqgMoN9AiApHVx0q7dYnbFjWv6pj61oZpXSG2PKfrO0f6pjA2CVlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17823019},"gitHead":"34f57959d6ff9aed53bfa15fbc670224bb7bc077","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.5_1730245990645_0.8835283794620716","host":"s3://npm-registry-packages"}},"1.69.6":{"name":"@bentwnghk/chat","version":"1.69.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"98cd42f5c7f44adf6f27c56e9eb5a4b82b249510","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.6.tgz","fileCount":2717,"integrity":"sha512-QAs68b+U8F+6LuIAHYN/eJ8bk7BOIybTRPhsWyF+Fcc+OjuUcmxj1qitWXVo42tqx2OTHd941wVx5tCgx2L4GA==","signatures":[{"sig":"MEUCIBdsHxPxAK3wbch9yvvWjHhSShgbrXDugCT2WfiteVj/AiEAsedNxl4gWYWQg1H2FBQjj+8+78IGdq0ng/F6GmgLgyU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17826084},"gitHead":"e5a80d08b979bf1bc61ab9f867ef659f06149e76","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.6_1730272296803_0.824318430981194","host":"s3://npm-registry-packages"}},"1.69.7":{"name":"@bentwnghk/chat","version":"1.69.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0c74a472442dee94b1873636a9bdc1b4da191a31","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.7.tgz","fileCount":2738,"integrity":"sha512-k/bUESV3aGvlM1tHuVxp/ALVJIQZvfExZpNCgq34M8k7GFI44j/FLyiUYVqbxhw8AeK2dZ7B+tlUN78b1AsX+Q==","signatures":[{"sig":"MEUCIF16tyakuur3ldS10YEjQESyv7Hy3t3ZMkKBcl1jJSkVAiEA4VhgVvOQVGnxGBZ86ZtGsBM9V/URyfeD6NpF3XUHKtg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18133866},"gitHead":"cdb414722d08c6de465dbe81c0f111ae23bcc2fc","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.7_1730330681082_0.005095194260363423","host":"s3://npm-registry-packages"}},"1.69.8":{"name":"@bentwnghk/chat","version":"1.69.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2579f9eb6104f77c489d3c7558406f469270a85f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.8.tgz","fileCount":2740,"integrity":"sha512-mW8wa7Mp6pwxC1YqO92ct900ouDpGmWfL6ZhNYbS1z/78Ey+FeW+v7XC4oK5iQp/bNTK/L2WaV4uFeEvxE9MVg==","signatures":[{"sig":"MEQCIATmf85ccZcKNMgSEmuyj6lTBINhXuCMgcH9ZcQxM8MsAiB45YmMoc0GXoCyrLeMKMagpM48JoGtDcHc56y5PhW2WQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18140122},"gitHead":"a8591dcd66b0b1e4cee63662212488008be2d53a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.8_1730354857482_0.39574829965603064","host":"s3://npm-registry-packages"}},"1.69.9":{"name":"@bentwnghk/chat","version":"1.69.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"921ef66d44aee68ef2472681a4b19e89d8678a39","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.9.tgz","fileCount":2740,"integrity":"sha512-RFBmkDEX/ha0zrqXkKyUCCzCqNSGdrvuDwUDwEw0nvYomckpKrNm+jLts5xPgRj+uU1gA0QrK+qYPbo7arf26g==","signatures":[{"sig":"MEUCIGWhc6x9OYFc0bBmnbmR9GOQQ/fEJ+0Z0bVIBgiy1tZ0AiEA/Fs8EA+Hd0q2rygBMKNUQhSNSL0omtn4MnrLxMb4Txw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18140947},"gitHead":"1e141cb6b94b4f60761f8a6047badc1d9c452da9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^10.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.35.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.30.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^5.2.3","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.26.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.9_1730356624352_0.9914957030236344","host":"s3://npm-registry-packages"}},"1.69.10":{"name":"@bentwnghk/chat","version":"1.69.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1db2e9e520030a4223b91c5fbb04ed066befd871","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.10.tgz","fileCount":2741,"integrity":"sha512-HgHmbZIQTIBwTxWLcbYEL5ceZkuPKxL2Byq3SGKSVEjqL+o/VeD4IG+F61ERYHTRhuy+Lu0qwxbNwIe0EipzeA==","signatures":[{"sig":"MEUCIQDJgOkbXgbB4pEVO0DsZIIzPEJlTcVpT3jaWiW+sEPkrAIgQEF+gBLEppIA89GOcH24F1f8/Qv8fZR4kTFaRoMMl0k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18144070},"gitHead":"f1c831814efddb6b06d467cf320d3e0bc648a7ff","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.10_1730675780434_0.5886333729028412","host":"s3://npm-registry-packages"}},"1.69.11":{"name":"@bentwnghk/chat","version":"1.69.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.69.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"392350c50f19918f20341d6ffc6cf6f502f6051b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.69.11.tgz","fileCount":2743,"integrity":"sha512-3aW5v2vvOQu9pAjgZ04YNjSNORX4XVLA7o1oW9VZ7jP9dF2Q7eyaa31NGLo0q2EIxqKacpIsFz4P1//FmLZliw==","signatures":[{"sig":"MEQCIExdDSTYwhw/RJllk/na2e+spctnYZ9Vg6/GRD6zuKjvAiBuA4PfjZh5zZikxOSFgFQjl9BdemhzMB2x/bNBKn5Gpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18148901},"gitHead":"6b757b08898245557920b43f43e47e53c7b7f2fa","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.35.4","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.69.11_1730719006819_0.2693162151091144","host":"s3://npm-registry-packages"}},"1.70.0":{"name":"@bentwnghk/chat","version":"1.70.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.70.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ac6ad2cf9bc0179ed495c5df823881b8954297d9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.70.0.tgz","fileCount":2768,"integrity":"sha512-I/X7E49RJFtvry+zFXUS4gsJzlDEP+ozjgp0Qm/AqXstwqxIOpCVsjhzOKQrclsYGHK4p2zxSDn/zQ09ybX2OA==","signatures":[{"sig":"MEYCIQDpzmQDPPqxhyG11Qvwb5AOAHomF2oKIZHecYGiZHHtCwIhAIXgBzBSIK0vX06/Vpyq6tIPeA2tOnRqe1PxMRpHXBv0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18175797},"gitHead":"190006ae2f6e77d94e8846b92dc59eb12311d4e4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.70.0_1730761579230_0.5755243509166437","host":"s3://npm-registry-packages"}},"1.70.1":{"name":"@bentwnghk/chat","version":"1.70.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.70.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9dc46589479d7f338ced11b711fc8129d22ee57d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.70.1.tgz","fileCount":2768,"integrity":"sha512-d572j82FxiAVbxuNzitbl2fdFTIm4FztYpzjhph9G4C/TGeFwoyw2l9zA3dvjEflnTxvv3yE2fAjZ9VOh+7xDw==","signatures":[{"sig":"MEUCIGJlqQxUy15ttSIcWp666uqfRwa0kUodH+ONyAMYIHG3AiEAgoKhUy6MjNk0/m9s4oqv3WzAsgtmzHb8g1cihk8BmAI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18177381},"gitHead":"99f9445aa6656adefdb68fbf2f7c7130cef9f3e8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.70.1_1730781880773_0.9999428346708932","host":"s3://npm-registry-packages"}},"1.71.0":{"name":"@bentwnghk/chat","version":"1.71.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.71.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2c169066977a953b670e7c84718180a450270b12","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.71.0.tgz","fileCount":2781,"integrity":"sha512-oLwLRDje6Ceufv9RbTfGpRgNuEPO919+CC/85I5g1SD605m5MrtOszFAGED8J9amtuLGbZPozFezAXbS+lK+Xg==","signatures":[{"sig":"MEYCIQCqMgYTWGN2cu16D4z3wJ4Co4zMHE0M4/+zrwvcbVFxQAIhAIlpcRzlSTeDqNh+PWmJBUGKkp2+IsoPGecw6/eJ8txR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18195030},"gitHead":"c6b2d60a11801ec20c789861557760633f527661","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.71.0_1730870307278_0.15527883420244248","host":"s3://npm-registry-packages"}},"1.71.1":{"name":"@bentwnghk/chat","version":"1.71.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.71.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"402d47e9511fc7b6ef9d5aaa1afec7b2cc7b99ea","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.71.1.tgz","fileCount":2782,"integrity":"sha512-PRFZm2oThqtMXJPMJ6NcaqdkbBX2XFgu2+ROlMeEkazIqKsIrWnQZ5u2B4ZJcIQNhGnVgbeFsPmCyuUt38Inrg==","signatures":[{"sig":"MEUCIBEB4e323UJndtth/fqJSXkowgkVvHazlhEp728dNezUAiEA8/xBVNp0MuU+TQ2CbrGFlqqmAAIOMm+INUSaUeK24hI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18283200},"gitHead":"ed8eb824c451cf181687dc2f3ac9ebe9b75febb6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.71.1_1730934384151_0.6736250847572336","host":"s3://npm-registry-packages"}},"1.71.2":{"name":"@bentwnghk/chat","version":"1.71.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.71.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b3f34f7bc5c65f45fe196ce835b6132d4edd8f0f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.71.2.tgz","fileCount":2782,"integrity":"sha512-uxfON56+taHSkAeaSlLsUAnCezvk1eGz5Qq6+L6Xn3WjFXf/4F2gvB6GBZEb0OMJM24hpfNsz8f05JVNFaYKwg==","signatures":[{"sig":"MEQCICUU22zary85PZLvjo8ZQ5JnhEpCQwsukl4c4C1u8RDeAiAE01Ud75uXf6J5JZeK0U3C7T18Owkf5sLUOjun2FLWdw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18283794},"gitHead":"76fa64d481179d1a0b59afe982e5be51afbbdb72","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.71.2_1730978377407_0.22151229541563588","host":"s3://npm-registry-packages"}},"1.71.3":{"name":"@bentwnghk/chat","version":"1.71.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.71.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bd9b48ab7da85b1a3063762ec6ce018d39ec6aa1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.71.3.tgz","fileCount":2782,"integrity":"sha512-SPr6T2gQ0L+kuE2LA5ODqMIsNlDmQvsawKRKqlnYP21asKFPvX2ho+0YVPA2+2SrekLgz0EEbbn0zZ3r/kqD0g==","signatures":[{"sig":"MEYCIQCFgwwaRtM4/cFr0XydZ/CxUIEyrlRdlN3T47F486RVBgIhALLj+HlNIEH0NsA+mQErUBCNrQaseuD478ZJTDVDKj6O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18284003},"gitHead":"7f08b52f1c349ffdbf6929fad1cdfa41254fe0c9","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.71.3_1731069012899_0.05877913604067486","host":"s3://npm-registry-packages"}},"1.72.0":{"name":"@bentwnghk/chat","version":"1.72.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.72.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f6cc68196fdd1f3250cff0158998a7899ce79f0a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.72.0.tgz","fileCount":2796,"integrity":"sha512-LN5nQbkyl9A5mTGAqeCyafdWwhxRKIKRfrG3qRrfQ7ZB64CMepz7osKGmJAjyFkmCUhH7/OoM1FoQq73q+G2JQ==","signatures":[{"sig":"MEQCIAlUKkPTXbleSMD5mVhftFeQM/QCLpWm566Z/XJfTBHjAiA6Ket8dAEUEDuK4jhdI93FFolDYuAP8ZOvqg0RgUHoUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18397871},"gitHead":"32836e62d30a292bd7874b0fd941c484656b3f04","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.72.0_1731149881240_0.3375093377459868","host":"s3://npm-registry-packages"}},"1.72.1":{"name":"@bentwnghk/chat","version":"1.72.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.72.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"97843c77df9fd60cb706cb4565e092bbf3d12a47","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.72.1.tgz","fileCount":2796,"integrity":"sha512-l9iAWJNO5iKO4i0zFMt8t3cdNo64/I2zIK2RKWZEiZc6/phTuvx8OiUCFL3fL4ncCjcYtdp19ooV1JbLB9Pq3w==","signatures":[{"sig":"MEUCICI9YTF+VTChzCfN0npdJM93X0fAJsMbGtEcIyH4f3emAiEA/iOSiUsevQew+WJI3oUIg9olQlKdQ4vqlABBUkdK9xE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18400073},"gitHead":"cae75bdda04f50fcef6340dd8fd2828319c9535c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.72.1_1731161876581_0.748674255197258","host":"s3://npm-registry-packages"}},"1.72.2":{"name":"@bentwnghk/chat","version":"1.72.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.72.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"53608a11b10ea42503b60a053e535afb0e59a8e8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.72.2.tgz","fileCount":2796,"integrity":"sha512-58LzZQPoZOZN8L9W3KXg3J2AYgQNMvWZXSmcEf/CZ7a97Y55QS2Vq+SRQmmUuDtgetarzmagxTC5nsxRc5BKKA==","signatures":[{"sig":"MEUCIDDf2DPXFE/8DWbYiOJYIW5MnVxZ4rwBRFYh5niVnyCvAiEAiR5V5t1mSA4zWNTOrVLEE9eeyx3K0IjfPUEA95RrRkk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18400486},"gitHead":"0dc02501bf5675ca9f1dee64e932584962d2f36a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.72.2_1731166688204_0.28767171464608055","host":"s3://npm-registry-packages"}},"1.72.3":{"name":"@bentwnghk/chat","version":"1.72.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.72.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8ded271f52d4691126b70325e1e4150118d3b7d0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.72.3.tgz","fileCount":2796,"integrity":"sha512-ZSpx6qUBFcm3sJtrVTQq5zq/Da+85j/IwJ7Y7AxcBRmyIXISmk2Abg8lU6OqV+gWXoqR7ndcgygAKedptGIGzw==","signatures":[{"sig":"MEQCIDblncGEvYW6kYy5HA1lrj/uzgvcrPPf2uEnqRP/P+hUAiBcr679Din5+ym+Q3Z783FbJMPDjGd3SEq5XpXa7Q50Sw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18401169},"gitHead":"e9c62dd8c51da7454c2fb995de64cd129d9264c7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.31.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.27.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.72.3_1731192627203_0.8021940957081808","host":"s3://npm-registry-packages"}},"1.72.4":{"name":"@bentwnghk/chat","version":"1.72.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.72.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4c598299abca8a6f0d370c30dba73a8df554dec0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.72.4.tgz","fileCount":2797,"integrity":"sha512-3aRyepKIZnN9gP2VeZNAE91pD0enmo5KT8TpzqvP+6PisKNH+UR7t/Agcrgmuckf7zJudqDKJHn5c7MtoEobew==","signatures":[{"sig":"MEUCIQC1fWlhr/gC0jf6a9ZOl99APzTXWUeFO/QKxl8G/IVefgIgOGGS4gMelnEby1MlQHhQ/uvAWzAgkdZ/ri17uGO2ihM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18402808},"gitHead":"177d572e7e4632dd4d430dd6baac190d828806ba","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.37.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.72.4_1731251499651_0.6998114353091598","host":"s3://npm-registry-packages"}},"1.73.0":{"name":"@bentwnghk/chat","version":"1.73.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e3029a0f3ea6e0c40ae1db5e626984ae5c49c757","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.0.tgz","fileCount":2806,"integrity":"sha512-aveqt/nVKK1zf9xp2AzhWD7bbdZXt6E4qLZdR24Es4BtK11omNfWF3URM9A1IKRveEON20+2ECzVwfSg8sx8Qg==","signatures":[{"sig":"MEUCIHI500tjDc2menXaTYEhKPc4BEoFNEieZVuRlRWCjUd2AiEAtq6AfCDLJHc8uM8XwfiLxpaqhbLCbEAgXvPH1IZOG5g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18468452},"gitHead":"60966bad99cb11b462b1223706acab8125667445","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.0_1731388918585_0.2403456264337427","host":"s3://npm-registry-packages"}},"1.73.1":{"name":"@bentwnghk/chat","version":"1.73.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4de97040039c23f7906bc07c11067af343f4850b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.1.tgz","fileCount":2806,"integrity":"sha512-bwaparGa7lC9pK2OFD7TSaoYco4meijFeQykHIR+Wb5jlTlhbBS0nvzCB3x6yISN7pHNlmwEowTXa10vBID/3Q==","signatures":[{"sig":"MEYCIQCKAJoEzCweMLE3zYs1DonLeTdkIjSuSyJS+vMbsIp/KwIhANoqAE2GibtSCRqxGo5Of+ZDrQpPmlNXsKLOkmwkTIiF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18469033},"gitHead":"40f3d563b3af7d0778fafd7ce920b1dcb627afd8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.1_1731410105296_0.34063240457341437","host":"s3://npm-registry-packages"}},"1.73.2":{"name":"@bentwnghk/chat","version":"1.73.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"00206b93c99c9aa8cedc9548e8c1934a3d89ca8c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.2.tgz","fileCount":2810,"integrity":"sha512-bm7OnTQZkDj1aTzwLe7XgWUm3r1S9nxXIA+Pk3+DCqlW0bwCHMvUFEVtwE4g7TDvO2qlN3quznTcIo4yCYbBAQ==","signatures":[{"sig":"MEUCIB4hZy2NjMgEog6audYp3FPN6S5FcQs2UVcxapmrO4e0AiEA/BiBN/Y+BwRPFuUGe8fKQz3YXArJLM/QnyEMV8y6rHw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18459979},"gitHead":"7b2eb265728ff0e4dea27d2f85c127a20938bca8","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.2_1731420755079_0.3054665404894161","host":"s3://npm-registry-packages"}},"1.73.3":{"name":"@bentwnghk/chat","version":"1.73.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"15b12e57801c584c565c93b40e5507219ee4e373","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.3.tgz","fileCount":2810,"integrity":"sha512-bic+ya5+zFxv6D8R7VvW2NW7vfP+9tIomaDbj4OwWCd/81mKE84wQprTrOEEyd7JFUXs+S6AyaYUqeq70WzRCg==","signatures":[{"sig":"MEUCIQCNYu+5TosgSwDJS9Hxe0Pw+N4h4avvBgVxKrYCsUjIjgIgalVarWp4hxAUOy7uZbAW1Y4KCxU596iTTrlLdXCodps=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18460560},"gitHead":"cd37ce0915a7aed2197f6717ad5479b5a8de4324","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.3_1731424360627_0.5078025699641642","host":"s3://npm-registry-packages"}},"1.73.4":{"name":"@bentwnghk/chat","version":"1.73.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ac3e1226cc63524072b0693e701fbbdddb543399","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.4.tgz","fileCount":2810,"integrity":"sha512-SeWRT3JAjcmT/Z2zFBZ72mhmmji/8P9XSWKLBAjNGuETS3AnIPhUlAigz9f7ZEnE7OBAL+1p3zEsrCubsljy8g==","signatures":[{"sig":"MEQCIFLnh0xjyTrE5qiolglQIou+ayFVAlWB98AYlr9qJLS5AiBYlU++6/eeGGdMHSt6v2E3ZrpVqD3TtJT3PCMvd4uUgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18462969},"gitHead":"d725e789f37c54d890c0cf1eb45e46043f9a80cb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.4_1731453410345_0.4425694559975375","host":"s3://npm-registry-packages"}},"1.73.5":{"name":"@bentwnghk/chat","version":"1.73.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d930f8e7fea98819b6855b1b9357841929ab8703","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.5.tgz","fileCount":2813,"integrity":"sha512-W3OkqqZxvvvrtzijbL8zCoqEhrWIR6sz8vxVnGKg/u7LRiOlPfJPc6RYeKmjMJzLlbitZuHHSRCB3kxgTSYduw==","signatures":[{"sig":"MEUCIHuIABkz2YmIIuD79PWrx9ApFrlLXIkhdKhaXt67qx8oAiEAgNs9X+FFSUlWc1O11BtVOGcOCXaeITmO24NzDsHePRc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18518012},"gitHead":"4cc07aefa33f6294579c999eb55f4a10f5a1fb97","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.4","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.5_1731533045845_0.742711210756809","host":"s3://npm-registry-packages"}},"1.73.6":{"name":"@bentwnghk/chat","version":"1.73.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"30534cd56cdeb52fcb4f02a2b1551b0e55d8a5c8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.6.tgz","fileCount":2816,"integrity":"sha512-37mfPETjuhiktY/ChadwtO3R2UE/hzfkAemFdIi22dSftTXXx7sOAq5Z8MrTfWYtSabgVueLFbIlg0ByzaiVLg==","signatures":[{"sig":"MEUCIDHYev+ZNglLUJUyRBgU7w5Ing49QqhicxlTWzfQOjAUAiEAnkOiybTLcmquEi/lyvbQQXsTPHyuN9sDVvF6RqkZ/k8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18521191},"gitHead":"e1cfa7ee161a896c4a2c0ca75ac7a53634134d49","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.6_1731708828998_0.9254739100330447","host":"s3://npm-registry-packages"}},"1.73.7":{"name":"@bentwnghk/chat","version":"1.73.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"299b6ee4291cb20ef663ac29dccfcfb0c8fcacbf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.7.tgz","fileCount":2816,"integrity":"sha512-gCDqNBX8bNLSh6KEhl5NzG8bVP+kFmML2619EtPXrxmUpoZ2WzIOiAP9mr5xOJSoLUJtgS+pQFwsh0dgroqplw==","signatures":[{"sig":"MEUCIQDk2XwaFWvg+GfG2h0r5LX1cAfjsykxpk5ytfK2aG0dPAIgISbULJtoA0HQar1A+SVl9/cVjxLlv7p72l9Wf5OgoRU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18521008},"gitHead":"895f8d785cca3a426689a8f94392be73b32ab96a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.7_1731745555388_0.708359136314993","host":"s3://npm-registry-packages"}},"1.73.8":{"name":"@bentwnghk/chat","version":"1.73.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.73.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2127f3846f2da8d25920da7ac2ca0f44c46cb493","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.73.8.tgz","fileCount":2820,"integrity":"sha512-+EEpILQtiNYcZZNak6CJJHNWwLlYkvWntP5QuG0AsFNXaDKRFVNvMduGSqzBd2jZXKP6K8aYEMCIJLMVGy3E+A==","signatures":[{"sig":"MEYCIQDYKBQIpKAkYKbcZhJWneJQHGawYc5I8cgvWrsnCZh4gwIhALjNZXsLwR2LHLuJch2QALkYC0o9J8pq7W+yhU9xQj6D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18524577},"gitHead":"10c19858377954089b02e6dfd1a25da9bccc7926","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^2.0.1","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.12.3","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.73.8_1731797608542_0.9492934293708137","host":"s3://npm-registry-packages"}},"1.74.0":{"name":"@bentwnghk/chat","version":"1.74.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.74.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b89cecf28e4b60ac017546ccf9cb8ebeb827ef2b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.74.0.tgz","fileCount":2823,"integrity":"sha512-UDu3Rs0DMVQT016JS7tZbMqo7UKLBPg+0sOIq5oQxs0w6zvtQ0nyOeOoF8TPDeNBdkdciHah5b8UFW+04gFNMQ==","signatures":[{"sig":"MEYCIQCPJeb5D4HGo07NVaJ7RA11TzYUDAD/1PYpYjX6NreyrQIhAJca1QNS4eSbxYt9W8irG6YdA9iaCsBHOh38FFZ1y3kE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18536029},"gitHead":"502c2ae82e9aba9a46861e46ffd32a109298ba52","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.13.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.74.0_1732017546720_0.3741312264853651","host":"s3://npm-registry-packages"}},"1.74.1":{"name":"@bentwnghk/chat","version":"1.74.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.74.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c8ab58148b733b767fd3e6bfa00d60dff96a003e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.74.1.tgz","fileCount":2823,"integrity":"sha512-KjQ5Om9l8lIrFGLREEgPwdzGHUB48OYV1hcI4U4NSIpYiwpMLTIINY8VmEmRJlW6Z1pFgNQ6uqcTrS4MIm/5NQ==","signatures":[{"sig":"MEUCIQCBRCYK6eTjL0phkv2SP5ZLpFv+3pR5De1B9owNRim4OQIgIgNZKw+VowDKlPg/6w4XdKQwGlsVJmSmaJdCU0QvgAg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18537842},"gitHead":"3c66e763a1e9410c5af1e16536e2cc7096dbadf4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.13.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.74.1_1732026858444_0.22474013526917958","host":"s3://npm-registry-packages"}},"1.74.2":{"name":"@bentwnghk/chat","version":"1.74.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.74.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"da0326cedfad65b6c60816673356fd3a9f06d7e0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.74.2.tgz","fileCount":2823,"integrity":"sha512-ZoyW99piATd3sSH1Ui5SHw3lJn4NuWzhMU+J72sAapojuld6fXmNi/cX8z/mpeoq7sbiNZO1LKuR6ZUqo9mNJg==","signatures":[{"sig":"MEQCIHa5KXEyl1ksornGDDFjT7ai4J8Dz05BHlCCLcl0iD7YAiBSVfxntr/LfzfiJguwmW3I/FY9w57ftc/qiS6j0eDsmA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18565081},"gitHead":"502494ea8d468d190bf41737a5c8fbb9c8f9d334","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"^3.27.0","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"^3.27.0","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.13.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.74.2_1732143566990_0.07813959627116884","host":"s3://npm-registry-packages"}},"1.74.3":{"name":"@bentwnghk/chat","version":"1.74.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.74.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"01557835cf12ae8f27582d4ca2f86243de763449","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.74.3.tgz","fileCount":2828,"integrity":"sha512-+j5uYyCVjqI58963bGRggL+Tgay/sr+JWKSJenCQfATd9ZDpDxMcihBOZqm/UMdNFim5ue07modSNpzBkNDDpg==","signatures":[{"sig":"MEMCH1+SdAvShxW/rYX9nBzK4d9s/VPUzIFY27kzG3dDpbgCIH3iHF71U2vUHb0ZCY1fPsWNyu6hxGdlpCmKeafmIOGL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18565449},"gitHead":"15ebf5438623a8a7e07b64cdeb1556d870122421","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.74.3_1732450907207_0.1395731562931768","host":"s3://npm-registry-packages"}},"1.74.4":{"name":"@bentwnghk/chat","version":"1.74.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.74.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"257ab7a9572b4096d695ccfb588d757723ff7f06","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.74.4.tgz","fileCount":2828,"integrity":"sha512-h6Tdrpps67pup1k0YQ+ixMxLPHjEjV6uxGukT+k44sQYhKAvP228nL7GIVvJb9053LeZ9Pbtd3Yak20/pHqWnA==","signatures":[{"sig":"MEYCIQDx/78frusxDrD8vLBOBxLmGjZryjbMZF3mhtj9kHFkvwIhANv0UD9PunFAUmN3Q+IVdt09HXQXbP/gOaVx7VxA0YXr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18566025},"gitHead":"941f1e7d9f6bcb8591e791d2ca8766f2840126de","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.74.4_1732455673497_0.7165721761749255","host":"s3://npm-registry-packages"}},"1.74.5":{"name":"@bentwnghk/chat","version":"1.74.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.74.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5bfcae5f0b9db00801f7dab20d9cf3b4f5727f9d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.74.5.tgz","fileCount":2828,"integrity":"sha512-Zwthi6dJRse8fAxPnyQSWP/nkKG7mDLzf8mAgLwUO0pZMLJioiTs7S3EPwGSc/Nstm9v7KGnC78bBg7oPk1lVQ==","signatures":[{"sig":"MEUCIC4oxEYQzJWRq1kMMkr1ctIZaYklGqD/eI5+ebmRQpMvAiEAkJhnEjxaN+YMHTpxk48wTO8o8e4OdQ9G+9NoAjeQ9fU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18569441},"gitHead":"fa2762ed863d84278b9ba2ee0bf2b60c257e3a79","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.74.5_1732490882939_0.17008942539914274","host":"s3://npm-registry-packages"}},"1.75.0":{"name":"@bentwnghk/chat","version":"1.75.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.75.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2a07148a677bff32ead59e0217ae5bc551be7989","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.75.0.tgz","fileCount":2831,"integrity":"sha512-dSQcVIKXEKnhQEzuyJ7GiKNttIdkZ3GJC5pB/JpoDat8kZq4TCxge4uGx7h26Uq8SlOGBfFpUPgq7gY7n8K6tg==","signatures":[{"sig":"MEUCID7F9oSmEvVAbbNCdMV2qKuWzFJKKgDR8Cc3JvwWIjc3AiEA1l720PLWpXKSAngHysmUTfbvo8pQOI0P5MMr+RHx6cg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18582684},"gitHead":"93ecedfd444df08a2c7d9c0e0c3f54bd1c7f5d82","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.75.0_1732505587175_0.18792941553246112","host":"s3://npm-registry-packages"}},"1.75.1":{"name":"@bentwnghk/chat","version":"1.75.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.75.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a7d585a24fce74bdfbff2450e7e8b16c5266d8c2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.75.1.tgz","fileCount":2831,"integrity":"sha512-pRCJNkK58ICzEc+KYJl5/JxrUtdRua96E81MaYIGcuJKgufXg4N5sGMq0E6UOFzlTCVzPvyo+3YPlub/DUSSAQ==","signatures":[{"sig":"MEUCIQC9aCmxiT4VjR1qcBZWvT/jkyjmr4kLWgXZeIi/bbhpaQIgd9evG1YR+2l+ec0m3W1bgeUuUCQ8K8SQgwUtgfpnP+c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18583782},"gitHead":"24f57b2ed7f8cf293c10a2d02be922d0f855def7","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.75.1_1732527300490_0.5568464342036379","host":"s3://npm-registry-packages"}},"1.75.2":{"name":"@bentwnghk/chat","version":"1.75.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.75.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"884b3d5ac31d4c2040c19aee9dce40ac3512389d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.75.2.tgz","fileCount":2831,"integrity":"sha512-cefSakLhP0etBREx7KjN9BBglAHyDFa6D4bpH3zhmNvzGIVL6NV0i0tSG/eZmIhxzmPkw5z650W7/N2MOEEi5g==","signatures":[{"sig":"MEUCIDAtr9bl73XDT4y7qwIpzsGmILrDUsRIkuP76YEo3tCjAiEA4+lYNBGjVOMjqAG7/U77PhodDCqhPNFL5WgfA7B2dwM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18584590},"gitHead":"5c60a898de6e6ff1df29e11ac1922d19f8e38297","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.75.2_1732577456941_0.764011779181615","host":"s3://npm-registry-packages"}},"1.75.3":{"name":"@bentwnghk/chat","version":"1.75.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.75.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a5808cb66bac0c54cf0d8c4c7f25ec3775ea818d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.75.3.tgz","fileCount":2831,"integrity":"sha512-9ItLd0fCCsfbc+2WBeFAPcX7CvO6jdQ5OLn9PRzn3tlXLqnZD1tyAIOIhVKhvjEDLKwJmWSMrGdt+N3VY8AnwQ==","signatures":[{"sig":"MEUCIHYyjukphSGUkURri8Z049AW61V2YbfPJVHvb3Mr3JiiAiEAxhJZN+TaciJwgZzFKyT4KBRjFERhsXrFpj0NrJhAfj0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18579245},"gitHead":"6a712f32edc2ea1480de7eabdc1c1f24e3502ebf","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/systemjs":"^6.15.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.75.3_1732596358924_0.6462493864809153","host":"s3://npm-registry-packages"}},"1.75.4":{"name":"@bentwnghk/chat","version":"1.75.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.75.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6fea51dff63ef0a102a487dc9ed311f2bba83505","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.75.4.tgz","fileCount":2841,"integrity":"sha512-DoIJYGflDUhgDNqSEb4DNTIR/2Jc5q9/q/iN/NZ4LnAVbl1KCHpxxDdsLxi8l3ESOXGrvQk5xC4j0eEG02KxkQ==","signatures":[{"sig":"MEUCIEgloBFqiPLXXky0/JbL1JKD7M3R8eN1wAU9U2HVVVNQAiEAjFmHYlpLDCtHcz1H80g87DUDug5WbHPv6XG3+jHTliM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19334403},"gitHead":"122aed9b9e4189c76e07a1c9324330cdbfcfcf3c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.75.4_1732617244470_0.40647764519158036","host":"s3://npm-registry-packages"}},"1.76.0":{"name":"@bentwnghk/chat","version":"1.76.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.76.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"18ce869fb95b948db6cc29b4afb0c9cdc272d3d2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.76.0.tgz","fileCount":2891,"integrity":"sha512-OBX3A3MM+bSqRfxj2tgFzGTntFMI6aa/iN4Q9PY/dos6AwrOpNYr9suFFNoGWCEL/+WHP+ddgqSbOpy5UmGPLA==","signatures":[{"sig":"MEQCICp48rJi3QMY5hskEaERElsYnu0CuOwdZ67zEhNTgm7wAiBoNkIE6XNDdAYVy0fzQ5LDsnl9/vSqr8kGWtQYqWURQQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19574946},"gitHead":"629aadfcba448e43f9b443b2112e89357cc84f20","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.76.0_1732667909291_0.5886532733649794","host":"s3://npm-registry-packages"}},"1.76.1":{"name":"@bentwnghk/chat","version":"1.76.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.76.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2837b14f32feef9b9a69e903179763bb47524e4e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.76.1.tgz","fileCount":2891,"integrity":"sha512-vdqDJZKWBEYeJZ3eE1sy33iIToc7azFB9BQJ0DOLouddzKaDNRUvdGszqmyK9rZkGhgtvYbsHsgAsQ1uo+OdeA==","signatures":[{"sig":"MEUCIQDpEErTBTmnI1G6ICW9IeRZ1Z+rthmmvSo+Dapz4DM7WQIgQcusMQTz7ECbUy5tEMqzWSDaiT5kNhqwtmsSZuagCX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19581545},"gitHead":"70def723e84c711c7fb7a5e55711b0925191047e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.76.1_1732707943344_0.2463629616084395","host":"s3://npm-registry-packages"}},"1.76.2":{"name":"@bentwnghk/chat","version":"1.76.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.76.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bad0357397d6604e69f012c80a45a2fc4e16dcf3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.76.2.tgz","fileCount":2891,"integrity":"sha512-aRTOzQB9SFnwj7sBHZpA9tZV6Q1+LMQiGMUHlyxQgPL+bGXM+vZmQlx6D3ZqB2frvdkk0SChROCFys65i3WEXg==","signatures":[{"sig":"MEYCIQCJX4ZJ6+ExU+Y+mZdHuu079tGt9WyRN+6satUuUMTbUwIhAKExqEOf/7tdC5F0APBZcWYeVi4XUF/auLzFkGArrApp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19585787},"gitHead":"92d4aaa6b1fb4302867eec06cfd7e2494ee413d1","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.76.2_1732771319393_0.022089700503790555","host":"s3://npm-registry-packages"}},"1.76.3":{"name":"@bentwnghk/chat","version":"1.76.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.76.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6c151712788778692ceb95a62525afb2d828c5af","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.76.3.tgz","fileCount":2891,"integrity":"sha512-33PTFeC9EwZQfBOLQoDl/MiQ9u9nxqqNU+/MbmY493vLJ/tfMKJ1gn34o6aVt7LpWNrbfNU8mW/HbOdLFdltAw==","signatures":[{"sig":"MEUCIQD/Xb/XjYBxwOhb9QDKiG4/ONtokq/BLD8mt+wDvzZ2zwIgDARec6p+FuHHLTJBMkmDgNtIemE6LZ9FjPMA3qzxC8g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19586610},"gitHead":"892737c6c2f853083adb9db0e6b722045a7a4b0e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.9","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.76.3_1732790939417_0.7819418944135657","host":"s3://npm-registry-packages"}},"1.77.0":{"name":"@bentwnghk/chat","version":"1.77.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"420b1361ca459a5b847242fc7dd61052e8019b2d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.0.tgz","fileCount":2907,"integrity":"sha512-WvwNFlPc6OuH3jQv1Tfgihd2tN4GCNXwXHWcW8lQQnEwp5so0MbKIZ4mgc8KfeVrblP/5Q2reUJfMa5MoRIOCQ==","signatures":[{"sig":"MEQCIE1Xj//cM6WRE21T6iXCeHBNJHHs0754ch3bVn6SDVZkAiAo6tDqE4K0c72RNmE2OU4G6ETmftGlry4kHJa2xg06Jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19982461},"gitHead":"10cc74d419fc776d5ce172be176e4612bfd3d118","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.0_1733039431937_0.8560678104048212","host":"s3://npm-registry-packages"}},"1.77.1":{"name":"@bentwnghk/chat","version":"1.77.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"232e94ac9029cb49a398ca30a3936e178d8693c2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.1.tgz","fileCount":2907,"integrity":"sha512-mlA2gfq6Pv8PXnSQ5SGD1xhSlbEXdrkV9CM+KIS1M9qFWwa5TXvcAxsuBzmocuxuKlFytGbWhAyfdN1ZdSEQrA==","signatures":[{"sig":"MEUCIQDVuDUpekHn2fjVPpa0f9s9p5ez/ygQM62cNAd/ZXHGWAIgKW9Wadvdxz2pyrnTJ5/oPNKo3o86U6b4PmqPDW76APc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19985146},"gitHead":"ada0fe86bf419c828d7e5c4eb97b7e6dd19b44b6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.1_1733095986900_0.24223275808189304","host":"s3://npm-registry-packages"}},"1.77.2":{"name":"@bentwnghk/chat","version":"1.77.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"379c5f8a16001e642c920d9117c41a9ee877bb0a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.2.tgz","fileCount":2915,"integrity":"sha512-pwJc0tFkPidaW9UGev9f7Haq5yp1ZgHIlPYL01jncoywDHxz5H/ZqXtfeyY2/OrTiJCceomvpe0XTix17zcSFQ==","signatures":[{"sig":"MEQCIEYIP1udnTSsCN6k2cFVw7opJLu+hLz6Yn6iBAg4Hrt8AiAF2QxVhXNoq6F/wYXQ2kh9WxT5rFJSE4H2HTT2+TzJ1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20003857},"gitHead":"c634d9f11ebf9d9a9c0aae23661cbe6d31c613ec","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.2_1733146686243_0.32237872276819024","host":"s3://npm-registry-packages"}},"1.77.3":{"name":"@bentwnghk/chat","version":"1.77.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a1a4b8dcfdd9ce371c3bb5088eda75e7ff847ece","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.3.tgz","fileCount":2915,"integrity":"sha512-dYMXY5kZ/exQEMmJ4xmLtCVnG6KLRJ8fzRcw3k87W5Jqe5EEucpOi2gdr9ixFCleQ3vpS4xct2BuUFNftZUGzQ==","signatures":[{"sig":"MEYCIQDOO+PkAt4JvzcmqusZIZClsREs/hMbyy+AHxvq4BOs2gIhAPsFhzuPsNG1mtwDWrleRvIHpamDBdAUWR8LNM9QbaxC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20006170},"gitHead":"57f7076853ed621dfcb806401d7b8f1587a294a4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.3_1733196228808_0.3463810509661982","host":"s3://npm-registry-packages"}},"1.77.4":{"name":"@bentwnghk/chat","version":"1.77.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ccac4d3ef5eea44133022afa7b385a237bb9b60c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.4.tgz","fileCount":2915,"integrity":"sha512-DxFdz+H4YysTndh8iUtDee6S0ug17zMBSM4Kq9mIvawpT3rdh3VZSzlJsa1e4ClJvLfXmZNrID7plmw77gOS6A==","signatures":[{"sig":"MEUCIQDORR8xrAM8gzbuVNoC7hlkDm8GbwBAyYj+8niMHzc8SwIgLGXZBvfS292Dapb+VZ52vPW37VqnK2xm2TuCsgt4QLQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20006731},"gitHead":"136f45b81d96fc6c5458ea399a9fd353713c0e9a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@browserbasehq/stagehand":"1.3.0","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.4_1733224936456_0.031744148437013564","host":"s3://npm-registry-packages"}},"1.77.5":{"name":"@bentwnghk/chat","version":"1.77.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5899f0229b5da9ae303b9a8c3ff7a3296625bd7f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.5.tgz","fileCount":2915,"integrity":"sha512-NlqneNS8mL2zO09+TrLfqMhTYs9sw62AytOPL6awZb6ccVgu+Mrc/Txg/Ti6HjU41dFhA+ofaTdsdqX0Btxmqg==","signatures":[{"sig":"MEUCIDe2seKeYmPbz9BerE/2jZq349aH5Yoqrcl8H0pZ3I4dAiEA3DSV3AqvOIiNteFsJGPOwIj0ZkYRnYYsXfj9LbN3u9A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20007175},"gitHead":"3001696ec8b5e02306f907ef723bbdec9f11e92e","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.5_1733228720671_0.8416383564654784","host":"s3://npm-registry-packages"}},"1.77.6":{"name":"@bentwnghk/chat","version":"1.77.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"56d9f864ca44d9df9750efb5b3f19541549c6382","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.6.tgz","fileCount":2916,"integrity":"sha512-RBbf45dMxnkWtfQgxYX+NDFyciPfdd285b5kpDLtMlucCiGZPr28clCknKOabl3xDTtcXhRtFK+MfKIzwlXHFg==","signatures":[{"sig":"MEUCICoehNjsWXhOPGGoUCBVb+ANi3bGpqfuiEzJDCw4x/YuAiEA6PkX3cQQsjS+XnOjFXJMoB2AIkzmdax3YBA80Lvtoag=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20029448},"gitHead":"f1219da4b224678ee5536aee7be29cc64099088d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"^5.0.0","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.6_1733270321582_0.6120875607621787","host":"s3://npm-registry-packages"}},"1.77.7":{"name":"@bentwnghk/chat","version":"1.77.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5005795d3295d34b9c53514b2db29a9d620a0f81","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.7.tgz","fileCount":2916,"integrity":"sha512-QT/usCQHS6dpNJLPqbO13SI2C8eWNbU1A5TAIbvIQvsXmUoDltJBEVot/cns6FF/Js6t3hOTP+u2xB2Nc2v9bA==","signatures":[{"sig":"MEUCIBeoSNcm1GNHLX9WvijRuRZa2lYJl2humCr4XmkM8verAiEAkcqRxXus+CLSDkPOeMEOfFJaCXILT5ByzBu09pc+I2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20027185},"gitHead":"20be0651e83c4a04517db85b9162546e8c5b65e6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.7_1733353698715_0.44759729061213527","host":"s3://npm-registry-packages"}},"1.77.8":{"name":"@bentwnghk/chat","version":"1.77.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7359eb12773908f372a44f0184d35a22d504320c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.8.tgz","fileCount":2916,"integrity":"sha512-G1lRu8fdzjA9Qn1mrox9GkfrI96XIFHhyFoNnyq3tk0wMr1ROOFQtcYSxrKCPC/FuEMNumGD0QNrqQuOiLriuA==","signatures":[{"sig":"MEYCIQDLJF1iPDCU/7X/wQniTpCM9d0wFtbcJqE9znhls+1XPAIhAP7LAyUrSytDN66mNx+rel3csNO3tPq1BpGtsF9ZpSPw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20031781},"gitHead":"7eab352848f16e01c6609660da29a9b73add94bd","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"^18.3.11","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.8_1733389368698_0.25335089230050856","host":"s3://npm-registry-packages"}},"1.77.9":{"name":"@bentwnghk/chat","version":"1.77.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.77.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"245b68575677aaa2e5d00a33e3bca5ee81aad513","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.77.9.tgz","fileCount":2916,"integrity":"sha512-B3OP/fveO2P+7UbImbZnxitTljT3iiY0ld/lXnciGqD2Ej1jXkLjWeGH3rqslKRSHotpNFn8svB8nkNh35ON6w==","signatures":[{"sig":"MEUCIE4JyqDRln74OKoAesizFCGKaGcsDpoUwWBB59FV6X5RAiEA4vAY80SlCZXEn3TTpziWQfGCEdL2EA+B/tHI7TB22S4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20032266},"gitHead":"b945f8774279fbcb422c69e99e8a3f43ae485518","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.77.9_1733462555332_0.08307973513270261","host":"s3://npm-registry-packages"}},"1.78.0":{"name":"@bentwnghk/chat","version":"1.78.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7acfc95d7b18574fd29bea60f9f3df7016ead525","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.0.tgz","fileCount":2918,"integrity":"sha512-7IGhI1b2RcyvCTot1pGA/+evgm3oOXXS2iutmXqlgK5TBu8YPKHkaZ7Xc6rABZBVulT9cPSB/cAR9572fyT9hw==","signatures":[{"sig":"MEQCIAKxAheTissQNL0w353TBMQpP9hqcmM1+TfrLR9WKf7TAiBRbK8w/6x8efLjImSLmUhjNVqjnuLRXVG1HZB4bVAAHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20116401},"gitHead":"7f10f9dbb88808a97d5f5d1139e9c8198aa9fba4","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.0_1733493664734_0.27733826655217997","host":"s3://npm-registry-packages"}},"1.78.1":{"name":"@bentwnghk/chat","version":"1.78.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"39fb5fc4360232a81924412a3fca59a13eedc856","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.1.tgz","fileCount":2919,"integrity":"sha512-IL2ifYfCCKcdZDV+FGsZTZI7o8UfGKw4azrQNjGSFZe7M+VTqClNebX5Ca2eXxJfWw1GY3ChEUzZx2U4GPENPg==","signatures":[{"sig":"MEYCIQCSepE1fym8ra1kQWeIVRYRmuw6qZXAOYrnR/jJDPv1XAIhAJQh/hx4Sn/X+49ZlQrukbxiW03TFjVoS4RZB333wRuo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20119040},"gitHead":"0676a2678a28861b81a2262c6714f5d272272a0f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.36.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.28.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.1_1733582557327_0.9389542441211429","host":"s3://npm-registry-packages"}},"1.78.2":{"name":"@bentwnghk/chat","version":"1.78.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"95cb90bdbab6160f65e61bb88ee9e09f84fec195","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.2.tgz","fileCount":2921,"integrity":"sha512-zlKpmRks4uy8/KdVCuJIML+m2FKoV7zLyYzEhfwVgzmIWCTvHYOkibV5JmyKaZaKvn6JKefAJX/g8us75HoYWA==","signatures":[{"sig":"MEUCIQDR5udvL9JEooM00by5GUuuJ0ZsWQHwqMSZPO9X2iolUAIgGTVUd83rLBwEXAVoqQXdwZZ6mr+g1PnJEXwAkVwUdHc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20122735},"gitHead":"42bda5eb45e2c5049411c4ab818d9acc6006c763","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.2_1733698965337_0.30171049417909357","host":"s3://npm-registry-packages-npm-production"}},"1.78.3":{"name":"@bentwnghk/chat","version":"1.78.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"249ee4499bcab1a61ba853c3f9e59818ec993bdd","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.3.tgz","fileCount":2921,"integrity":"sha512-Omp4hchOxLVz3LB2/XFWtifoeO4Kamh/pKzkWKya0yZru3OrYJ/mfZ6xCBdpaCkshK5uquuePsge/ezizpX0IQ==","signatures":[{"sig":"MEQCIGxaKppIU7MFZL3bmES2Ouvei6KLVmqofmgM4y6zQfYjAiBbTUQUDBtjRnuxCSix6FQIaTT299MQU15ILbHYQWbbGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20087899},"gitHead":"93d360608754ed815881fa4edea85499053dc993","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.3","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","re-resizable":"6.10.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.3_1733732249302_0.4675411441366206","host":"s3://npm-registry-packages-npm-production"}},"1.78.4":{"name":"@bentwnghk/chat","version":"1.78.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9f71b9f98c1d08364a05fdbd0e6529c82f50ac49","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.4.tgz","fileCount":2921,"integrity":"sha512-87avUVkPhQbEaHTT2fAw3EaVQ9GGsSCftgDzobLn4+GT6/xTO4TXQZ/6tDaZFkB0jLbfoo2DR5zE0sgL5mr5Rw==","signatures":[{"sig":"MEQCIAyjpJEcodMqZVnhhSzsv5cizeYilxchuUdUVgc4hty7AiAGfaF6wSci/KDiW2sQdSGyyAwvhRJ2Dh9GKombV+kubw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20089632},"gitHead":"ade779693cfda6a823c6a7cfab66b3dfdc853573","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","re-resizable":"6.10.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.38.1","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.4_1733822271788_0.36206323662740925","host":"s3://npm-registry-packages-npm-production"}},"1.78.5":{"name":"@bentwnghk/chat","version":"1.78.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"806cd28495d8ac999e4ca2928368585ee59190ff","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.5.tgz","fileCount":2924,"integrity":"sha512-ZIiz4Nt0A2Vt3otnlIDPYYSrxCHIUNdlI9SP5elWDkYLWdgdKahLrn3Sj9w3CGPzh4NLOpsu9k4W5fmY4dmUIg==","signatures":[{"sig":"MEUCIQCetfaTDsKXB2IAmJXHEODw0xRksOXqQAV1Y2ONJAm9ZwIgcRO9M4RGirXs+xIjesBYkR4m3mCqzXpmFAnwAZSi1Jo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20225419},"gitHead":"662e9c57ad7ea19881f0ef89d63d090c147af2c6","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.5_1733871720464_0.02484107227812049","host":"s3://npm-registry-packages-npm-production"}},"1.78.6":{"name":"@bentwnghk/chat","version":"1.78.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"979da9affac7ea413bbabafcc8d8e43683207641","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.6.tgz","fileCount":2924,"integrity":"sha512-zXAktRKHT0fq9AcIJ8OGCTGsKO9T/mecybVje2z/3cDXEIqi4Y/hq6f8IS/TNHt1VhP/UMPSQQ5AqaIo3AAJYw==","signatures":[{"sig":"MEUCIQD8fcOpZgGxvj41+zJ+V7mw1Gwnj5dBHtH+3JMNu9nelgIgPydhdYFtUHbGMtn6q4wTfRvwMPR95+QdirqJDJXqjA0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20226322},"gitHead":"e4bd2b25d7f475f7148ebb0952aa3c4805961911","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.6_1733914890793_0.7547342018330119","host":"s3://npm-registry-packages-npm-production"}},"1.78.7":{"name":"@bentwnghk/chat","version":"1.78.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"46b66b69905d451336a0e075835eb16c551cc935","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.7.tgz","fileCount":2924,"integrity":"sha512-zLC2zGkl5QuZL8x0JFA/Q0hcuIodT4wM04QPwL91920ehCZ7EHk5xapVcfgTyaOsBXQ6X2S61B7bQZdj0NwLZA==","signatures":[{"sig":"MEUCIQC1sulHgjnrxkZ+TwrMd9fkXWBFquzkML5u3qN8iAHrtQIgWxvdg2zvLD9y67Dp/OWKhMFQp1nk+WQtraOCdwLHJAk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20228394},"gitHead":"6cb8e40fc4d6d20975c53d1d501a8cc25b30cf24","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.7_1733961936473_0.5508005208897233","host":"s3://npm-registry-packages-npm-production"}},"1.78.8":{"name":"@bentwnghk/chat","version":"1.78.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"00c49c6a2289bbf7d5ec8b2c11a2a8d22253f954","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.8.tgz","fileCount":2924,"integrity":"sha512-iLCXLlo9YQEl0iWJaUQl++9Dck6QWcNNKnKxeKDk0E9QsH5UCOwm2x621ctPckwbJWMnImU9G90gNyMlCk5ODQ==","signatures":[{"sig":"MEUCIQDTAnm/H/OukJxWL6C4Ya03nphG8xhHInM8+dvpJNIzLwIgF118eELVmQTBV0Y9xFAB/MA4XmxRpIkLWg9tyNBJmsE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20229793},"gitHead":"f3c531659def874c060a46e22da0370496d70ac3","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.8_1733999783355_0.6829282806119861","host":"s3://npm-registry-packages-npm-production"}},"1.78.9":{"name":"@bentwnghk/chat","version":"1.78.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8d516837fb11ec1e349002989dc0f6f6de94114e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.9.tgz","fileCount":2924,"integrity":"sha512-FRMrZK+8iTJNodgWYxy2/Z6a4yysXGAinDWQ9XlQna4ccTu49Nkdl8shKrgsYM/ymtEi/sUL1l9glwW/zv2p2A==","signatures":[{"sig":"MEUCIQDH1/83H/EQ2FGzimaUqcwC0ypbt7RIYNZrOB/xKGFyxQIgUkpwKe5CsnGKP09qxiS1Fw1NI+u8CFgV++/JC2cJWoQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20233118},"gitHead":"f87376007a198bd5d3fa70326cacd0224a611f48","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.9_1734044532764_0.6595756234342238","host":"s3://npm-registry-packages-npm-production"}},"1.78.10":{"name":"@bentwnghk/chat","version":"1.78.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"70bf3a7b7329cda4273325ce015aaa9b845eda10","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.10.tgz","fileCount":2918,"integrity":"sha512-tEZ1H/7ie5hcD1I+0xbjGxGDnrQymCywI/RV1VXXCrBAicLNpTKkAltmUgaiwG8lhoXRsaqc3HVJ6jgelj1UaQ==","signatures":[{"sig":"MEQCIAjPa6jwjVuau1WDk6F4mjcHvS4mF9x8CHiceigf5ALCAiBocTaZtz4IF3YzESOJLdWpBfm7f7FHz5ws53lfw9AbZQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20236288},"gitHead":"028aaa0c9626a6a0233495cef23a68f3cf5da44f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.10_1734135968051_0.7577189014115016","host":"s3://npm-registry-packages-npm-production"}},"1.78.11":{"name":"@bentwnghk/chat","version":"1.78.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"48a5cd36ed3185be99d946a77de1bebaad4baa02","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.11.tgz","fileCount":2918,"integrity":"sha512-1I9+8sX63zGoPJ1+wENFojXKLscC+O4Tr5KzvLqTTqCPVEobubh5fckLd555qnUDebseg8EoTdB2+/BQKszdkg==","signatures":[{"sig":"MEUCIQCGNJtaJc5Mkb/lWP02hPNCokU5uFqBzDJ6gYyirTYo3AIgbWRyLQ7E3BS8x+OUquDAJJLUbDHuk/w8YX/mUs8DzMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20238587},"gitHead":"35af5f5605d4a2fe48322bf3d4fa85415547368d","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.40","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.37.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^3.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.14.4","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.29.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^4.0.3","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.11_1734222091329_0.3880886255210869","host":"s3://npm-registry-packages-npm-production"}},"1.78.12":{"name":"@bentwnghk/chat","version":"1.78.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9b24e6f92f4bda22fdbb0bf757fb9b0639904a37","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.12.tgz","fileCount":2938,"integrity":"sha512-SvRUVYcKMPYTiex5V+/hCNe0Mg+BIBUjYqGbzc7tm7OrjqnjdBMA4jPwRUORJJxFry6YxH+UEnjr7/AhUTTdyQ==","signatures":[{"sig":"MEYCIQCdW/dZwXPPp/1BEAghGlFZU6n9Ldfi9kySJV0cEoejlAIhAP+TaYaVKOSEDYF+v8hTHT206xQ6e0l1X8Af0kE5tuKQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20359778},"gitHead":"3b6587405b86ff32c3c6273befb1c20176a706ad","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.46","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.12_1734419131601_0.44990015188596","host":"s3://npm-registry-packages-npm-production"}},"1.78.13":{"name":"@bentwnghk/chat","version":"1.78.13","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.13","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3b1309bd06dbdbc863f4fec5906b348f1a20bd44","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.13.tgz","fileCount":2944,"integrity":"sha512-EYZiXtkx23Vyhgji1SIwTjk9Jo+3qnj7uqad1qT/jAsEAFeElpn3c4jMi0nZuwqPG980waJNir/iQS443Lyx+Q==","signatures":[{"sig":"MEYCIQCeTANkMeVNMtgSwm47H6jinHcphdmJ03nV6w4sfU9FOwIhAKdshwrp9DlImZ/w6mX1EK+Wnk9R1UlUxJrRJYtSzLJc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20423204},"gitHead":"0de0b475d5f86bef12676957a7dafbac27a9da5f","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.4.168","posthog-js":"^1.174.2","react-scan":"^0.0.46","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.13_1734588315774_0.4099165704339931","host":"s3://npm-registry-packages-npm-production"}},"1.78.14":{"name":"@bentwnghk/chat","version":"1.78.14","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.14","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5cf4b3d790c3fed37f588201f5e4e714666c461d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.14.tgz","fileCount":2944,"integrity":"sha512-XpDUZpBPeuxTZFD6W0H4TtZxE59wyfSCi2uaqYv1efvEsOGIEsPSPwb1I99scvcD2/HGvhUQUieRCoy7YkNylA==","signatures":[{"sig":"MEQCICH5HRRxGTBsYHBqUeUo2467iSwRFHL0WwnCKulsUuj0AiBroUDlcAWUYhqSbQUtXM3qcfcRM5l5ZAibmAlTI3iB9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20424396},"gitHead":"918f9e938fd19f8b613fb98a14eefc8d9ca10cd5","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"18.20.5","dependencies":{"ai":"^3.4.16","ip":"^2.0.1","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.1.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.46","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.14_1734649339554_0.12341738570214211","host":"s3://npm-registry-packages-npm-production"}},"1.78.15":{"name":"@bentwnghk/chat","version":"1.78.15","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.15","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3ae3325db31f7c90a035c780098c8b698c629f7a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.15.tgz","fileCount":2944,"integrity":"sha512-QcCMA9rlnHSctIH4Q6SYpN7sC2B0vdgA9LbNNM0w1LdgHYr9PzPCIQjc0yGNkoSlQt5+r+Xq1LygeJpJUY8BsA==","signatures":[{"sig":"MEQCIHbY4W0PO8H3dxo0JH+HjGLpH06fA1/2hbp59fhTxu9fAiB0j/nthq51lq0v3h9Kfegnlk3UKx+hqv1jYnCRVaw+Nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20433004},"gitHead":"086bd4d8acce0592173a5977c4a546fe2b116342","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.46","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.15_1734698950139_0.98401392105233","host":"s3://npm-registry-packages-npm-production"}},"1.78.16":{"name":"@bentwnghk/chat","version":"1.78.16","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.16","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"13cc90f55c406b70eba2b107ea7ba3d594d6b642","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.16.tgz","fileCount":2944,"integrity":"sha512-xcqf8relcbNOS+ZxcE/lUrgACxofZkmJHc91eRh1QjCphwmS3KiYzEl58gpYLk9Gd3qJZnQk14MrODzS+l+p0Q==","signatures":[{"sig":"MEQCIBoMAnsbauLV1AflueAOU2vWvqsnFdOhM3HKWYoajsOpAiBY9NDkvA3oonEgUptzVOScTxK/H3606biRWR81CHRXGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20435229},"gitHead":"bf43d3afdaf828357ab1a05dedd9694bcb03b3bb","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.16_1734764232912_0.4663721549534092","host":"s3://npm-registry-packages-npm-production"}},"1.78.17":{"name":"@bentwnghk/chat","version":"1.78.17","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.17","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6e4123918406ff90192777302a8514659b4d7409","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.17.tgz","fileCount":2944,"integrity":"sha512-dITnQoUqYG3Zm1ZJKNRyd4+Hoj9MFYfi5Q8/iHBvy6930Mb18KFEgO62bqbs+dtPHVQ1opVfRmTRPatAdEflgw==","signatures":[{"sig":"MEQCIEl6+xxZlNMUfm7mPFJhsX7glcO+8yMRqcS3As7nERUsAiBI3ulvv2sMlob4gXbxQLICds8unwsv4MVmAvwb0cdjVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20436045},"gitHead":"48143c8f413f3ea3e55021a9c9a5ec8581b9047a","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.17_1734781826880_0.6154235871669824","host":"s3://npm-registry-packages-npm-production"}},"1.78.18":{"name":"@bentwnghk/chat","version":"1.78.18","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.78.18","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3defd8b6e0add634151d32a3b33622ba6b86cad8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.78.18.tgz","fileCount":2947,"integrity":"sha512-qUdIxBv4qvA2shoWtOHXOrxfemP7oXxWrnMgBDWa5E0ZKzLm1zNIU4HLqzCfxN6LQInaDBE3rGuy5+3wjlWz6g==","signatures":[{"sig":"MEYCIQDxW6GY1NoGHmNP3dN7zJ7oOE+UhEKs7DCk2HkYqUdILwIhAIdiA2N3DHMnYtdT0VKjpVvaO85d+p5+XcGUY9frTSUO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20450481},"gitHead":"d098269f515fdb34a69a960d621448098a43c08c","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.78.18_1734793438735_0.04693470245911113","host":"s3://npm-registry-packages-npm-production"}},"1.79.0":{"name":"@bentwnghk/chat","version":"1.79.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.79.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"654b8eb1e7d4b1a6fe6947aec6ae9be342aff461","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.79.0.tgz","fileCount":2974,"integrity":"sha512-DvCRUEJNUjXvtthin8Xt5VziQ94R7n9LeEHzI5AIePqyuXVg8EqZqxeRuJTQZPyDRwuUUS2l4yLpZXmhFoHaNg==","signatures":[{"sig":"MEUCIQC8Ti4P/kvtDn78zIEl82nZM8pjTCNfCsuIq3CVlY2xRgIgfO7TflGdFRTqID9sUQp2zSL7SjrEjOP6KoqmayvgPy0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20636643},"gitHead":"266f031f4a4d58f8e96877ac3c51f63064059bab","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.32.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.79.0_1734903971599_0.32113747658245106","host":"s3://npm-registry-packages-npm-production"}},"1.80.0":{"name":"@bentwnghk/chat","version":"1.80.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.80.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"140bd5f0167f9061eaf8c41f18ec2089d7b6a8af","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.80.0.tgz","fileCount":2977,"integrity":"sha512-Zjh0nGmDxoMkL/Meg/5dsxYFznpQB8fKFgtxUCLDU3gYEU9XsEthHDZu+AnlE6rCMlKQKJ0KA5+DKzq+Ivyzjw==","signatures":[{"sig":"MEQCIHEs1BvpgOOT1uCD235zTbWK30bY3h6MFt9W8u3HOtwoAiBeYhpmf/cQJ4RJPf9WLAhaL4PR8OQZFghItiGNbEhkIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20639762},"gitHead":"78a2bc1ae99bc472788a5170df8321797fc08170","scripts":{"dev":"next dev -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.21.4","diff":"^5.2.0","jose":"^5.9.4","next":"14.2.8","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^18.3.1","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^18.3.1","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^14.2.15","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^14.2.15","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^14.2.15","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.80.0_1734948188772_0.8171286555247612","host":"s3://npm-registry-packages-npm-production"}},"1.81.0":{"name":"@bentwnghk/chat","version":"1.81.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.81.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"cc20999c3d87d6211fb8fc65cf08171c9a94e1a5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.81.0.tgz","fileCount":2978,"integrity":"sha512-gjU8iWnZ/YxpKnYQxDKMM9a699F0aiUQ1K7HvWcvo9HGp6mZPUqC7vgM3ZYujEt2D7oV2Sj7aEXiDI1aNMgynA==","signatures":[{"sig":"MEUCIQD94ITjF7i79NOCnqKZY5SkRvv48XgC46ShtsqOZa5BdAIgCswXeP7RdXkilWddugoFCXgqIJ32TXiCSyavGRUUJQU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20294672},"gitHead":"6c9dcd8ceb3778e184f4e9ac1409810971acefd3","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.81.0_1734989365778_0.14953467869649195","host":"s3://npm-registry-packages-npm-production"}},"1.81.1":{"name":"@bentwnghk/chat","version":"1.81.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.81.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6548fdcf59a82c33bbacc1becdaed9483d817d8b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.81.1.tgz","fileCount":2978,"integrity":"sha512-NO3RUTs/OrmZ5qrXKcWf0InosN1lu/vYNuKRuWspw8/jrZ4IEABZl5MKhXVAYIkL2K67EIYlGuIPCk+CLtuquw==","signatures":[{"sig":"MEYCIQD+IThEWMLY5UsKDl6AIkIbxEzbTH6vbxx6fWgCfz57HgIhAPw2rw9D7fcY4k7mcWB8YjLWyp3N8HLuC8y+YG7SyOVz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20296207},"gitHead":"47b8364bdae775a71e9d81751003a9b0384715f6","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.81.1_1735047065589_0.6118062146378194","host":"s3://npm-registry-packages-npm-production"}},"1.81.2":{"name":"@bentwnghk/chat","version":"1.81.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.81.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"11d8ee076c0b141422a18e4e9ba94d4a1e432cf6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.81.2.tgz","fileCount":2978,"integrity":"sha512-ZoNSlldgr/kkl9zgGanpGje/we/UnoGA9OJdJDL875n7JZG8lLmsbIQmzem/C339ML6BAEL3Vs99cpjiq9UqHw==","signatures":[{"sig":"MEUCIQDbiwH5t94BtoT5qOZ+U7h0buhPnvumKLcweoevaGGseQIgOTX0jZ+Nx79yfVofoL9KGtATJvFZ5ZiG7eJ1kDz1ilI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20288184},"gitHead":"ab28c34ff684a4ea33530e7ebc6679482b5433f2","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.81.2_1735126433089_0.32674367765677936","host":"s3://npm-registry-packages-npm-production"}},"1.82.0":{"name":"@bentwnghk/chat","version":"1.82.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.82.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"22b6d02876adccca1901ed45043f7a731b969b63","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.82.0.tgz","fileCount":3037,"integrity":"sha512-9VIYGlJ7N/sKXwODVuXFc++yZCzojQNfEw8JGThHZcpdCB84pUz+NulRLjxxA8a+4qW5rnJNprmKxzhqVchb2w==","signatures":[{"sig":"MEUCIQCQcmfPc7j+PV7Myd9zRONfk0A74NrA9fkriKVdCEtMgQIgDBN0rK/XQMCgR7+CPL7O5O15ZGW5fIyscoKD7pBIM24=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20371048},"gitHead":"ab51afe066fe81152d9a58ac4b6802c7a3c020ae","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.82.0_1735190561336_0.6425651856107151","host":"s3://npm-registry-packages-npm-production"}},"1.82.1":{"name":"@bentwnghk/chat","version":"1.82.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.82.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b178796792f8a569e3f4c2c40cacba42f2e57da1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.82.1.tgz","fileCount":3037,"integrity":"sha512-7kLwctW2j2DpwXhTd7MJnsU/d/WXG6aJELnsQ2UX2WxQHK9ms+CnRHPBb/ydoyY5tFSV0Espmy2tbyBODrUZgw==","signatures":[{"sig":"MEUCIGDO9zshxDX25XYm7TRIHlw2cbn8+s4HIkRoHYKBLFIYAiEAwMLEYVNdwLqs7r1FJr4dTrVUvpqQaLJv3t3TRvzqxb4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20237441},"gitHead":"30a42bfe4f76a4ecb20ead3e4cef0fcda011bb2b","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.82.1_1735207407616_0.0036753385849623843","host":"s3://npm-registry-packages-npm-production"}},"1.82.2":{"name":"@bentwnghk/chat","version":"1.82.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.82.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"94222f46d776dae36932ff2ec58f4d947da30a27","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.82.2.tgz","fileCount":3038,"integrity":"sha512-iktD91T2QhtVdNNkWzJMINs2NIyLL5QUX9t6ocuo1N92O29DABl26LGJMahqpYRI2ZLTK6RxFUHIB3gE28ecmg==","signatures":[{"sig":"MEUCIDhVcNOesHkd+2Y4jzakY+ejBkNMxEwUYU4QemzE5dp+AiEAjszI8rdMxLVL1Pyyjm4tYc5UTHrawoG7qBtYF6PuJz0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20239249},"gitHead":"bdcc729f8bfc717294fffaa8647321df40e327d2","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^2.6.0","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.82.2_1735220624115_0.9820133386204188","host":"s3://npm-registry-packages-npm-production"}},"1.82.3":{"name":"@bentwnghk/chat","version":"1.82.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.82.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4a7d30717a6482ff9527a8833917bbe069e918b4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.82.3.tgz","fileCount":3038,"integrity":"sha512-ZHgUMbRmBeuAGfHq6Hpz1UL9cBqxaqmt+G4yIsZicnUU0JD19WFdjy67t20zD+puUz00C+CeWoUvGe5otzSVNw==","signatures":[{"sig":"MEUCIQCcUeKjFFpP/HJcIFOlhZG04paWK48sgRrQ/CflOAMm0AIgPpu5wZJ5d6zgDUOf8d3bVRLnM5bzDvHypfzKop7z1f8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20240384},"gitHead":"9e5772ec371fd4ffa1edffe0f643c6b543fdd1e1","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.82.3_1735369368658_0.6004665676459449","host":"s3://npm-registry-packages-npm-production"}},"1.83.0":{"name":"@bentwnghk/chat","version":"1.83.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.83.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d2946491711e5cb949d0726e3f139d8ca29db544","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.83.0.tgz","fileCount":3038,"integrity":"sha512-6reL5fRsZrmLuljnaTA3lNK0lsikjSN+GooiOnM4zfnFKWRg2vapy5mI7IPEm0bVNyzRgA5OvflKd/jAXC+jNg==","signatures":[{"sig":"MEUCIGh/LmOqx+Yt0I2QOfsffzMrTaKbQVqLmllawGLReqjCAiEAsfs0+HGx5WnSFkiGRkR1EYnSJc0jvjZunizQ44qvJTg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20242339},"gitHead":"de056574106cd3477f9115900220efc3facb8009","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^10.2.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.83.0_1735434254832_0.3008530288401383","host":"s3://npm-registry-packages-npm-production"}},"1.84.0":{"name":"@bentwnghk/chat","version":"1.84.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.84.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"06f82636df83b8d37b3e9f48c442c5b8b27d756f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.84.0.tgz","fileCount":3040,"integrity":"sha512-L7HoXMI7V3sD80EyBU++EfQafo2iOX1wE2HoOzmXYgeiA0tcy0zpLYdKqebc4FZjzhehjEv90dpQwhTvJBQu/Q==","signatures":[{"sig":"MEYCIQDkwoE2pXXbKS8KweG2v1dAX2yd4Km2O9ASSeIYDicn7AIhAJZsgm5U89WBaosmyhNGMdQK83AEAHhl+m1DYcVQeAXn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20249322},"gitHead":"56dcc23e3e6592fc1ef93f1688cf7e17f62ad19b","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.84.0_1735451202250_0.7797688200041542","host":"s3://npm-registry-packages-npm-production"}},"1.84.1":{"name":"@bentwnghk/chat","version":"1.84.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.84.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6bb8813bb88cc00fa164363e4f48ac2324c3ebc4","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.84.1.tgz","fileCount":3040,"integrity":"sha512-ebV+osok+z7le0ULELUCSVVidc7XmbN114ragFZlCUnD828wSWu/TgiRMrA5RRdlwJLtHYlFv2Cf6uvkVLSVuA==","signatures":[{"sig":"MEUCIQC/aVszzhac4lC2gNGrnB7cFCjuJH+0IS50wm7W6idEugIgb93vcqteMbM87Zez78hzWmQ0y/3Wt4Y+5V4eGlIwAvA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20250316},"gitHead":"ca8cd51a6680039af359fd8554c77bd1b630217c","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^18.3.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.84.1_1735456593380_0.10607298398891318","host":"s3://npm-registry-packages-npm-production"}},"1.84.2":{"name":"@bentwnghk/chat","version":"1.84.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.84.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c3ba56f401b5ea9409484064e06d23056acc2295","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.84.2.tgz","fileCount":3043,"integrity":"sha512-MjptSLgz2HIQ/443G4GxvwZnvPLkwoBUmrV3BlTJ0jNpeNdYFp6VLD+OzJIf+irpMe9PlePC4h1GYYU1wJHD7Q==","signatures":[{"sig":"MEUCIQCPWlEUPXRecgR9sFtGcvuaWURxPwTEF7yrKZvkLutd2AIgXH8ldDG+6nsjaByqjz2gvTTFcGNVncXpcYi4avO6ups=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20264626},"gitHead":"2174ea3b981a4a25de9623b50594434fd51aba81","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.0","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.84.2_1735691020772_0.5399399256221349","host":"s3://npm-registry-packages-npm-production"}},"1.84.3":{"name":"@bentwnghk/chat","version":"1.84.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.84.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"51a998842a2e67abaac1c9df51be395459d5a651","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.84.3.tgz","fileCount":3043,"integrity":"sha512-gKL8XFvw123oiZ7ZDUQAh2WLoWsOmqLlXUhbaIY3JRJY8nHdz/4HS9Xyuf5Iqic2HI2e7E2HgAlcX9qZmL0pHA==","signatures":[{"sig":"MEUCIEC/fv+Ap8EtZHJjHN+GHkujd1TJHXVCVuY9Tkk6CJLcAiEApP4ktZVWpPwRpfytq1eRP5SVn0V6CgYaD0kHqcSM2Tc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20275854},"gitHead":"094c59e98a225104bffe60c14b111479d4825534","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.84.3_1735727287369_0.21063192185011492","host":"s3://npm-registry-packages-npm-production"}},"1.84.4":{"name":"@bentwnghk/chat","version":"1.84.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.84.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c3dbdf44b26022f33e5e5b44607daa41aa5b03a2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.84.4.tgz","fileCount":3044,"integrity":"sha512-Z+ylfhzHLWMZx99tLmtkOmnDu0GGIkr7V46CCeesqVwogkzdFI4+jwScEGza1eZ8X3zLsGM1r9Bzzeq78ZI4Wg==","signatures":[{"sig":"MEYCIQCcu8RHGmn0g2jLUwfevME8ypa50LxsXV40u5pen2sxMQIhAJahpC6+CphQz/qnSj8uYtAOjEpkZXQSQQToZiVeVF81","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20283242},"gitHead":"2a630bf36f829eb6add92bf8131776747d27b63e","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.84.4_1735826968369_0.9276358915944001","host":"s3://npm-registry-packages-npm-production"}},"1.84.5":{"name":"@bentwnghk/chat","version":"1.84.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.84.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"814563bcac5ce4f38b0758e55f4a21d8ee502346","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.84.5.tgz","fileCount":3044,"integrity":"sha512-QAaQ6Pso8w8usJu0yJb4P57O3bMcv1iNJg00qclOxFzl5wQmZNMGeFmOPQ8YHYUeDWBDmNm8LWmdRvSq+HUfNQ==","signatures":[{"sig":"MEUCIGRT6lFVC2/6xrvHjwO4vHuSpPdPDfQA9LJqArufRkBWAiEA2MGe+n6pcxiH1KejKJZ01GVR9xduIj0mV7PGLdRF4j0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20284135},"gitHead":"cbbf5533cef03224b8822f9d822b20d87e4941a6","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.84.5_1735863694304_0.721924266531893","host":"s3://npm-registry-packages-npm-production"}},"1.84.6":{"name":"@bentwnghk/chat","version":"1.84.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.84.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"950b257b0ebd160e46f6dc23b1c75dcd5b68b8d3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.84.6.tgz","fileCount":3044,"integrity":"sha512-4ir2FuBIHcEl23saJmG2ulNe20scxC5451uu7meqX+Oxvx6NUhS+Vtn+fmMBiJ2VhA3QDBNNhthR32LGTfR/wQ==","signatures":[{"sig":"MEYCIQDgQ/TXbQRrTlIEnEr8VrRrRagTuF2q/3LkZImfujfTVAIhANBbYD9l9g2jYpP/wzAn8Oxb9I6TTgHr7d2FuyYUtpEx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20285236},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"df2957235e3fe1ce05e8221749075999eca8d46c","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.2","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.84.6_1735898784794_0.3492762892833028","host":"s3://npm-registry-packages-npm-production"}},"1.85.0":{"name":"@bentwnghk/chat","version":"1.85.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.85.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"85ecff890b58a2b0ca9b581119b6b781c6df9bf6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.85.0.tgz","fileCount":3075,"integrity":"sha512-b4Vs/9QW0g9dshBnl4Izz+6iN4HgawVMRtmggimsANRw6XfbMaQp4NJMrl0cX9QBI2weTft63Hwe6EJeuH/mtA==","signatures":[{"sig":"MEQCIEW+S+yHSRUtTcJ7TXh65aM1ZYUKX9139tb0bD87qSMNAiAEycjnf8ydH/3GIQ3/oKoGhhIFRoSIhT3twwCjzl5blQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20415406},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"1c404052d8ee3d0a07972ba5eb95451cc20eeb8d","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@lobehub/icons":"^1.56.0","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","@lobehub/charts":"^1.9.12","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.85.0_1735953077541_0.6762348956522226","host":"s3://npm-registry-packages-npm-production"}},"1.85.1":{"name":"@bentwnghk/chat","version":"1.85.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.85.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"25de9c0aa0cc2949585bd10036fd2a6278e0a958","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.85.1.tgz","fileCount":3075,"integrity":"sha512-ebG6SjmEOuHpiao0M8//AQZoVqFeBkIKk64y68+Spj5H0SAergqvkiLSdSgOqGo97oemhFoHXG21fPeq7NRFfQ==","signatures":[{"sig":"MEQCIHLM5Qt6gFkrDaJ31dLDXFtMrnZDdtlwcH25UUORqP8iAiAsEHHY51SyisGjY3zFgh62ltnke8HmIZYwTvDMmxU/XQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20416794},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"3399557cf597715c91984ae8160645d93de52fde","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^5.7.5","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","@lobehub/charts":"^1.9.12","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.85.1_1735995159605_0.2871658530138963","host":"s3://npm-registry-packages-npm-production"}},"1.85.2":{"name":"@bentwnghk/chat","version":"1.85.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.85.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"da139cdb247843f10af968aa3f96afff28c88c54","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.85.2.tgz","fileCount":3075,"integrity":"sha512-KlZ06So4qZ2VxTGEUA7NbF4KczsP688bhC3Nte9kYHTH2RD9wCCUQXT886oT5V7vd3WDiCwD13MUCPu+Wqr9cg==","signatures":[{"sig":"MEYCIQDxRI0DBrJkoywGi5I2ibNeqcVBbUeTe/Nh4cv1gbjwBgIhAOan69FNUxKfYieNDHF1TgslGfad/qmNL9na8+Vr1CB+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20417733},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"6e9db9ef29424dd21f0232b81cf882ee86f864bc","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.6","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","@lobehub/charts":"^1.9.12","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.85.2_1735999610375_0.3040996771658506","host":"s3://npm-registry-packages-npm-production"}},"1.85.3":{"name":"@bentwnghk/chat","version":"1.85.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.85.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7857d4bd505d4e509fb993f7b7329cc81a5a9d5d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.85.3.tgz","fileCount":3075,"integrity":"sha512-5VLXKTeYfphmhe63vdYYuPK+JNfnfY0cpFvluW2etAnIAP6/pm90BCVnJOdAEj5lHi9czYHIv65170J7iUgZDg==","signatures":[{"sig":"MEUCIGN72uNUOnGI6xrRNAlpFW8PvSaPxh1CDhb7C6Y9Yv7YAiEAvAK9ipAzba6qqWKRnnZZgTRJZUqoAs68+UXzoT79w3k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20425390},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"99df48eae84119d9cca20f3bc0c51c68d9014276","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.16","pg":"^8.13.0","ws":"^8.18.0","swr":"^2.2.5","yjs":"^13.6.20","zod":"^3.23.8","antd":"^5.22.6","diff":"^5.2.0","jose":"^5.9.4","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.5.0","svix":"^1.37.0","uuid":"^11.0.0","yaml":"^2.6.0","dayjs":"^1.11.13","debug":"^4.3.7","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.22.0","ahooks":"^3.8.1","nanoid":"^5.0.7","ollama":"^0.5.10","openai":"^4.68.1","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.1","mammoth":"^1.8.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.2","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.1","@auth/core":"^0.37.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.174.2","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.0","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.25.1","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.39","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.6","@clerk/themes":"^2.1.37","@serwist/next":"^9.0.9","framer-motion":"^11.11.9","gpt-tokenizer":"^2.5.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.119.2","react-confetti":"^6.1.0","react-virtuoso":"^4.12.0","@lobehub/charts":"^1.9.12","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.0","@ant-design/icons":"^5.5.1","@anthropic-ai/sdk":"^0.33.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.3.1","modern-screenshot":"^4.4.39","@aws-sdk/client-s3":"^3.675.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.5.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.0.0","@vercel/edge-config":"^1.3.0","pwa-install-handler":"^2.6.1","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.1","@clerk/localizations":"^3.3.0","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.0","@cfworker/json-schema":"^4.0.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.59.15","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.0.12","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.8","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.1","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.7.18","@codesandbox/sandpack-react":"^2.19.9","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.675.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.675.0","i18next-browser-languagedetector":"^7.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.1","glob":"^11.0.0","mime":"^4.0.4","vite":"^5.4.9","husky":"^9.1.6","p-map":"^7.0.2","dotenv":"^16.4.5","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.2.3","serwist":"^9.0.9","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.3.3","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.12","crypto-js":"^4.2.0","dpdm-fast":"^1.0.4","happy-dom":"^15.7.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.5.0","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.6.3","@types/diff":"^6.0.0","@types/node":"^20.16.13","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.0","gray-matter":"^4.0.3","lint-staged":"^15.2.10","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.12","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.3","@commitlint/cli":"^19.5.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.2","@types/chroma-js":"^2.4.4","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.0","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.22","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.0.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.0.1","@next/eslint-plugin-next":"^15.0.0","@testing-library/jest-dom":"^6.6.2","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.85.3_1736143243637_0.6895699624337146","host":"s3://npm-registry-packages-npm-production"}},"1.85.4":{"name":"@bentwnghk/chat","version":"1.85.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.85.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"71c399c17256a9bc4df94f835fef3ff9b50ce035","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.85.4.tgz","fileCount":3075,"integrity":"sha512-RUPriRVSLdoNvxBG1+4BAhxkkkdJWPCrUENvNjOnn/Gtf+esit3Pstu8bMElZSTA20BUJsMqrz5c22JAnyXxKQ==","signatures":[{"sig":"MEUCIQDFWJ0JlRhlGTUSREZz7m6ExOedgZACU/FJBXXIx+pVYQIgVpUuzNsz8i90b6jln89ZdFSb9ihqIUBW+SQjsS2yXGQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20437054},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"63b28df1fd3ac3fbb7062928b15e7271ed83739e","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^5.2.0","jose":"^5.9.6","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.8","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.204.0","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.27.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.6","@clerk/themes":"^2.2.3","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.11.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.5","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^7.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^15.11.7","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.7.2","@types/diff":"^6.0.0","@types/node":"^20.17.12","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.24.4","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^2.4.5","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.30","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.3","@testing-library/jest-dom":"^6.6.3","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.85.4_1736242869254_0.792750228596711","host":"s3://npm-registry-packages-npm-production"}},"1.86.0":{"name":"@bentwnghk/chat","version":"1.86.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.86.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ce99f1d89be12af3a6e51a9eb0edcce3bd45411d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.86.0.tgz","fileCount":3191,"integrity":"sha512-/T5mRMT7l7tL26PX4YgFouH3qmIsrLYFyRUBs6oq1P3NI2s3bc7ecAwArSeZgj1HGE/6xzbdU19gV68eKKgKzA==","signatures":[{"sig":"MEQCID+tCLYWYmEZKxvAX7yJYIRp087LcuMYkn+0lW0ky84LAiB8qUXT5Z/mF/3UWIxWv8iDb/NnsKm3xtIXZX6x88+Xlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21162054},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"92589913e979454aa745a2ae8fd77e059666e962","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^5.2.0","jose":"^5.9.6","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.8","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.204.0","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.27.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.6","@clerk/themes":"^2.2.3","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.11.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.5","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^7.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^15.11.7","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.7.2","@types/diff":"^6.0.0","@types/node":"^20.17.12","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^2.4.5","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.30","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.3","@testing-library/jest-dom":"^6.6.3","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.86.0_1736291925564_0.4508231483368368","host":"s3://npm-registry-packages-npm-production"}},"1.86.1":{"name":"@bentwnghk/chat","version":"1.86.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.86.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4b0dadf626d5de37a319a5fab3008d7264188502","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.86.1.tgz","fileCount":3191,"integrity":"sha512-1eCGge4Zc6hoG9oE9f0D11dVTxHzOif4x04x+5DG1Jqrr7qs0RL42jsqY23yvWku3XBQZiYHdIb9tmCj90FmRA==","signatures":[{"sig":"MEUCIQCXhwBaOTRjwhv6VeSvB1o9PlM8nQg/XApCeVqzTf5MmwIgPFT5Dr0Mf0vvA40GOb9fMuTPoJmkgdsj75oqDdEAx+A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21163659},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7d447121bcb9d28145d70500d11966a255f0c225","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^5.2.0","jose":"^5.9.6","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.8","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.204.0","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.27.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.6","@clerk/themes":"^2.2.3","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.11.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.5","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^7.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^15.11.7","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.7.2","@types/diff":"^6.0.0","@types/node":"^20.17.12","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^2.4.5","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.30","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.3","@testing-library/jest-dom":"^6.6.3","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.86.1_1736309803935_0.7851614444142527","host":"s3://npm-registry-packages-npm-production"}},"1.86.2":{"name":"@bentwnghk/chat","version":"1.86.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.86.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"de14010d3d40a3178b1f6f2d2733b5f47443e535","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.86.2.tgz","fileCount":3191,"integrity":"sha512-kPSitCA8aS6Yu1R5FZEg2yQ7CfhhFdvckAyQRH0syRTBMJU4pprxtxOdNfr+CW+tQlXiMu9ndpzf7k5fFR+X/Q==","signatures":[{"sig":"MEYCIQDuyGDyCbRnW7iGhKInUceXrzRVU2bAJWxmWvxcA/j8VAIhAPyoMJsUUurEiVjts+z8sTRDQUPJIuJyAfF0A7xlb5V9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21169415},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"41ca17cb768ea4df530542d7f63850fdc22d7a1c","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^5.2.0","jose":"^5.9.6","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.8","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.204.0","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.27.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.6","@clerk/themes":"^2.2.3","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.11.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.5","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^7.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^15.11.7","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.7.2","@types/diff":"^6.0.0","@types/node":"^20.17.12","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^2.4.5","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.30","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.3","@testing-library/jest-dom":"^6.6.3","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.86.2_1736312007366_0.8723713845985774","host":"s3://npm-registry-packages-npm-production"}},"1.86.3":{"name":"@bentwnghk/chat","version":"1.86.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.86.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"95aa4ac85e82159933ed0101ffbe7f1fda8b6a56","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.86.3.tgz","fileCount":3191,"integrity":"sha512-21p4QjeNHutXPohMZ7qou7lwrPJEKwOotMk5J5dElQNVtI6FF74eT9q/2pbCkD98q0gLw8BS/vmTzQivUCQYzw==","signatures":[{"sig":"MEYCIQD+hcP+Kq7v3DAcQDHwa0jmkvN+6hHnyv9XzdkW/Tx4IAIhAM/xfqVPijgXZvIrjsrPw397y101/DHS2AMq/8jgjf55","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21168295},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"14bd0c58cccd99577b58c25d8a8bbfe3a90941aa","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --quiet --frail --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx-with-lint && prettier -c --write \"{src,docs}/**/*.mdx\" && npm run workflow:mdx-with-lint","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:mdx-with-lint":"tsx ./scripts/mdxWorkflow/index.ts && eslint \"docs/**/*.mdx\" --quiet --fix","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --quiet --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["npm run workflow:mdx","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^5.2.0","jose":"^5.9.6","next":"^15.1.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^14.0.3","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^23.16.8","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.204.0","react-scan":"^0.0.51","remark-gfm":"^3.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^15.0.2","y-protocols":"^1.0.6","@lobehub/tts":"^1.27.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"latest","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.6","@clerk/themes":"^2.2.3","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.11.1","fast-deep-equal":"^3.1.3","next-mdx-remote":"^4.4.1","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.5","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"^0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^7.2.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^15.11.7","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^11.0.0","typescript":"^5.7.2","@types/diff":"^6.0.0","@types/node":"^20.17.12","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"18.3.13","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^10.0.2","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^2.4.5","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^2.3.4","@huggingface/tasks":"^0.12.30","@types/json-schema":"^7.0.15","openapi-typescript":"^6.7.6","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.3","@testing-library/jest-dom":"^6.6.3","eslint-plugin-unused-imports":"4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.86.3_1736342857227_0.9463380284343321","host":"s3://npm-registry-packages-npm-production"}},"1.87.0":{"name":"@bentwnghk/chat","version":"1.87.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bff11410a76fe90b7dfdfbbca14e7b913e7eaca6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.0.tgz","fileCount":3184,"integrity":"sha512-0wA7N47Y+mHtJVhzLrJXTB7fpLwY3i+/4v9tH/2t6d5jMmdGZ0RbvKP791s4Dupza3HffD0hc7zGHEObuaNMVQ==","signatures":[{"sig":"MEYCIQCvExm/yLldzPMdzE/i1gC5dst+tbbERLvDpPG0OP7T8gIhAOmCLoBflVTdWEbZx58YcQcePs+PaoYP+VekqwDicD8s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21195175},"pnpm":{"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"871f42733ccec427e479324a374c63ba6e71c863","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.0_1736346789537_0.6455911498482476","host":"s3://npm-registry-packages-npm-production"}},"1.87.1":{"name":"@bentwnghk/chat","version":"1.87.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2504d838dd1b3a12d625c95b49b68cbc74a2d804","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.1.tgz","fileCount":3184,"integrity":"sha512-EP5TGqSJLfQ2Jqa8Xy0TaEjmuMmp9Xxw8n00aeTpAAdhUbqNHDv8pn3SJVG4EJ2bkgHP3bDMYfGDuyK3dtNMWg==","signatures":[{"sig":"MEQCIFpL7/x+taO6U753n8cjnor9b20FmyrcH7XozL4E5Uj1AiBs3mW/9vnB4CHRGsRgfh3FLQRokk0Fwa7wv4Vfm6IYnA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21188991},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"62bc578a0df8204dfd0912edfab73b56a342c66a","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.1_1736400615462_0.7273801533580813","host":"s3://npm-registry-packages-npm-production"}},"1.87.2":{"name":"@bentwnghk/chat","version":"1.87.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"87c2a5c761883ac207facc291da5226fb71654e6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.2.tgz","fileCount":3184,"integrity":"sha512-sKv3VLJHXEdlxbvGpK+p+MszNv/P3G8V1e9i/I8INRPXUDX1v4midhRgFK96bzu6BYA2MRjnMCp7crPwQ62qyw==","signatures":[{"sig":"MEMCHxKt+BSVMB+8Ong1eS+cfNoFjjlqjw5jfjIaKd7eisUCIDUOGocLUHbYWA0Kl3Ao9Qzcvx4Fo8eSa79PW4hZPDei","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21182184},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"52d87445ef0f098b9c4681b38a075ab39507ebda","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.2_1736407514328_0.05035716378714006","host":"s3://npm-registry-packages-npm-production"}},"1.87.3":{"name":"@bentwnghk/chat","version":"1.87.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"02e5ed154d07164900c95f11cb5feead227fcb78","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.3.tgz","fileCount":3184,"integrity":"sha512-fMJA4gg//Wy0givVDhxMVHCYhjzwOv+cE5ZdA+nKPj4Mg8NQFoKJ0C7BXGp5/rG7Kyl/mjxgaRK0xGuxyrHNNQ==","signatures":[{"sig":"MEYCIQDVqc81uFitKpJRZgrOXiPZkwG+dtxW6L2BfX4cF/769wIhAMt4yA4EccubZfMLl6VH6HwlObAyI9eG5HtMHoIShNin","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21182893},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"763a0436c88d6e2e1be807c47eaa62b0303cd218","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.3","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.3_1736415990034_0.05934620316239658","host":"s3://npm-registry-packages-npm-production"}},"1.87.4":{"name":"@bentwnghk/chat","version":"1.87.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7946bd4577c00f620bd76a49c426934d6f73f8b7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.4.tgz","fileCount":3188,"integrity":"sha512-ECJ6jM4Oy7dvuUmnwwrk4ugygWooPKfgDgU45H6dXOQYLefLJPmTvIEzREIE5teojjW4jzbVdSUrOJZq7rKRvg==","signatures":[{"sig":"MEYCIQC0/cP7oTDceNVJ7//zpQGUG4hALTX/rLE4fklSvVenXAIhAOtJ1hFbmJQ/jnJinTpI9N53Kt36Y/3frkoa0IbasEhB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21208485},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"3f3d8ef03bd98c7dd1712229e2b137dc760c23ae","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.4_1736496096394_0.6810113010555936","host":"s3://npm-registry-packages-npm-production"}},"1.87.5":{"name":"@bentwnghk/chat","version":"1.87.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e17a5123b9adba20dab04831e67e351928ef4494","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.5.tgz","fileCount":3188,"integrity":"sha512-zpGhXJhJjOSE1f2RVt8PRz1yTMejb+b1trUg8GaSmw3D7lh0bntSzuXy92AGJ2shKO7lcOvLkRgZZHSeOWObNQ==","signatures":[{"sig":"MEQCIGNGVWCwLd/ul7A8lHKglAZvrKogLqPf4bzs6lYwaqD2AiBqGzo11lXS3d5cFKfQFCTS9BFYA39Jai3z936qIeY/cw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21214251},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"719d84370de244190738047c40a3bdeae01a5186","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.2","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.5_1736674994989_0.05057849227940303","host":"s3://npm-registry-packages-npm-production"}},"1.87.6":{"name":"@bentwnghk/chat","version":"1.87.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fb3f680f4126f8f81ee4f47f8e3826aea77bc969","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.6.tgz","fileCount":3188,"integrity":"sha512-0YsCu6G0ig9b3LIcxKMQ4MaSIFYAd3uAkeGrWjgL5DI2wdUir+eQK0cDnSeLV2JykkniEpkxol72QT3UeyFJOA==","signatures":[{"sig":"MEQCIFyIb4+vNbBGJL9/i2n8ZzTDlBSQqOFdtaB/H5dDRTStAiBYSAeNvamvaQwgaELKRR5Fau+W6idbH4bHFsAvmD96/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21213278},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"9636c7cc0e0da2b3052f34f7f4803ab9485da0c2","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"5.0.1","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^1.3.2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.6_1736856297385_0.7903637715309486","host":"s3://npm-registry-packages-npm-production"}},"1.87.7":{"name":"@bentwnghk/chat","version":"1.87.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"096b71ecfd812659bc56f3e80edc4810882314f6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.7.tgz","fileCount":3190,"integrity":"sha512-wnzCdKcwPofPtPxGSARB1KYqvGarLWnTuquEisgUXRzLBOmV9sR+X2oH6/K7/gFbgcQgWoUK/V68bfyLD9bYig==","signatures":[{"sig":"MEQCIBEzifmwpEPv0agPDbL2L1d0bMhi03eKey3iRmIZ9r9MAiAkDIEXtG7aijO0/tQWjEknp9hoiyVZXREx+FA1kRwiFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21221699},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"99a964b755586954881159984ab8b669054cd963","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.7_1736899083578_0.4300579380108378","host":"s3://npm-registry-packages-npm-production"}},"1.87.8":{"name":"@bentwnghk/chat","version":"1.87.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.87.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"492dd9d3fff319d7acb66b20435398f9f22ce80d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.87.8.tgz","fileCount":3185,"integrity":"sha512-nVP/CnENtwWwOhGdFBzeUCfZJtXZzDFtJphlWGnqa++MN/WSpZIN54DOcOI9UAQ+GzhH7szTKscA1Xysubrv7w==","signatures":[{"sig":"MEUCIQDBKGyZ+BToJXh0Tq47mm+ZlljDcDDQtySyLyqCl9aIYwIgGAAE7UBpf6nNFGXRTak21150Lhsy/IMWVcZfVWAfynQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21207407},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ded945346bb695c4247c9d3e301158108e75aba5","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.87.8_1736911483811_0.8401654231257014","host":"s3://npm-registry-packages-npm-production"}},"1.88.0":{"name":"@bentwnghk/chat","version":"1.88.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.88.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c59d6c434f9ba463bce8c137c779ec4e749bff3a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.88.0.tgz","fileCount":3193,"integrity":"sha512-gwXKno9jdjaG5gfmnXM9Nhafba2sUDes32SR+jg5lc0LRWLrswc+q7jmem84n6VQkxp5ACXjWTMEdkGoh8p1sQ==","signatures":[{"sig":"MEUCIQD34SFjnIxVwtm2xYXEbJbooDyx4KwmQLxXZAfq5toMEgIgQczeGGnPngKFY78nm6jJNQ48xgMT4FbEWc3FV1xAtUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21229400},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"56ef39af921399b524121d2a68891803e930b4da","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.469.0","officeparser":"^4.2.0","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.88.0_1736913869620_0.6733131489622712","host":"s3://npm-registry-packages-npm-production"}},"1.88.1":{"name":"@bentwnghk/chat","version":"1.88.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.88.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"294e2fcd150020b3e07bfc9655df971717a62154","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.88.1.tgz","fileCount":3194,"integrity":"sha512-xItHSDLjDw1gijseSdxtHpjhM7ZAPg05uM/jVNopg0yi5xCcCYT57vO0ihdC8+Wiv/NQdP7iIFk8TVtdgIWqyg==","signatures":[{"sig":"MEYCIQDQ8RN/rEQuSmUvfy+E1mKwv9SuQ+qaktSbbbQo0/CqiwIhANVvCTWJWeA6BmHGt6+be4moXS37uRrwFb2ql/YHpGde","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21296458},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"5d8ed49e9b5d3aacb6c1cccf0856a567d3b244d1","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.88.1_1736929725472_0.8035215211148767","host":"s3://npm-registry-packages-npm-production"}},"1.88.2":{"name":"@bentwnghk/chat","version":"1.88.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.88.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bf1d4bb5fa8a0e55fede2ba741267b76abacd22d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.88.2.tgz","fileCount":3195,"integrity":"sha512-8hXxUkPXlNrscSGHi5aiXh2ltFjKf4kOqV44X2I3eLwAi7RrY6pLkvo31iyrZUsG22WzP2zpRRenKEE+nkqUxQ==","signatures":[{"sig":"MEYCIQDkfmMITrFFF6QGB9L9qC1Dfja6G0nLTdPiPrc4NFbb7gIhANBFzzPJ0q1/85xakzBSgpnaUl8eQjAiIFwI3wn4k5y1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21299976},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"69a1674af06c59704ff2e786682cd4a97add45a4","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.88.2_1736996386494_0.42220021216564474","host":"s3://npm-registry-packages-npm-production"}},"1.88.3":{"name":"@bentwnghk/chat","version":"1.88.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.88.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0616f4e4734254af5e749de5feea83a00a684f96","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.88.3.tgz","fileCount":3195,"integrity":"sha512-0oYp2ldaVBzSkAcuAPMO61VXPfzvC9u491MB9s7C1bLCtHCxt2TTb9pehYEqwBkpsATarEEx/gOGUUQL5sOezw==","signatures":[{"sig":"MEUCIBr1kcs4ssBGMj0JZha/D7bkjh/ogJ6lqifs7r8To0z2AiEAinVAxrkZmQmmJ53KLCYk+iLh1omcVW5xfVSMUJtofpY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21300533},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7d61ff543db6c34ef66740f9e3b6ca3450ba685e","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.88.3_1737031746890_0.1541124384875423","host":"s3://npm-registry-packages-npm-production"}},"1.88.4":{"name":"@bentwnghk/chat","version":"1.88.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.88.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"edcbfb1b35000c783dc26eb82630a3a8c22e0056","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.88.4.tgz","fileCount":3195,"integrity":"sha512-K8qHgWsfXDMygPNrKOO+G5eh7lI2Gj1bVmpBMb6uQca8nwAR2GL8VSM1TzUUwSU6xpDUwC+xecN4xMkb/f31UQ==","signatures":[{"sig":"MEQCIGgIl0RQCdeC18wEW4hmhOdEbKPZW5O4+rYydszw5GJZAiB5EcEgKxTTPGYAOt4HhyqKPO1XMRPfSKC5lYINLs5wZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21301368},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"4dc2cdbc696823c2134e10bdba833b07f01ffbff","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.88.4_1737039676037_0.2665033741203602","host":"s3://npm-registry-packages-npm-production"}},"1.88.5":{"name":"@bentwnghk/chat","version":"1.88.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.88.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3b1533a336f6a25fb2e17ea9e2f517036d4bb657","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.88.5.tgz","fileCount":3195,"integrity":"sha512-UVHvfDwNVzbrOlfR3RbqsbylapRS7xtuDy7KkVU641h2j1XOoE5BvqZnVtZwlyZ9jaoJuLVjDr21XLHVV0xk4Q==","signatures":[{"sig":"MEQCIHq1ysejQa1Qc1YwNZNUO3zhxLBzQG31y2nD6nroFGreAiBVL4NX3jxNGAn3iN4/zH1R2j+zZ/tEcanMU/vqmdao/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21307015},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"beb73b7c855207f6da74bb007da5ae0a29aeece8","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.88.5_1737101501200_0.2999578312873614","host":"s3://npm-registry-packages-npm-production"}},"1.89.0":{"name":"@bentwnghk/chat","version":"1.89.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"98997941923dff4c4ff0958dc499e9526fa9022b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.0.tgz","fileCount":3216,"integrity":"sha512-TVkOxaknk7pF9+OdszQ4+Ewdkaf9eFKGRytupvT95ZD1KL0+xrGWJN7Q2wDHHTeWMA7SoFWSfo0WYGEInfIx6w==","signatures":[{"sig":"MEUCICuSttg7kmGWCrlhk6S8bfmQdUZ7CIK8nzo8uCbgVBVrAiEAr3ToaFjfNBMptDHRFvpQJ/wKAu9enjxiVr3j11JDBYo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21350890},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"e0b607453a85e10c057a908b5e27dbd1282d8ad7","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.0_1737117392271_0.8819165146117214","host":"s3://npm-registry-packages-npm-production"}},"1.89.1":{"name":"@bentwnghk/chat","version":"1.89.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"87f3291afab6b40592f0c96bff38c76866b90064","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.1.tgz","fileCount":3217,"integrity":"sha512-Vk/4r53SEvtYeMS+e3aTlYbo75Y2mRyIIX7rsKgbkd3Re5hliKNq7gnbVFeUuhqSrrW3QKATbl+1w6JkbTKhsg==","signatures":[{"sig":"MEQCIEaIvfdDuHTdRKnAXUDrl48a7UkIMjCakAVBaFGOI3+9AiB9sjl90rXtGNBBidBCmHSBe7vX6WIn4UagpHSZJTHHIg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21352671},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"c13f856521c5feb520ff2ca74cd12cfd28703db6","scripts":{"dev":"next dev --turbo -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.1_1737119105499_0.9323211080474951","host":"s3://npm-registry-packages-npm-production"}},"1.89.2":{"name":"@bentwnghk/chat","version":"1.89.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a0c9ab1052f6a3c80adc36ea765ef2e327816afb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.2.tgz","fileCount":3220,"integrity":"sha512-lLRqiIo3qXrnjZ2QgeBeKJjuQ/JLGokAuNfouLN5epuGvUarV8Zz/lOVUyIIjVBanunpa3LpuBmeX0A4aTgoxA==","signatures":[{"sig":"MEYCIQDLzu6qBPMc0Ojw+9JDYs/yUW7l5BscJVeGmrHpkkschwIhAL9OOdnGT+fUFihxpqzyrs6I59rgyeybi2HxESVm9yFY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21355758},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"a006e1fc906055e058011653ea60c64ea5fb7ac0","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.2_1737253866215_0.09635147869379113","host":"s3://npm-registry-packages-npm-production"}},"1.89.3":{"name":"@bentwnghk/chat","version":"1.89.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3e1c62ba5ff0701fd401a270fe5e4dea7b8130d5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.3.tgz","fileCount":3222,"integrity":"sha512-NbREnFPUlV9AccN54nhOZ05BKroMDRaAFuvwoMORfj2zzlU1aynFh1Y2rYpNz3NP2MPerR3MNioiAIq5z1H/lA==","signatures":[{"sig":"MEUCIQDIoTc9LE5bvWRyfn6Dv0HrVqdnySVZwDOcpEU+YMMeFQIgO+UYWpgbT9Ejai4H7HFu3sgVl1cLqwUEfYjd9f4dHRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21358576},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"266a467b86e6891a97b45ee9b53bc8b6d0862a54","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.3_1737375192776_0.6871001397465368","host":"s3://npm-registry-packages-npm-production"}},"1.89.4":{"name":"@bentwnghk/chat","version":"1.89.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1453e57d4a637b1d6b53453d3c5d48c2a438782b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.4.tgz","fileCount":3223,"integrity":"sha512-zmY9r8jGFsBZyt3BS7XcRokCGaTZJIFjVpr6Ok8dmvhDN2A+uAo90IQeQq6xgOWYJEb/yIRW3s8Mu0otwM8FZg==","signatures":[{"sig":"MEUCIF7+3RKk96L3mH4LgHt4rMJ3OKKq8jTFugPR1qokz5qnAiEA7QlJqsNUO7WG4MwVab0SpMVeX9aPEI8R7hC3HOUO9fc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21362224},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"07d3ccfd1f4d72f6b25b7d68f39bec96a367a7ff","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.3","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.4_1737418186550_0.04100722109118915","host":"s3://npm-registry-packages-npm-production"}},"1.89.5":{"name":"@bentwnghk/chat","version":"1.89.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2ae80bea5dfabb7c97c52ac387c908706f0e2d5f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.5.tgz","fileCount":3225,"integrity":"sha512-JTBJVeGFQKLUgP2HWmyyUM2QEzoEnG2eU9Wn4yhcHjxBVCsz0RKOIpQ8X7kvklvR8pj9oWwMrB6UVhoJdYOnAA==","signatures":[{"sig":"MEYCIQD2bOnjtRnpdz9lcr6+hvSpzFS7O0CJUoe/FT29A7eLcwIhANiyJz4ful+ap/dm2mhrlRaqziLq0We3KwkzYr4hB537","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21364705},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"816db40bff7f2d6dabf3e3cc56a373bbdcf09d5e","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.5_1737431465221_0.31791704564452394","host":"s3://npm-registry-packages-npm-production"}},"1.89.6":{"name":"@bentwnghk/chat","version":"1.89.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a5849ccd37931389cc2aae76a87c76911a9ba818","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.6.tgz","fileCount":3223,"integrity":"sha512-8bCcP8qMG/Su2vxlLo2I2UhD+O0X1pkpM9v9gtSKXay72JrpHdRoZ4xn4YCcAPsILLelUKCl2T9g8FKvj9xpig==","signatures":[{"sig":"MEUCIQD7pgxkGLUdMoEM/P08XRmY/5/Pn2c3xs1iFG09rHmsoAIgX/bpFH6/9jI2L97Jul5cynbw2OulIDV8Wdwm+b1djRg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21366040},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"d2cd4f1963c6a72de5666fd90f4248e6e887c438","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.0.54","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.6_1737449935480_0.8757455683567255","host":"s3://npm-registry-packages-npm-production"}},"1.89.7":{"name":"@bentwnghk/chat","version":"1.89.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f892240396533f780d899f6aa34d634b43b70348","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.7.tgz","fileCount":3223,"integrity":"sha512-ZKHTFOzpJJYr4rHyGMgt+HzuLutpFySvvXCjHSM7OtKcDGfmVfO8Lp91l7hPlcLXM/6tJTmq5wIpKZkTdOaybQ==","signatures":[{"sig":"MEYCIQCjRty1vlZPbV+ZEpqTyL0HO5Nw6QItO32SnJf/vTlgsAIhAKW9uHOylLmQqSozZw6VA8d2+PeLwF2KMd2kUnm1Mo94","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21386768},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7069a9cf51a0ea4214f0ec9af15bd4d038e1035a","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^15.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.13.4","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.7_1737502991596_0.6018976302543593","host":"s3://npm-registry-packages-npm-production"}},"1.89.8":{"name":"@bentwnghk/chat","version":"1.89.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c30962327785d8199f7b872f2cee149448c08b17","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.8.tgz","fileCount":3223,"integrity":"sha512-kiaCW7MExaPMpXXZGS+70YH4aagIgLT6C5adwcluPEtPemT14TO+4OwrVH3M0rs74zgrg6Wkx92yvkD0juuwUw==","signatures":[{"sig":"MEUCIFEs14fdGbzUmfPMIOTlRyojTfU6UDlk1kGjZI/Nh1aNAiEAkksXly5m6JGonJukPJrN3p2ZeCsTLYPrQ273nmV2r+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21398558},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"8d915a7cfbad71e1afcdf6501b64bd41a87c4aed","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.8_1737513285337_0.4699973147051917","host":"s3://npm-registry-packages-npm-production"}},"1.89.9":{"name":"@bentwnghk/chat","version":"1.89.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7d3166da16bae9712687a94538cc3053f0d66c70","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.9.tgz","fileCount":3223,"integrity":"sha512-70Mo/kODHXJmhfrWbmva8xDXZUJw+cr+I3cPu6sqVspGUWnoRfsBvat7JlE02TEHa7u+N4AP45U3V8OtehohrQ==","signatures":[{"sig":"MEUCIEQTMHZxBBPcm+I6d8KFvs1eLutnRD+c2p9XyyhUu//BAiEA1gqlAHcAwJnyglC0pLWGmCVZXCj8BAKKJYAgc8X/lyo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21406909},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"e11f16f909cce75901c9070dff98d1b0982722bd","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"14.0.2","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.9_1737530173156_0.02561635606816126","host":"s3://npm-registry-packages-npm-production"}},"1.89.10":{"name":"@bentwnghk/chat","version":"1.89.10","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.10","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"21ce2b4a90cbe64db71058bd02c4e1490c580556","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.10.tgz","fileCount":3223,"integrity":"sha512-QgV8cOZYokPgC/gvEO3hcBN6liKKUWLLxLJCvW4cCXmw4AwGxRKIIxuKqzrH9Ek8yOBCQACf4hLXbo+vGugUtg==","signatures":[{"sig":"MEUCIBN3wu2shxIRRAx9tIBQ9qcFGzk84wiTi1gVOOftociRAiEArJmR9MNlpo5I6MnSo5zHwxqvAE/VPYTeJQxq0WGf3so=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21409561},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ffe5c768559f5cc5ca88272dae93bfb0409df6fa","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.10_1737586937518_0.4000671344096147","host":"s3://npm-registry-packages-npm-production"}},"1.89.11":{"name":"@bentwnghk/chat","version":"1.89.11","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.11","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f84a1099e19a851a8881e079b1e82d49ba5a0ed0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.11.tgz","fileCount":3226,"integrity":"sha512-5pzcOjtQrGxyxeC1kC/jnvqgQzDELoGA3E5ph8gt2Ca5BJC+iGY4f7lY1teyLRjd84a+g7o+b4rvrheDywnZTw==","signatures":[{"sig":"MEUCIQDKL3Z1xiQTNCOO5oG5Gf7Isgiijld85q9iDnr7vGITBgIgPAFDSWJnJu3HJdqwArsNMmex6nWbXvH6qae9EoUFoTI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21465241},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7a6ed7995cb6bae3d09760dfdaad847569a05c6c","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.18.2","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.11_1737616018666_0.933064238401085","host":"s3://npm-registry-packages-npm-production"}},"1.89.12":{"name":"@bentwnghk/chat","version":"1.89.12","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.89.12","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"64d44251283b618fad9dd9e9fd933e4b401d6a38","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.89.12.tgz","fileCount":3226,"integrity":"sha512-O5g3N1nResMsLIc2MI1k2Snn/TVItLA8wvt/9nq45WB5/nZNoRZa/6A8I0BDOB9j2u6KA2HT6uv1IxYv0UE4/g==","signatures":[{"sig":"MEYCIQDtViK3xQ+yQ5WFnahxJmQ0kb9VWRbIWrx+kVbLUsUwOgIhALLMd3KmzZv3EAAkVGor2mOvj4QmuqMyrqdCIfnmhZCa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21470347},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"6b83c9874d71ddf846f5574fac07908247345f9d","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.89.12_1737673379033_0.5825114695565099","host":"s3://npm-registry-packages-npm-production"}},"1.90.0":{"name":"@bentwnghk/chat","version":"1.90.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.90.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"cbad233f8edd1537019ce45af6c0da486096a866","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.90.0.tgz","fileCount":3233,"integrity":"sha512-v8TNhXZS7omKmQbe5Wr+dgzjnBhhGWOCsscyF1IWlT659n9s4NnmXtgA2yVAWghlgpLIzAVPPOGSX1CGe4eQLQ==","signatures":[{"sig":"MEUCIE1/mW+RgUfwYh4vK8FWgVsjo0my3jflooXBQTTMP/rmAiEAqClYGeqDU0jVXy8PJBZDMs0FFuLU3IlrFErcSDqAYPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21616117},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"55bcffa0752bafd76c691e172180135a048d1078","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.90.0_1737710468061_0.9612221701463557","host":"s3://npm-registry-packages-npm-production"}},"1.90.1":{"name":"@bentwnghk/chat","version":"1.90.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.90.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2da2f88af81c6f813dc632d9bdfe967ca2f5de21","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.90.1.tgz","fileCount":3235,"integrity":"sha512-GJcbTXaBQvK8WN5PZFEJuSKtoAn88vQoCDL1wCS2baJPrU05dfmfZIa0EOv/TRuZLItojslUir1Av4eBgrgnZw==","signatures":[{"sig":"MEYCIQClGdd5KsfIGJMSnBNV85bIVq/+Z/7DzvbhizHzKBz5RwIhAOET7u6kM7icshy1P8TC9vgP6M4E6Xph7aqiW9KZAeN3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21678883},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"40398c5ae9a1ec2d72d1d178f44e9789218312c7","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.90.1_1737800199284_0.1871607135255624","host":"s3://npm-registry-packages-npm-production"}},"1.90.2":{"name":"@bentwnghk/chat","version":"1.90.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.90.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7bf8239186f9e60abef39e189c00a2786ab8f53f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.90.2.tgz","fileCount":3236,"integrity":"sha512-ShUSkYE3rc6Dt8aVsUMtsRnHbPl3tPhYHtxmWlFP1ohYm/k8hFi5eCwkyQNJOMmkNPjO3Ok1UN/e+k6gH0KKJw==","signatures":[{"sig":"MEQCIEiIgGRnL++DWdjhEzdwiLG33jjRY54064ahy2JfaZV9AiB8WDYYvpM5EKt3T7CFjKispkgGpcTBZjT2b+U72YWjLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21679784},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"170a68fe9293d596d342cae07a614bfa3c51dd4c","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.90.2_1737941673401_0.2768408533756528","host":"s3://npm-registry-packages-npm-production"}},"1.91.0":{"name":"@bentwnghk/chat","version":"1.91.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.91.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"511380ea85b475a44d736d13308d6056f78babb1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.91.0.tgz","fileCount":3241,"integrity":"sha512-ebsx5OJV63FokFhso44zvxLUl4ibi7NcFcHwb04SjmvBAjoxCZCZzB+LPIoTBT/jmKP+CjMS00itMGFYAiVmYQ==","signatures":[{"sig":"MEUCIQDnUXjJWAnqS9Zz2onHn2DitLRHKOz/UpoeGsnFPf2mhQIgfDw5svS8ofoSmatnrrdbuu0zHKJj+WecXnoJOA4imSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21685450},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"1bfa36a5e0330da5f244aa1d94b245e99707353e","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.91.0_1737947454435_0.9278140771883097","host":"s3://npm-registry-packages-npm-production"}},"1.91.1":{"name":"@bentwnghk/chat","version":"1.91.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.91.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"baf36752dd0df256df886c373fc573b2ed965391","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.91.1.tgz","fileCount":3244,"integrity":"sha512-vxZ+9Wzlg9TUX9f2NE7YvmplGT20VlTw1RjLWpeiv0pu3SMfrMdlSIX3Xy6T0cs8JCawU3Han2ob6WXFc+GMAw==","signatures":[{"sig":"MEUCIQCWkqaOcXb4n5jlX15gm3vXJxC1KGUGW6A96WBKfPyeDQIgCVxj0jO78l7lRmFjj3suMvtRSyBRDgxt2WtM8Hcmsn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21689103},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"82646c313d86220dee7e2d77fb4ceea17e41f3fb","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.9.7","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.91.1_1737993118052_0.052125309941538855","host":"s3://npm-registry-packages-npm-production"}},"1.91.2":{"name":"@bentwnghk/chat","version":"1.91.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.91.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ac6e24cdb287f26061d4b4142145fa9a894d6a16","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.91.2.tgz","fileCount":3244,"integrity":"sha512-FrcJ6S7zCy3qa58IUcnB1ECTYnTVuDHCDPWbnSuxyR7/p+Adxx71cZMSW/+rXcAps6UE0ESs7UWn/L7zk4PYrQ==","signatures":[{"sig":"MEYCIQDSSYSVxLzB5m7fU6dftxa+3RkcVqn0jR0azbJMMIydXAIhAJEVM1FvTmlDn64t8+gM5TMOzP/aKwoZ6G0NTANMD1M/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21690113},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"36b972e872a5edf4f17011e616d9e99544af87de","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.1","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"6.10.2","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.91.2_1738069485727_0.5677365506905045","host":"s3://npm-registry-packages-npm-production"}},"1.91.3":{"name":"@bentwnghk/chat","version":"1.91.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.91.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"58679f0aadd1e8ffac68bd8756a2bb66450040dc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.91.3.tgz","fileCount":3244,"integrity":"sha512-7A7IySUIFS6F0Qn85ode+qN3LXkF8F+dsQzDp/gTWbaHRr9NGfoA5RWBNMtukL5q/Xq/Nu18VaUppRp9ScrBYA==","signatures":[{"sig":"MEUCIQDIX0aNkW7TzrPENpSZKExMTbJwiJ5JeaGO6kuj6iwd7gIgd65LazNLbxHQmNExzxU5qtYZ+lSt5Q4SYUQZWqoiFvs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21696576},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"83e8c59a02debab9524ec54ba6654aa393bbf265","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"6.10.2","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.91.3_1738256215046_0.6079099523381437","host":"s3://npm-registry-packages-npm-production"}},"1.91.4":{"name":"@bentwnghk/chat","version":"1.91.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.91.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fa519d1946a40e45286cab89c8be9ba7236f9183","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.91.4.tgz","fileCount":3247,"integrity":"sha512-nNEj/MigHx0f2n0CMtGpJbgZvFYS5DojXDqbEO1P/U/jRswC4hd3GOC9AXRlUvhui8Hku1+hAk/yKgmKa0+Tmg==","signatures":[{"sig":"MEUCIQDkkYI/dBVdxWp50uYRKfEd5hRzrPU3GNvqtAYbin6P/wIgehoiqEk/vAAuRINmBQkqMndcshGcZCG8vn805fXv1Xo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21730271},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"e06197f87019ba181f3b32a6ce56cdfd84d45be8","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"6.10.2","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.91.4_1738425401778_0.42750424745503235","host":"s3://npm-registry-packages-npm-production"}},"1.91.5":{"name":"@bentwnghk/chat","version":"1.91.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.91.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"13bd74be0d9c7fec075a4fa368e56491ad040019","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.91.5.tgz","fileCount":3247,"integrity":"sha512-mjS6bcp+2raW3FoCoRHxEWuPc/NyMzFG7uYrPTIeN8T98om25xRfFSxB3h7vVsS/WmoSKOYeMs9CvYdTtrwYPw==","signatures":[{"sig":"MEUCIHB50zzwg88n7X68QmVGHA7t3zlFKvHudfh4u7rsVBZzAiEA12NFBd0f+KZXTFCP/tydwBLnM1i9iAc6dd/OUw36Rpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21735818},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"9c775040342efd39ba65d9a4804d6ed0deb74146","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.38.3","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"6.10.2","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.91.5_1738456842655_0.9181506662860357","host":"s3://npm-registry-packages-npm-production"}},"1.91.6":{"name":"@bentwnghk/chat","version":"1.91.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.91.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bd865bb3ed98e09afbc6bdb146bf82f66911b6f6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.91.6.tgz","fileCount":3252,"integrity":"sha512-B4NTcx+/eTJYfGVfOz7dSrCG7vO0/Ij2OBFsDBUG7mKbonZC4AVHi5DnZUNxCsadkEVQO6MIZmGYRfLowAqjjQ==","signatures":[{"sig":"MEUCIFO+ykqQUPC8Biav55DRtKxSzDPygrX7e9p1bgzAIMrxAiEA8bdtXafUjWhp+IPMAgWbLtAiv6RLceWLf6j+YmJI/q0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21792448},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"f70a1113ac824243904316fe108092839e7fa186","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"6.10.2","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.91.6_1738497669861_0.9798714183529658","host":"s3://npm-registry-packages-npm-production"}},"1.92.0":{"name":"@bentwnghk/chat","version":"1.92.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.92.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f38ef42f1d839f377597b2942ca6d9cb7a416998","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.92.0.tgz","fileCount":3252,"integrity":"sha512-L8dLS7sGlr06y+IjKqg0RNxzA2Q5BY1dtDAZ0AOn+4gtX5hEIe69PArQ/D/M6QdoFkyd4mpV4/COuDJIWy4T3A==","signatures":[{"sig":"MEUCIExK80RA9LFtrSwsh06OthRkgfv8mx3H1PbM+jvXNuA8AiEAhBn6Ae8OSGeVD+W97VtcwUqr+k6/j+iJcfyU5EyHiJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21835356},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"45d930d8b21d183e01838529d53c6907ec528ec4","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.92.0_1738588384560_0.06340948133165925","host":"s3://npm-registry-packages-npm-production"}},"1.92.1":{"name":"@bentwnghk/chat","version":"1.92.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.92.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7c904e4b74b2c8f15a70f7ebf24b2ab6de3eb56c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.92.1.tgz","fileCount":3251,"integrity":"sha512-AENvr+2cEwPkqFL+RAEzE7gXPj5AulGae+glvj/guDRZeIdfLf6nSYTJV/a9sDB4ZaPYns/F3Bl3M2Rw5z0KzQ==","signatures":[{"sig":"MEYCIQC6vzShBkqkuHo+3onzhxJBfTpzD8IQh2l4kUKUqAs0cAIhALMubj88U+J350w0Gp6eZQXrpeoc+ocPoB/RabU/Us5/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21863316},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"5ce2a908a8d1d1d33532760efe95a1dbbe88af19","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.92.1_1738625381718_0.354323068661041","host":"s3://npm-registry-packages-npm-production"}},"1.92.2":{"name":"@bentwnghk/chat","version":"1.92.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.92.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9dd023815c928952e3c597a8ee5dfdbbdbb37b54","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.92.2.tgz","fileCount":3251,"integrity":"sha512-HTy90Sve/wfgIvxUP4yyHHSL2tRbTlot56ZGuyuWZ8QRsrfvb8TFUeW1GUfG24X0Axjq/C2uRDUH8LnSLYByKQ==","signatures":[{"sig":"MEUCIF+sDAi9/GYtvCD5Ury5c6jDCX4GoWHeYyvscdUtPqB9AiEA0W0xMX5BdZ56FkvCrztiK2gDNBx0RrWxDJP3RlkuZC4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21862438},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"cf34ca72b558a2a131cecb488e22c812b6cba204","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.92.2_1738665902479_0.8840115723625641","host":"s3://npm-registry-packages-npm-production"}},"1.92.3":{"name":"@bentwnghk/chat","version":"1.92.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.92.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e128d242faf1aa59f41d3a615111bab172efede2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.92.3.tgz","fileCount":3255,"integrity":"sha512-a5hx0Q2hDQ70OueDoPj2dlhd3KV3q1fXAhHo0YK7vDiiVN+DnS4oQ250TXIDJGG8qJYQ4pwIJdFDajBpauFzzw==","signatures":[{"sig":"MEYCIQDmb5OhVjbY7KXOj4MyQQ3rW6PKVpCSNft6p68LnMgihAIhAIaygyQhz/gulGPO5CRsIezS3dur7utnimGSKlYdJqCS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21844442},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"04a4bed604233f2e4cb6099f94804bb2b82612f6","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.92.3_1738716921604_0.48900136866858923","host":"s3://npm-registry-packages-npm-production"}},"1.93.0":{"name":"@bentwnghk/chat","version":"1.93.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c1812c656d4b1ea572990b65c69888a790e2a3da","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.0.tgz","fileCount":3256,"integrity":"sha512-yZc/I/bEtTUPcn1V1RgdCniHKr7d1bVst+1kbSiZUppg6ivrR54wVlB3KcbybaHSiKT3XantOrQJGrqwXsE5cQ==","signatures":[{"sig":"MEQCIE7xKm7U2QW/8FCpqsgfvZ2/ObWtdEYRhzal9/vWYzC9AiB5Vp/yzaufuY3qZ93vF6vnQ/Q7GbJff4acCwkQA587qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21857243},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"abb6517acda743d409c4fb9ab2231cea6efbd3cd","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.0_1738720637111_0.5215389205934289","host":"s3://npm-registry-packages-npm-production"}},"1.93.1":{"name":"@bentwnghk/chat","version":"1.93.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0e42262ec4de8e335437b55e4ea622538cf5e65d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.1.tgz","fileCount":3255,"integrity":"sha512-KMNZfPBaw0jdannNr/MgzC3ULQGL1x+AvqUH6+VlVKCO/spiKsa84XgWxtRTIqoD213qqdP+p5FwRJIPORjR+g==","signatures":[{"sig":"MEQCIG2WJmZ6gM+NJfE2srphy2fAKfDOZsHzR17pTeO62bklAiBiWJdl6p0hF37suKa0s6Pl/ae4EGKUTDln5eq1/Q7b/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21857840},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"a92f552720fb2167ddee21b9268b61d1a14f2343","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@baiducloud/qianfan":"^0.1.9","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.1_1738725609517_0.002620205350577942","host":"s3://npm-registry-packages-npm-production"}},"1.93.2":{"name":"@bentwnghk/chat","version":"1.93.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8def5c65a6e7ed89ca0a7bceee1c60292e893df5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.2.tgz","fileCount":3262,"integrity":"sha512-MWtnWAhnlAaCwYszYbEboZ8vwc1LFobBOj0r1CahGqsnuG9WMhZC4ycKiHrevgctvQw3IYL1V/eK9rqqyGHomw==","signatures":[{"sig":"MEUCIAlmDCFKOsqYRBOM46EJg1Esva+VSvg48EFQTvg115PKAiEA6kj+yH568ySPQH/2fvSY0z421FXxcqMGvqS7IfBMSNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21894360},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7885b132471f31bec2be9da71b8294c096f41558","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.2_1738805981331_0.40512999077952894","host":"s3://npm-registry-packages-npm-production"}},"1.93.3":{"name":"@bentwnghk/chat","version":"1.93.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bd7ff8e36504be72aee7f55f65ec9ac7de6de811","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.3.tgz","fileCount":3262,"integrity":"sha512-Bj3ZbVojcGzDNSSlCraTFT5sYbWtrjXImlKu9OqowHvFHLTEAPNWmGkxybuGy35ytt5KE3zFaI8PNKppnJqH8A==","signatures":[{"sig":"MEQCICmCqgSUtgPOMXvVrU3PvKhcjbiHNw+OFwnXbqOoVBWBAiBYcqo1N207DTgQi7WLHpkAmAMRLe7ESgcrkR4ZM2sflQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21963820},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"1c81c7bbf4c0f3b3bbd25f3c2bb5622ec2abd2a5","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.3_1738849640127_0.21722733180277176","host":"s3://npm-registry-packages-npm-production"}},"1.93.4":{"name":"@bentwnghk/chat","version":"1.93.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"42a1ddaf4383c33e5f58cc35302e0ac1fe0d4093","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.4.tgz","fileCount":3262,"integrity":"sha512-uM8c+UWOow6awr11Nt+P+F2xvnNDNzNMkqQqg9UUqVL9SqJo7eTCxOEFYkHpYfNXnjwkb31I/aTKr+LWCaAkJQ==","signatures":[{"sig":"MEQCIG+MsEa30G1sAR72r6R3EmgcI6ua+VeUSKujH9q6q83dAiAPNwxQAn53XmyTetEikLj6vD4wP/LEwOWRwiDBMfujFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22203014},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"923cffa2d9b3922c5b63f624f3c36180aacf1d30","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.4_1738856574614_0.07868375880247092","host":"s3://npm-registry-packages-npm-production"}},"1.93.5":{"name":"@bentwnghk/chat","version":"1.93.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ac084d2cad275f6fcf2197c64bcf8932df1a75ff","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.5.tgz","fileCount":3262,"integrity":"sha512-5seqEgjh9S5YsmHXa3+Xpsq7YxBa7LMAdsdXWlPJCrCNnIBVFF2czfYihZs9arDUfIS8y0PlRfm+vv7T6u/Ajg==","signatures":[{"sig":"MEUCIQDZ6oRPJN19GXFJ4Xl2WvKg2xhnNOJu1Q3NkyB74gQ13gIgAOj1LbuzXppAVFwK3fbx4+VuvRaZvYvXIq5bEXMxafQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22204242},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ab906855782b1314044f5b3a97c361b0e87c1214","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.5_1738888563359_0.7940010218672262","host":"s3://npm-registry-packages-npm-production"}},"1.93.6":{"name":"@bentwnghk/chat","version":"1.93.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"adf8525f5949381d6c561a7c96aaa8daee12af80","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.6.tgz","fileCount":3263,"integrity":"sha512-sj0lP2zmpulgRzdAdf6p7ib7MsPnMkp1RtNs7+K+iA/k9/e/oRiVTekeUXmSaXBPVQFQxgVEJNdDuFQQh62q9Q==","signatures":[{"sig":"MEUCIH0ZUhqGCVxOc4nXU7WcC16ViCEmFjauQV1ghdUf86iZAiEAqcYY7MZrjUpzbWHbQAho6c7iNlQFQA7uE7BzZiat9uE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22205202},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"00499fe35645570ec5fecbc8b7a0b4865d1e8527","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.33.1","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.6_1738897614719_0.3193946378896442","host":"s3://npm-registry-packages-npm-production"}},"1.93.7":{"name":"@bentwnghk/chat","version":"1.93.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a80e7175ba810afa6f60060c5d755ca2c6cccff7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.7.tgz","fileCount":3264,"integrity":"sha512-qpvmaWSypzxogUUQmfWiKyyqMkflRpIZPsv9OvVUJKlyZZhvxpNOc/Y5lZyomH2E6tx96Sf++kjYzSB/fwyBxw==","signatures":[{"sig":"MEYCIQDp1TM9+kTSA7pZMoGzLTRLvanf4u3h2vKGuoTPT73dDwIhALBhw28Xz4TXaD3dnGos4/rgE19uAHzufA3DqSuG4+IA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22207578},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"2ddc9a34e6869bd0b875e7e06bc69c0d1d70d0ac","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.2.0","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.7_1738927420028_0.8083918421599956","host":"s3://npm-registry-packages-npm-production"}},"1.93.8":{"name":"@bentwnghk/chat","version":"1.93.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.93.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1058940512ab0ee6ae34b26243cdca38687a86d1","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.93.8.tgz","fileCount":3264,"integrity":"sha512-ZygHZOq6VLtwTd/SjND39OhM4HH0/VjHhcS+lQEjHTP8rEbANjy13oDKCt47UIw45ByX8UR56SrLhNGrZVtvZw==","signatures":[{"sig":"MEUCIQCJ77evwRU+RKEwIUi1YyydmIW057qe1lA3TixwVFIXFAIgG7wa6tFFNnvUwIzE5ukMaPRvEEw8czwivaWL5lESCZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22208064},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7c6ca55fed4d84904d9c0ebb615c2e1b80bdf43d","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.93.8_1738980836476_0.17011105475630095","host":"s3://npm-registry-packages-npm-production"}},"1.94.0":{"name":"@bentwnghk/chat","version":"1.94.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"eef14a17ffe4cf891d4a39141dfe689f2682ea1e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.0.tgz","fileCount":3263,"integrity":"sha512-PFAWgXhoZ+ZdCuaJpyQnF7ytp4I2JFO2sQvb+an5DrdRtsbe4sPiNPLjHB5YxoGkT7TYkH9jvGgV3rGTTvgaEg==","signatures":[{"sig":"MEYCIQCHB4qywR3xTPhuvEZpwCphm0eq577gtOUol2PShHNIIgIhAOg/UTCnGv/FMiYq/HNahkZ1kNeX+hZR9ZqA0tIvDtl0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22128510},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"28ba86746a25719c8bf150f56805a5e64a66dcb6","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.0_1738989976012_0.714772576284475","host":"s3://npm-registry-packages-npm-production"}},"1.94.1":{"name":"@bentwnghk/chat","version":"1.94.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6c735e94311e08d8c8df20bf4bd79275ca5d4b4c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.1.tgz","fileCount":3264,"integrity":"sha512-lWXeHYq3kMBUB75bd1x7GlFIB8xkysuyyz8p+CZ3vcli6JWMUU6uynFfDHFL+uut1G//96dpzTkxDPofDiVvqA==","signatures":[{"sig":"MEUCIQCKGxE5HokPtU5cqxBCggAWCHA2i3MDOIWWNxbF1Y0BmgIgEmxGPAfhFx5ZyoO3Pv0vpeOmOYFDCk3NLJQA+i9wNSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22134108},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"879c19807398afaab90ab32dae2c9fa2a4ebd8c8","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.1_1739006022066_0.6985566846167459","host":"s3://npm-registry-packages-npm-production"}},"1.94.2":{"name":"@bentwnghk/chat","version":"1.94.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1c454d7a2d3129b3d94a42cbe78352982478c9d9","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.2.tgz","fileCount":3264,"integrity":"sha512-7TL5wWGWoc56ma8lKqEcsBXIle2PrravSW9I91lLHKnQGNFiqfbicdvVcKSpYSWpnq2lYmPJx24WALARqGq/ug==","signatures":[{"sig":"MEYCIQDI29vFIBLuaxMSVmykJDBoLAmAljoooBvZT/FVYkbL5QIhAI61XyRQ1fQsjexRJaXDm6ARp4m8VyGJyxa2mbc2GHCf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22138490},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"590cf4140cf6e6c58ecca3964715e206b7fe74c2","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.2_1739012064034_0.973233238193085","host":"s3://npm-registry-packages-npm-production"}},"1.94.3":{"name":"@bentwnghk/chat","version":"1.94.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"42ec1e7e07d5f9e4c60f0405aa8234ad9d955798","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.3.tgz","fileCount":3264,"integrity":"sha512-8npQCZqpH0RWb/iXZf0MnELGP96HljYWhtAqmA8sY4/QcYQgkmaVTkj2/l9so1OIcdrZ4jrvksYa5GrEzoihSw==","signatures":[{"sig":"MEUCIQD1L8JcIxUZR4CyQRufEsLDH7lRfy38a/ruj2VAttKpsgIgP1nRhqUejms77MdBjhJUM73sAbnrp+5mvwbIYxQrxnM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22140570},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"4c617626cd5e781b0245d07dff89eeecd955d244","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.4","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^16.5.2","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.3_1739068037593_0.7518935733080401","host":"s3://npm-registry-packages-npm-production"}},"1.94.4":{"name":"@bentwnghk/chat","version":"1.94.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7c76c52652369c054ee69c3a9ab9bfe416e8a085","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.4.tgz","fileCount":3266,"integrity":"sha512-OvWQh6C8bL8aaKDeuLMJqsvSJA/jXz/rsDwMoWdKeMEqQOqSVD6D/OdcP4SpBrC/gFmL8Ba3RSsGmhBCbPWUEQ==","signatures":[{"sig":"MEUCIQCdbqVgFX9iHcR1SIw8/SCgk8Ab9j/ApdyRnBBKg2nOoAIgfp3V+pGiVhorZfDp6uiCxYRzs1BZkz+XnnjyQND+FDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22154037},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"0e6081014618ee248867d51201ff7a77d9e520f6","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.4_1739082225559_0.4687640375141091","host":"s3://npm-registry-packages-npm-production"}},"1.94.5":{"name":"@bentwnghk/chat","version":"1.94.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"35c5c5074b2ea576b45603b6f80aaa7263c07502","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.5.tgz","fileCount":3266,"integrity":"sha512-pmpfn/G8yBj5LFFhYra51AgEbSN7lQ6y295WSFTRV58ttzfulyCBCdgHjyIvcuy7lwEXp0PqYyLdLCdVBz703g==","signatures":[{"sig":"MEUCIAPZHFNDS//ZjRP50YbLAc/7SIH8tQ+t4u5ttKAGXBUVAiEAigG6SNuRGXaUXnY1dFsqIXc5j7RT/sCYC+M+cnxGJZ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22157671},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ce3cbd11c17857e916559bc74548431dad229a07","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.5_1739160847210_0.32123795112032116","host":"s3://npm-registry-packages-npm-production"}},"1.94.6":{"name":"@bentwnghk/chat","version":"1.94.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0041e13e3e80da84c9058ccaa493857d328562c5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.6.tgz","fileCount":3271,"integrity":"sha512-IzE+QyjcqymKO81heDpDWCIVKTQT+Id6zbCmCUKCI4Q7nnuzI/0lOadJ0623HlFRHglOMea4i3f5aW8lcseGSA==","signatures":[{"sig":"MEUCIQD4SzeRB8Iykjc6TQtWgsYOj81ds3/y+tpzJEqGXVvVIwIgHp9WsxHgNIZFFF9mFXrxXaJte8wC34c2sQUPhCfj3gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22163157},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ded6ac62f00a08e6a88251f590c90e1b625241d6","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.6_1739196737953_0.8380461339306664","host":"s3://npm-registry-packages-npm-production"}},"1.94.7":{"name":"@bentwnghk/chat","version":"1.94.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ada35114a2201676a644ad4a94eba1343d73d49c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.7.tgz","fileCount":3271,"integrity":"sha512-rvF2HMlVYZTnJB7J0Rsy97QQVrFpOju6WlxddhyY4QYtDYub/Fetp0/Z8cS1tyisV0zX9nVLiwwaH9rK6iwsWw==","signatures":[{"sig":"MEYCIQCjXFin7PMD+rc+CD2+qow5xA5ORuHiqmkfW95240nvMAIhAJr9SoMlXRIn21nwGar0z40BIzvxKn8i6LQdhHgdyFv1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22171204},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"6208db1d49b2ed62c793b21daf68be8e59753a69","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.7_1739201343926_0.35290854141153405","host":"s3://npm-registry-packages-npm-production"}},"1.94.8":{"name":"@bentwnghk/chat","version":"1.94.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a8a9c7162f1b3a8267a3e06b92afec2ac5f091e7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.8.tgz","fileCount":3267,"integrity":"sha512-Fi2TldzkxUwqHhiFsVR61rr3e6BtH8GRGdrzrMNX7Fm65eimCxxzhOy5j5Bon3MmG55LoaDRO3mTxSr2H5qcLg==","signatures":[{"sig":"MEQCIEOd82u2Y48Qiefgg5RLaWWmjthtHnpsVRlqNWSe47ptAiA5hv97+7MuWOOYycx+iEpE6nUnENxQ7taYlkRMfPjVtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22174301},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"71effa8b87985556b09d8bb9e0ded190388dfcf9","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.8_1739243229637_0.6204725524207462","host":"s3://npm-registry-packages-npm-production"}},"1.94.9":{"name":"@bentwnghk/chat","version":"1.94.9","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.94.9","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3ec7151f6ccd1725466bc2408967b819d97e6e16","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.94.9.tgz","fileCount":3267,"integrity":"sha512-uuu1ehuc95+FL4aofHSvHfzcbMGk2qIdQG3xyU29anDVG0eCzYCUy+gYDKlGEb03p1zNcZgWQkOWoet2ou2ObQ==","signatures":[{"sig":"MEUCIBbXf+BajQVr7QaMj54zj7Sc2EY0KLnpOj7GBycKttwkAiEA8e0p7LcUU4I1RTbXamgl1VhJL3WV2N7KMp2SpVPCScg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22176541},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"909f6253a8c3543fe93dc1006c552f1f490fb0cb","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.94.9_1739264929546_0.25053716519461555","host":"s3://npm-registry-packages-npm-production"}},"1.95.0":{"name":"@bentwnghk/chat","version":"1.95.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.95.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"970e27637e2d97f393e4e5a941c9db8589ee6fbf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.95.0.tgz","fileCount":3272,"integrity":"sha512-bclSFmKRM3J3g/LPanxkIxEdiANLkRSaYqT9cxdqZTVjVhmg2bW6Jf0/LOXXA4G5rkU1cDV1aKE77W67VKzzoA==","signatures":[{"sig":"MEQCIGgC43LIIDWyq9x4a8DJKkDMbhHRHpEtsOsUvEmKmKfYAiA4wbvRvqO4PS6thVwWjFjkFqrB+8JiPv+v2OvqONuyIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22315412},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"e05721c6850d8ab646347b892882bac0ab84fd57","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.95.0_1739317419550_0.9645562253219957","host":"s3://npm-registry-packages-npm-production"}},"1.95.1":{"name":"@bentwnghk/chat","version":"1.95.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.95.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"25b16cd9693863a720172a2653c9534d50895004","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.95.1.tgz","fileCount":3272,"integrity":"sha512-3N2oU5gbD7uzKG80AoDBtJnshxR1pvyShSP2/tu6pqLo0bTrBYRJ07bb/SGdf5BrsbPofhi96qlqLh9vVx6UBA==","signatures":[{"sig":"MEUCIGpRB4neD4JPeC5krLea/S2IQ6SgeU6e2UWunOMuKYIqAiEAyUxWwBheU1kk2MerXs0DicVNbZreXQQZqWh/McRLkeg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22318738},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"78f0e722eebadaa7a0d0798d1d08526015b9d833","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.471.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.13.13","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.95.1_1739347157296_0.5932930127480378","host":"s3://npm-registry-packages-npm-production"}},"1.95.2":{"name":"@bentwnghk/chat","version":"1.95.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.95.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9b4e17e6a77ee60690df4f16964ea92796815024","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.95.2.tgz","fileCount":3281,"integrity":"sha512-laZH4YQ8zmUuFrq+kPmPAZ5jVgzFb6PCrRxmVSAmYUj5ApaGGtfR2AyB5KlCWfSNdIuoZgVqaE/z5mvDqJ3dsA==","signatures":[{"sig":"MEQCIGmF3ewTAZYlMJ+Vi2k6EEPjFt+2GmtiwdH9clA7qxWkAiBcNrrkOjGj1XxzjuncwtXNVtXuW/ragpDY9bMFgIi5pw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22359355},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"9db4631e7c27e39cfe52a12272eabdc05b0cb1ca","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.95.2_1739424379244_0.93303473865252","host":"s3://npm-registry-packages-npm-production"}},"1.95.3":{"name":"@bentwnghk/chat","version":"1.95.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.95.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0ccbfd3adf5d530491832b3818ea9a5488118cfc","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.95.3.tgz","fileCount":3282,"integrity":"sha512-5Ry+1kpW4Z4pB4PUxU+pF+9IUDByH3jTsMTILzRZFL8WIWLjWhdPP2M0L3qklac0vPZ23IVkIxZOL6Se9SW1Kw==","signatures":[{"sig":"MEYCIQCl8Y6UpoJIJJG1CNw1H/Q7KSN7t6c5r16Ry2Q/BEWVjwIhAKJRpcZ4O0AEtCy8cY1ag6I2FWL3VJoLrPxZdpB1136z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22368393},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"f89b125ded2ad03aa564d6a91513941c3f391b73","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.95.3_1739428278782_0.6547916178083877","host":"s3://npm-registry-packages-npm-production"}},"1.95.4":{"name":"@bentwnghk/chat","version":"1.95.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.95.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ec7b4197c8d4c078c54cbf01a30e836851f21a9e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.95.4.tgz","fileCount":3284,"integrity":"sha512-lo0SyqXnL/m1QvuaD0yk6CQYA8pLYBWuJGNeoRLQRt+o10kih4M4LdxJqJf538Gl5pGK4GYmp6GiKZ7kw5WXbw==","signatures":[{"sig":"MEQCIC/ckJzaUvLoTB6D2dq1OG2Exl10SkIPhhTArdfdpni/AiB/NLMzuUZKQYjPpWngc7BIaODgd1/205RFCbwZQMJ4vA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22375160},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"2c53a9cbe7cd730bf991c195e014f02da725c62a","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.95.4_1739488244815_0.02175671471723062","host":"s3://npm-registry-packages-npm-production"}},"1.95.5":{"name":"@bentwnghk/chat","version":"1.95.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.95.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2c6bd2ef345d5f3c8dd9ab9fa6f76bc1c287c755","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.95.5.tgz","fileCount":3282,"integrity":"sha512-MBaYHXhyTjxqPC5oder5qOQw2GSCCg0gwtUl5JnIRjQe8xeRS+XPnuRQ6qK0tjMEPWkmajPka2iDlDlHEK9Ucw==","signatures":[{"sig":"MEUCIGMDdi84dhrx0O2YkywbpjRkux2oUQCW+2xhBSfgq4RfAiEAtx5HtLdUrR7YEQRDhOBWwGVD4L1qcPFX+XA/R/9a2vQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22387006},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"b1f029871b5b49a999f5121d9dc828c843e5549f","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.95.5_1739517630306_0.19072278106073237","host":"s3://npm-registry-packages-npm-production"}},"1.96.0":{"name":"@bentwnghk/chat","version":"1.96.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.96.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"31d5fe87c7d203babbc4802998ba72e2e5edd53f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.96.0.tgz","fileCount":3293,"integrity":"sha512-pcqp44PpOT5BYHNbRHIAYz3CU2nFaG9hCBM7uhHOYg+p5jNM6aA2p9fy4AnENdKHL2ALxHQDtqYqp23xLIevAQ==","signatures":[{"sig":"MEUCIC35LWCud3uupaoy870EnK5NGBRaALqbjPYFZ9qe7BGLAiEAtEgps1CW1FQD1xCVQOLL5/9KJNiUCyn/dQEHwlpmaF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22415914},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"a49865aa696e44e1b7acfd9fdbfdd24fadd92751","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.96.0_1739543887353_0.6236135927409843","host":"s3://npm-registry-packages-npm-production"}},"1.97.0":{"name":"@bentwnghk/chat","version":"1.97.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.97.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"ddd26e644d09726bc6723fdf6f2f380746c0ecfe","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.97.0.tgz","fileCount":3296,"integrity":"sha512-QAXDOI5HHfGVgWLCEAUiZ+8RgijcE3oiG8rdQ494qVU61abF6L4fUhFlm7jrDMKYOKAPlQAEsbzDrDMpIf8ljw==","signatures":[{"sig":"MEYCIQDbFcdyivwG3ZQABbGAoGEe7QaEP4cMstx6IyF4itaW+QIhAIaGUiDqZTYi+eY7fsVwPrA+NBB7lC22qwPXrPBVX4zM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22422796},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"291616031b2aff675a20e3e1db2facbe8582682a","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@azure/openai":"1.0.0-beta.12","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.11.1","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@azure/core-rest-pipeline":"1.16.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.97.0_1739546646262_0.15241206784491057","host":"s3://npm-registry-packages-npm-production"}},"1.97.1":{"name":"@bentwnghk/chat","version":"1.97.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.97.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9f5eee648a6333573b79a6efe3c75123b2402413","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.97.1.tgz","fileCount":3299,"integrity":"sha512-xMAriVU49txVGK1UoW3byUjarnlelVOWNmHPoYiGCLNBBY0U0wJnOWNJObnBgluYSM01ckLe4P2LOHgEdh3YDA==","signatures":[{"sig":"MEUCIQD6zKrFD4e5r/MmjyttQDgKWL6w4qdKK5EwkuZ4NeczeQIgdZChNSAZvaPxBDMSUDzEXnNkXdO6DgbIsjLF1P+5a7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22430357},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"24f5ad90e68a037add6bca97df87fe2c6f955a1d","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.97.1_1739603113959_0.03397622075280338","host":"s3://npm-registry-packages-npm-production"}},"1.98.0":{"name":"@bentwnghk/chat","version":"1.98.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.98.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1c3c3ad609778d2591a7931b87f5eb87b5e3c3af","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.98.0.tgz","fileCount":3309,"integrity":"sha512-fkxtkKku1G0gC8xJLSX0LEboXjNg4oj0EEsiiV/gIkt9GTC692wLy0kO3iEyL4qb27oDprBGqTxMxI2WSYmg/A==","signatures":[{"sig":"MEQCIC0YZTzgOsqiskzf+OgGkkJaGATDEX/O4ev1MXn8AWJsAiB0Y7zd2TE6NtDZszeg2yaziJ72WLwA+seE1Vf/YHuWLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22314041},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"70e466f2cf421260d53a52776ca952f6784052ac","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.98.0_1739675448818_0.029810998256751375","host":"s3://npm-registry-packages-npm-production"}},"1.99.0":{"name":"@bentwnghk/chat","version":"1.99.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.99.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a2850da967a0ecc348c67f04339480147bcd4c42","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.99.0.tgz","fileCount":3312,"integrity":"sha512-FVOI3IZQ8cPYdWOvAWI7gF4t0nw3Uh9QmgRH7qSwssZTxSjwtbBmxth0lSj58ZesXAQmVQNHhVM8DAQrAqPTkQ==","signatures":[{"sig":"MEUCIDY79EQGpwCqRAaAJLTYbLPAwVlIaFnycCWYmVWy8QXaAiEAmQ4hknIqnyZi8xOUMjOfacytdP8KoSKOfac42OURV9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22335037},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"5dbeb8ddf87b50d3036baa865336b75627279b83","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.99.0_1739718109901_0.9830575608215282","host":"s3://npm-registry-packages-npm-production"}},"1.100.0":{"name":"@bentwnghk/chat","version":"1.100.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.100.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"b680707fcbff60c2162bd6df8fac2c28837f8c1b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.100.0.tgz","fileCount":3318,"integrity":"sha512-7vWeEi53eBiOq1pY4ivWp5sAoqH3XDe3i2TINTXSVzih5F5Hfydxq7+Ht3PdAU31gJIzX6HpIvImRDlb4X1H0Q==","signatures":[{"sig":"MEQCIG+OoItyN0VvwS4UMmg3LjJHJ2N2syvRr1MZZbTdTEpIAiABpLfzlvxN3C1WoXL5+JLYPCp3vxyxdrinWcnFQRexLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22484023},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"2894b8a5e6580d6301be4b6e5b05d6cf49326f86","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.100.0_1739722552009_0.9665083430340327","host":"s3://npm-registry-packages-npm-production"}},"1.101.0":{"name":"@bentwnghk/chat","version":"1.101.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.101.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"0583e0234bc7f6198fc1467baed524ae6c58cc6b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.101.0.tgz","fileCount":3323,"integrity":"sha512-rVlBvmNSuJfUljpsAuKSVdkY61G1Dz+W0ykuYjNwPdm2dxSim56gUWZHE4/B2DrRqQpKSc0C823xcsVIxQDDgQ==","signatures":[{"sig":"MEUCIQDmV8U0c/Z9QFd6OWPU3LvzPaLvedMybr05i9ZxG1o6JAIgW7BPDcatieU6l1EJCjbYCSkxbC4EmnM5jLPwrpgJ5hI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22582957},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"37a769e3f41df6dce998cb50b1feb6b799b6f3df","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.101.0_1739795052854_0.3319181333816865","host":"s3://npm-registry-packages-npm-production"}},"1.101.1":{"name":"@bentwnghk/chat","version":"1.101.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.101.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"318b79955f22ffe48e3673f3aceb6fedd9c0118f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.101.1.tgz","fileCount":3324,"integrity":"sha512-dCxxStDOtEp7gsFcL8CCP+vSSY9B50PsSNnWFTEqO+7fCQW+7WL4A2tTfrx13ObLDrCljQ1/QEjCS4a9Zcb3Fw==","signatures":[{"sig":"MEQCIBifNFIW9n3kGhixJ/8voLxgI7Tpb6ANtanOaC49efcrAiB5KOaEqNUotMJ7TBnQyZG8UNOhbbhP4rcOC7bOFUMJkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22585600},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"26f838905063e9cc0c6fd49582527af05d9ebcaa","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.101.1_1739841285845_0.2587961673425494","host":"s3://npm-registry-packages-npm-production"}},"1.102.0":{"name":"@bentwnghk/chat","version":"1.102.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.102.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c99689ed26efae9f833722cd246f5547ba437895","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.102.0.tgz","fileCount":3332,"integrity":"sha512-x6pUHrdjLnzFLbHyUToii9TAJ8kkWqu4jXRSeOPva6bc1JwxY1WUtYLd6KoeSbA3vDnwENzz6SxiusgsjiYd/g==","signatures":[{"sig":"MEQCIA4MrGrfd3Qra3Qho80FrtBXRtMH8m98tN4p0/JaB8vLAiAUHZKY6vpbR9uTIdJmmiWeiGQtZbjPqbs1cI9rhH2IaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22642043},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"67503fcaa69354d4eb59b1bc19cbc3b1ccaea684","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.102.0_1739922549590_0.49381744315875986","host":"s3://npm-registry-packages-npm-production"}},"1.102.1":{"name":"@bentwnghk/chat","version":"1.102.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.102.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8316b45f601179d046a78f1ade8516a2e57e924d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.102.1.tgz","fileCount":3334,"integrity":"sha512-iNuY3pit4c+KsWzohYvkxHf6ah2eT0g1FgJg5r/VWS51mUPRI6FdfywTmCKA1k/lDkHV9cbLGRgMBOtjHZmq1A==","signatures":[{"sig":"MEYCIQDspuNGBke9QMUFnBbGsUI5gw7YUGgZ/V9QP2hNK6a9cAIhALYKqNTxoxfCH4Ss3ydo4eRwdgdJTt1PAv1y1RPKPB8M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22665756},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"3515434f392590f8cf8e7f243e558f240a126d2e","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.102.1_1740009240833_0.446271897558598","host":"s3://npm-registry-packages-npm-production"}},"1.103.0":{"name":"@bentwnghk/chat","version":"1.103.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.103.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"261914add6201fb29bc036c7e876a383ff127434","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.103.0.tgz","fileCount":3340,"integrity":"sha512-dqGZ2e4X+bLCwT5zHTXVZAI4hrTlAeYjso1ZuqwerB+2Bmr13LLXKlmKwK2/vWGasbt0tzGAURpYBaOkqUf3ug==","signatures":[{"sig":"MEUCIGB95H/ExWAGENU1aInumJcCYyD8QHmPquhbmw6jwOMaAiEApjlMF3I7Kr7p6GelFWPkZrGlWarj+wxG6vcv7jvjL5c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22800122},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"f667603e2bb9a784f4b69dc5b5b9dc206625c9b0","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^19.6.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.103.0_1740029888519_0.6690160110737728","host":"s3://npm-registry-packages-npm-production"}},"1.103.1":{"name":"@bentwnghk/chat","version":"1.103.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.103.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"74c587a55dbb5c99a2ff75f3ebd9b0495551b101","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.103.1.tgz","fileCount":3340,"integrity":"sha512-VXsusyWxvVXybU0DU0lmu+mYRWNs/1ZEFew/IkDlSsRjEG/caTwhH/ZRAAX1dwXY3/v6GLBFA5Map9Kbt6zJUg==","signatures":[{"sig":"MEQCIGUBCJUul1bt7Ca8O+ebOPP1h8zaq+UPT2YfamkAkzTkAiAGjeFQiwRMA3LTPfqmic9gH611Ifk6DAxXOXEDBObJMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22804204},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7a1d7e2b82477063628cd48ddb2d770113579403","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.103.1_1740035861569_0.8560974788586264","host":"s3://npm-registry-packages-npm-production"}},"1.103.2":{"name":"@bentwnghk/chat","version":"1.103.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.103.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fe45b1c4b5b2c1aad62994bc75ee7d0db50c7d71","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.103.2.tgz","fileCount":3340,"integrity":"sha512-QM61tlSdAf49Yrx2IP9nMDcdavwnO9tdDgpR+9ZgGy6kwts9qCxXFcjbKZRncVRCra/mMX1690wtw1HbM5lkDg==","signatures":[{"sig":"MEUCIHmDYJMOrjvEou8NxaxgP2GffBcD2TYuJs/HCEtOWaVtAiEA04YIPLrj1P1AL5v9P4lOivHrpERAmpo/YLA0EhCpruE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22810677},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"1a9d33f05f4b5d18a3b9cbe07d6a6079cb0e2890","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.45.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.103.2_1740045171204_0.525487954433375","host":"s3://npm-registry-packages-npm-production"}},"1.103.3":{"name":"@bentwnghk/chat","version":"1.103.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.103.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5fc4841f3675c96bb67647296ee45987074ac12a","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.103.3.tgz","fileCount":3340,"integrity":"sha512-x5xjoUU9RDgmhp4p9v7/JN8H3gvICuQfhLII5BeD3SRrqnH04Av/l2iuUxdz7NQKnRzxWWPP4wSp2oowgGh1OQ==","signatures":[{"sig":"MEUCIH50hx5tz/glE4f0Cg/u5xrjgwMoPufQZ2U8o4lPYpuVAiEAvo0VSQlK+IV+YiPJWfsRYsJ1OQ9Wi7E8BSk46vaE534=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22818025},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"9858c0213573dfc72c48a7ac2157d89b871b482e","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"~1.57.0","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.103.3_1740092864089_0.20130990996183762","host":"s3://npm-registry-packages-npm-production"}},"1.103.4":{"name":"@bentwnghk/chat","version":"1.103.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.103.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a7e8aa5d8e4a0cf891827fbe47c52ffadad421be","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.103.4.tgz","fileCount":3342,"integrity":"sha512-YFk9DRr66XVKQzJ0JpJn9oQYgUC+4a0FXyanOUD8c5ujUXg19NKCngKNZvQNFRTsWMNrWbKW/qNHMbL/ontGWg==","signatures":[{"sig":"MEQCIEAjWZoGwKexEf7FjsYelAPKduiIM6I+Xl2e+VdkoFTIAiAq9RPuLtEXKEwJZCc54bW8OCfA2b1uFAgrJRL4Lc9GOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22846861},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"af658fbd73ba2a0a3f0f3d31a683e03ba351742c","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.103.4_1740198215504_0.7429173586456213","host":"s3://npm-registry-packages-npm-production"}},"1.103.5":{"name":"@bentwnghk/chat","version":"1.103.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.103.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1bea2a59ea9c1ca4cc417a361a0b6183820574b8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.103.5.tgz","fileCount":3341,"integrity":"sha512-dYYJe5a/ZLz+DZdqawT/f/FMwQ5IIcYbSCerF71+70ptrUlFL74nENwFjLS5NY5QxYdgNlvmkDNk9TVqLKApOA==","signatures":[{"sig":"MEYCIQC+OslT/JlYHinTUAxBa5us6aCcHUe2AmDtvVIL4vK5sQIhAPPryKCysgPDoonnqDjgJQT7bu2iiRWduWBYEtTRRUa4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22845842},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"2345ef7a8fe2bfc24f478623d11d9e27ae4027b1","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.9.6","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.21.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.103.5_1740221739463_0.6739068892960363","host":"s3://npm-registry-packages-npm-production"}},"1.103.6":{"name":"@bentwnghk/chat","version":"1.103.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.103.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5f7f6687843dbbc8c2766aae7f45224f386fcae2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.103.6.tgz","fileCount":3341,"integrity":"sha512-NtKGlvoeWoDLyk4hsALuR0QvPNB5G8HW63iwx5l0o2q4kDr+BDfHnHg1uk8hh2BTAEenYCkgRQ8jCrooC+glcA==","signatures":[{"sig":"MEUCIBkZKZD1O+U30jcZKH/TAoj9M76kbu8wpfW6nX7pYiLYAiEAkBLZ01iz5EIgSLeze34GABeKIwl1jnyMw94MckBagcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22849398},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"6270c1a24f9bdf73b5cd373a8ebfb1d7d3688462","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^6.0.0","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.103.6_1740315376688_0.4135056420285266","host":"s3://npm-registry-packages-npm-production"}},"1.104.0":{"name":"@bentwnghk/chat","version":"1.104.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.104.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7597322decf25d1dc5ec65a8c0bd1f779ae78c94","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.104.0.tgz","fileCount":3352,"integrity":"sha512-d4PakjMdU2+TThfp/F8OhCl+opnqmF/aRTjHOSo2FWq6YmeGtIKtGaoJlpTKzx2E5FtcSwf1O83vsEFaA/VAQQ==","signatures":[{"sig":"MEUCIDCrJDO9I656JLYxv1hz1O6fFyFRzWY+UqjdT5VPwyNEAiEArf/rqBHdPZLhegEqihg8Pc28lxQ/A1Eu3AEzU8nMcq4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22965003},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"c2916766ffe644bcd547a8af58aad490cf401403","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.104.0_1740356855577_0.6854530851605278","host":"s3://npm-registry-packages-npm-production"}},"1.104.1":{"name":"@bentwnghk/chat","version":"1.104.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.104.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"acf80022561a5e418239b46b4e8bc7456a7c6b1f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.104.1.tgz","fileCount":3352,"integrity":"sha512-uTujga08jexAKM2ERc0KcAf/nV7yuXM+zDijdvaNwMwOLpEPnHofmzUk3l9VYETQtfVmacDsvcqxVq37uQLLXA==","signatures":[{"sig":"MEUCIQCgYNI8Bk68f8VFZzc6jUvkyZlOb5j9MauT2F+Pv/QftwIgQXbk9+aohxjqiJo0gZX56WCNz8Mdo7isp5XiOXH7OWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22967978},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"6001b739a82ad2f117772e012729bacd80a863ac","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.104.1_1740374338140_0.9611720131394084","host":"s3://npm-registry-packages-npm-production"}},"1.105.0":{"name":"@bentwnghk/chat","version":"1.105.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.105.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5f044c00c498c26f5bb2f0955d134a75254208cb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.105.0.tgz","fileCount":3387,"integrity":"sha512-Hb0pEphF9NrkBP8W1ECm1gHuZZMGlC3FMv+U5Rf3t+rE6dyv7nz2osmFA8OcxH6DlzmmATUd8nhImZx9ooTezA==","signatures":[{"sig":"MEUCIQDDDw7cURZE2+Ye4aLYOHUDnYmJyM5uGNNY4rFVYwF0BQIgL6ONMEnjG+4A43hiv7iZZ7uBLQgZiPipmmJSaSMxQa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23129860},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"17e73e73700d5b346a8114ad73b04b9aaafeef88","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.2","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.36.3","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.105.0_1740485560084_0.48750587593525196","host":"s3://npm-registry-packages-npm-production"}},"1.106.0":{"name":"@bentwnghk/chat","version":"1.106.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.106.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"deefaec1616ca2f1df9cf7d3c2c6a7efc14f3943","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.106.0.tgz","fileCount":3387,"integrity":"sha512-ZsdDFZtAp0EisiKSqsayW10w/KkVWB+4NAS0DwO5iphhrxDIE9valBZtfOy8BO2DJLtbwAMgg74/1eq34gnotw==","signatures":[{"sig":"MEUCIQD6p4turNG33g/RXckXCCgAysVYAE5eXyny/+v/649nbQIgLW74oKx++qw1WsDA9tjm9AkX7WwJ6rr4iFill9gfzs0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23163027},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"e09dfc5b2b6ef1e0fa6ea181096ff2d53e744c4a","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.1.4","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.37.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.1.4","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.3","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.2","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.1.4","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.1.4","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.106.0_1740544343664_0.1984345821959994","host":"s3://npm-registry-packages-npm-production"}},"1.107.0":{"name":"@bentwnghk/chat","version":"1.107.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.107.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2708796a858f8beb36a48322bfde51b2a3d7fba5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.107.0.tgz","fileCount":3388,"integrity":"sha512-yoPObASZqUui3R4g9d/mz06/oLCENSU7iR/nc8IOmZgye6yNnn9jhac0asQsTwfv/rg1hx7AwWwy1dm1KWrSZA==","signatures":[{"sig":"MEUCIHpuHs/OKPJWcOoyI7xlTDfpLLWO9V/HDozwYvVYYZXTAiEAwhkgvysECjPbMLe+WHKte8MiKowlNyoY9/ns2eYOS2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23273020},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ebb46a84755cad5c04a4640c27480e67cb2120e7","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.37.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.107.0_1740640868171_0.06629053168035148","host":"s3://npm-registry-packages-npm-production"}},"1.107.1":{"name":"@bentwnghk/chat","version":"1.107.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.107.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"16d5ab60eb7f689debb97c8baec94cc2855c3019","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.107.1.tgz","fileCount":3388,"integrity":"sha512-IpPJ2//gA8UNALFKTc1w5EVl8lDvbvazTL3PjLVgeeR29yQKbMe6ZGlXHnxGBWlUlrXpOqrer834iau7Ztah9A==","signatures":[{"sig":"MEUCIFOqCi7QibfdSGe+VCOHVHlxgkQIz5K6qP1gJDt1UD47AiEAnGGOXd9g5jP9mZsPr/vzp5V2FCdKYv83DDApfFYZ3q8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23280601},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"09daba8802b37494fd5b71066b144a99535a140d","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.37.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.107.1_1740707534124_0.21358012241783064","host":"s3://npm-registry-packages-npm-production"}},"1.107.2":{"name":"@bentwnghk/chat","version":"1.107.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.107.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7b56f39389a1f1b11b2747bdf978e30bc84a1b39","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.107.2.tgz","fileCount":3389,"integrity":"sha512-4Ba/+drDtV+JrVTKS4+Hdo4Scsz6ALbGBckcfxmsvXwn7eEP6KTUnEXntp4FLtE9MJyLNKZKuaLoY+EC/W2tBA==","signatures":[{"sig":"MEUCIQCIVpJaRcjGTHxaD/V1HhxtPz35RTGDPDUo85c5c9JmYgIgaFcGJlMKENcVV2UFRIc9lXUYt9jdTPf4PmYR1Ie+rIA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23281435},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"8bc9dd88b3af6f153eefd3fb333044aa52c62f35","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.37.4","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.1.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.39.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.475.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.37.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.5","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.107.2_1740728387266_0.8938553971957464","host":"s3://npm-registry-packages-npm-production"}},"1.108.0":{"name":"@bentwnghk/chat","version":"1.108.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.108.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a287b78e34043eb857b23442de582096c68535a5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.108.0.tgz","fileCount":3418,"integrity":"sha512-3SjoUmPdCekbZQTyIrh/Cw/nixJYdFHEcY6o/QzsSRV+dTqmvt+f/+/Xm7Wac9EmUVKIu588SkRIsTOylnjYLA==","signatures":[{"sig":"MEUCIQCNEXRod70HhrJNCnCmbbyX/O8e3pUOCEDcn5qoqigVbQIgeaFkgY0K8EfOIquYFFNzehkUM/VbVIm2v4O+eErgE6I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23472760},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"a4f507d3fb111b4bbc45cd30a2ed5ccf3474686f","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.37.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.108.0_1740921361442_0.37880126744226295","host":"s3://npm-registry-packages-npm-production"}},"1.108.1":{"name":"@bentwnghk/chat","version":"1.108.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.108.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"72ad2a2a92ed211d3d405d1b8ac9c8b0c4f80239","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.108.1.tgz","fileCount":3418,"integrity":"sha512-y9u7O2JpTjW1Q8mIDghw9BhEgiwgp7xsNaljbWwL1AwtX0GwTtOPY5KdjnU1lnV6DWZcHaNndbkbbj437pQhRg==","signatures":[{"sig":"MEUCIQDH9uvAezsB49Xpw6hFlf4Q0J2TodoVVAotdFXjWcyKwgIgDqrLkQcKZz14WmRz0j/h63CSgNGgGVSks05dit9b928=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23489673},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"db36c4129c38f50ec26a6f5fff004c1c74c44715","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.37.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.108.1_1740958633184_0.5428755252771225","host":"s3://npm-registry-packages-npm-production"}},"1.109.0":{"name":"@bentwnghk/chat","version":"1.109.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.109.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"79bafdac8f9ebb28b3d17611e88938a42953a220","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.109.0.tgz","fileCount":3431,"integrity":"sha512-mlSiHLrzPVDLmw42X2R31eJktMFcR3xPdHcJ9HbQYqRBSTxCJwMetuig7jXBd6qHXXfcqrfcedSvZ+Y4tHBSig==","signatures":[{"sig":"MEQCIGBwVdQdUDXPENFMOEnSI5NcJJAukqHdH9uRyFpwm5tSAiB6gEDUWfI+APUp8dLl8SHJBv3OYsj4mOG7kk11Khuu4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23564525},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"b22697f2b86f9b441a4b850a6a5b286721d511e3","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.109.0_1741014435622_0.1614201333723988","host":"s3://npm-registry-packages-npm-production"}},"1.109.1":{"name":"@bentwnghk/chat","version":"1.109.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.109.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bbc84a745a196c3766e3daaff01a37873528beb8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.109.1.tgz","fileCount":3432,"integrity":"sha512-e+Pn7e6J+T7MojgskzqNg0ZPI9ctyq8ZpBDDwglAmIZnkm8K5WpYP7m9LIGlVP+NxrdGlIiY06P5rsNyRGVlWg==","signatures":[{"sig":"MEYCIQDq1CuiRKOlU3qzm4I2UUg1Y6k3v+Q1Z3oiiDd/MCIWmQIhANEDSFq0S4Btly/gySWapZUGpNEad1fenAizoF2mg3ns","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23570014},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"f605db1ab6ce11a1d80a7bf8536b5e942c653729","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.109.1_1741045771243_0.12268781418727448","host":"s3://npm-registry-packages-npm-production"}},"1.109.2":{"name":"@bentwnghk/chat","version":"1.109.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.109.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4990d4e357275751c36c27bc5b8265356fba210d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.109.2.tgz","fileCount":3456,"integrity":"sha512-fQBdyWQBEIcLEli4R1bJ5DFjzO0ZtZIAuc9+MEs1gJnS3FneK5XKXWKx8eHCKkwe22xVweZkF2EooHj+ZMmfOw==","signatures":[{"sig":"MEQCIHmKGnCwx7g+5qXDJNmYKTKYbzteybDwc7TDv3alcqyIAiBJKNskam1o9+7SCIAXiyBmZdEf1IYLgsYjCGRugM72Ww==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23796029},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"063d2ceb1af1e652ce17f968910659ebc01c7b0f","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.109.2_1741177124958_0.5843201900817503","host":"s3://npm-registry-packages-npm-production"}},"1.109.3":{"name":"@bentwnghk/chat","version":"1.109.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.109.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d40be7a393d65a26cc6a26c5baeceed9fa6dca38","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.109.3.tgz","fileCount":3461,"integrity":"sha512-XQV7cbNj4TOlrFu+pd+tSJRqW2KO4pPtpzLT4sgZn7QltigpQ42VzclGmEfUGiylgDdzE6JO/yMudiiel5KETg==","signatures":[{"sig":"MEUCIFvb8TL0qJDJXsFpR/Hb3M6jdTesxrZ669LRhnSLpUa0AiEAjSh/q/XVk0ZNnzkv8HXOXx4XQEd5WtFeKhMavd81Xy4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23828726},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"fee2d00f16e3ed4b8108e7556037a78917ce458c","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.109.3_1741256075559_0.10673886600891347","host":"s3://npm-registry-packages-npm-production"}},"1.109.4":{"name":"@bentwnghk/chat","version":"1.109.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.109.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fa645ed355893924f3fd27fad276cd349179064e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.109.4.tgz","fileCount":3462,"integrity":"sha512-3i4s/+9DGEJ0Kc7x4tcYcDpqm32EnNv+GZERRCu2WHnh728qJp4tuv8TTHe3XygV8fvYKLpY+Xs4oT/U6Yzbbw==","signatures":[{"sig":"MEYCIQD76CEnbJidiBdA5wfTf5/9Kd014JbNQNo+B1pz6yKCqwIhANmgHXNnJhAe8aXsMsCOTACnecEAf8QEEMDDKTTWdwsB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23818742},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"1b890940a597cdff14fc1c7d94c99af078a0fbcc","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^11.16.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.109.4_1741303080850_0.21192704915788307","host":"s3://npm-registry-packages-npm-production"}},"1.110.0":{"name":"@bentwnghk/chat","version":"1.110.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.110.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"25bdb976757eaac8fcdd4b788371c6d6119c675d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.110.0.tgz","fileCount":3472,"integrity":"sha512-hcePexQXDnH9Yhuc61X4u1hewF8qsIXFpJzsG2tesQED2l2np5/rok79CmKVQZIPvPGulbmA6S1cDieeFBt3sg==","signatures":[{"sig":"MEYCIQDW4g89zAmuIdiRhiazNmyvTYZO36Tu1OITzyHmdClezwIhAIk7WiR9GZOyu2ADqMckRDLGailEpSiFBCfzXf447nWf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23906695},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"a4479601fe61da9a2aabc6b7717e03be51fe8350","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.477.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.13","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.22.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.6","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.110.0_1741439578165_0.5621491554707054","host":"s3://npm-registry-packages-npm-production"}},"1.110.1":{"name":"@bentwnghk/chat","version":"1.110.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.110.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e51a60a684270ba4d36d9257020f1bbddd49d31d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.110.1.tgz","fileCount":3474,"integrity":"sha512-wr3ghYR/irT4SY8ciBn/nFFAs59XQLfn7bqE0lqrlhzCkTP/4NvTjoxgdO8OSrD+NCgDU+NxptXX7SYsPV4P2w==","signatures":[{"sig":"MEUCIAtLVIQUP16IICgcPpaozQPRjTrdsgFqo3AYIbToPic+AiEA7KmqGyHMgx12pp77E/xAkvWeqfPdBVtipm9Pj0TrkHE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23920235},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"122583234d7e5de27c4e5e2c5ff3c62e88bbf1e2","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.479.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.7","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.110.1_1741531639919_0.7607345131584184","host":"s3://npm-registry-packages-npm-production"}},"1.111.0":{"name":"@bentwnghk/chat","version":"1.111.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.111.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c82b26eb5e8b641ed4538616a3cc06115e80ce37","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.111.0.tgz","fileCount":3478,"integrity":"sha512-zKRwvnh5vGC5X5pivPIxlKx7egkd47kNvzhJYdDBmIHe4LzNZZh3g0nYJkXrVIjCVSIxlhjx01UfvBDKB8dSLg==","signatures":[{"sig":"MEUCIELJ+iyk/cJWxsvswCvujsCtOv2XeV1e71H4hPEiY89nAiEA8GhgmxkccHs/eEqnDqfS6xwDKR7ZDeaOyNK5ez1iyU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23948258},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"dea141960d8c03153f3d137febc51d2ca002fbff","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.479.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.7","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.111.0_1741653167800_0.11468617845641083","host":"s3://npm-registry-packages-npm-production"}},"1.111.1":{"name":"@bentwnghk/chat","version":"1.111.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.111.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6644bf3c2831b94a2e71a33878629a50225c05be","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.111.1.tgz","fileCount":3484,"integrity":"sha512-UtJoPe7g4ypajdwitSxhUhr+VxYY9i/79Ej5RAXRBQSHCuZfDe02MKvLNHC6q3uSZyve5LFpqZvbEIgM5QZ1LQ==","signatures":[{"sig":"MEQCIBqFm/PAKuJkhW/msm20QZ/7AlRtm7/BwItq/xCqwwOoAiBtCVxHc1pvr3CBZjif4ILT3NNI7hnekNreYWicAE7pAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23991852},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"3f00bbe7ac4ea68edd323b672b4e43cfd4d2fb0b","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.479.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.7","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.111.1_1741860291180_0.20067025019632534","host":"s3://npm-registry-packages-npm-production"}},"1.112.0":{"name":"@bentwnghk/chat","version":"1.112.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.112.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a1d1f5ed874763161201e93201679d78aaedde95","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.112.0.tgz","fileCount":3491,"integrity":"sha512-egxsHhstIQn/yjJ03UjrLOxFi3oDm3IPxZCn8/lYnf3Bxmy7Mtg/LBJ31G+JU7kvphfDP5mmWqQYZ13Bgwguww==","signatures":[{"sig":"MEUCIQDu8xI0tEUf9FgZWbhmOcft0U7OCRQGCx0bHuW7gSfNxAIgRnevJgWei4c5KNxKitftn71anQ0WSegqutKZQjklypc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24131698},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"c63b243bf3df00b9d4c9b0f93af7a93ba648a86d","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.479.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.7","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.112.0_1741996751326_0.27740381371162015","host":"s3://npm-registry-packages-npm-production"}},"1.112.1":{"name":"@bentwnghk/chat","version":"1.112.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.112.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d332faa3caa9463b178eb9a27801a53b7f3ce8b6","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.112.1.tgz","fileCount":3491,"integrity":"sha512-DBwpdFqsddffFaY2enUh4HWrjcJLs5Tm3WTgSu7GPXtIdKxYk4c5qA0bIWjFsBWXJefEk9VdmffS02llsAxOkg==","signatures":[{"sig":"MEYCIQCDxOcecM5fKOhtpciWSuiqNKez1gtc+L+mEb+ftrVswgIhAO9XvEDLPP+GgZMWgUWNkiPuVus/9slvfAbUSU2ForXM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24141790},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"1dc0ff6329b8d7068d0afec9fc3f993ad66c65e8","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.479.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.7","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.112.1_1742022498593_0.5356732517415375","host":"s3://npm-registry-packages-npm-production"}},"1.112.2":{"name":"@bentwnghk/chat","version":"1.112.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.112.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3e53dd3fadb3f1e1f03b1b1583f4e7ef76ad8a52","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.112.2.tgz","fileCount":3491,"integrity":"sha512-WWdMqskub3d4ePIjE80vuLZ/s1HtQI1R/m0bJGzQsjJl5pKd4Nao43WcMmIYtSxSDbB1rwWCpJXlnHnFVOWNIQ==","signatures":[{"sig":"MEUCIQCSNFt6cheBnme8B1Sdb9px+OLHZjNbaF1QzA/RldtcVwIgKJBhA32Cvk2vimUq5cH5x8zGH55RsBwhnN6DXdTgSI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24144427},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"0d7e4f803f746cfd0098895f54e7722f74946b1a","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.479.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.7","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.112.2_1742084980642_0.5907473916070605","host":"s3://npm-registry-packages-npm-production"}},"1.112.3":{"name":"@bentwnghk/chat","version":"1.112.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.112.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"a2d258609991326cf31d46d15968fba5801e33ce","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.112.3.tgz","fileCount":3492,"integrity":"sha512-pQL2zM2F/D+we9och4ix4/lszV+1ozMXeHm7GB/xE78Dv2XmAbrazFEsKoOYQPmmRWoQKD6Hyad2TM7l+wCiMA==","signatures":[{"sig":"MEUCIQDsUfoX2NewYcD6G3QOtzz0cNzHKphp9qxVmw5n254kEQIgYBmTTsnyhtQLRmmx/NL9T/AKEbCWD16N95qaQHgOJh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24152978},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"38b03b975b4296bc3c62e288a9c9b115ae145464","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.482.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.112.3_1742190546877_0.27386513454222494","host":"s3://npm-registry-packages-npm-production"}},"1.112.4":{"name":"@bentwnghk/chat","version":"1.112.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.112.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e9390e15e8f5eb50bfc107bdd684e4faf5b9420e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.112.4.tgz","fileCount":3493,"integrity":"sha512-c47d3VckeZbBAXrJg3fE/K70CHgeewyKjMjsl4+NYsRc7B25JjzVt35A4iVevxIcv8dNUyKG7QbOepHpesHALg==","signatures":[{"sig":"MEUCICBfMtH+6Ogp/YblxDQXq5oSgi7mj9B+Q5Pyn7ZQdEj/AiEA4ZG9mcR104FHQgE/C5BW5083YRGWyCTJSemIpk6nNSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24155457},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"52bb2dd355d6e347035380a90adf15af003dac2e","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.482.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.112.4_1742215912181_0.7137036991057897","host":"s3://npm-registry-packages-npm-production"}},"1.113.0":{"name":"@bentwnghk/chat","version":"1.113.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.113.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7a955c06adea5fada456d799ff2127e822bd89e3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.113.0.tgz","fileCount":3495,"integrity":"sha512-p3HYhjSpFs5t/kj1LM+3LMCwKKJ4iPScLsUjq4spFJYD1RYUmZBT3DbmI7Z6uzKIitV2r2Jv+++48CamsV3F1Q==","signatures":[{"sig":"MEQCID32oqKG/HArZ0QhErh3Hueee60elCfEpDkRrYIWJ7EcAiBY7H4maeo5oWtJHUfd8p6PiIz9IqzRTt784+O/q9okwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24305317},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7d60d72f32552353717c7dfec0755861b23378c7","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.482.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.113.0_1742296646689_0.9300909510807043","host":"s3://npm-registry-packages-npm-production"}},"1.113.1":{"name":"@bentwnghk/chat","version":"1.113.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.113.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"8f888628298d38df08bd3ae2921d4b8c61b1bb97","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.113.1.tgz","fileCount":3495,"integrity":"sha512-e0rfSY2uWjl9drTzWEitR5IQ6dDKQIDMPYfXXovleZHCxexTqAf5K1kKFhPBYfloje6o7mJzBGbrTsghQsyLxg==","signatures":[{"sig":"MEYCIQCXpf3eAfunDmmZkvfkJn6i0iNZqdlye65y0q+j9bZHpQIhAMFqOJ1UEZjku6iSP2WIYpyA7u0EoaoZCmjeNAt4NnE3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24306964},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"b1c0c026b1f03909d2b2ca0d415e6eed64698005","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.18.3","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.482.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.113.1_1742382794748_0.8553693899651396","host":"s3://npm-registry-packages-npm-production"}},"1.114.0":{"name":"@bentwnghk/chat","version":"1.114.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.114.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9dfd640c81b0df64a0f9374768000c1abc444cdb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.114.0.tgz","fileCount":3502,"integrity":"sha512-EQvImfJYPNojMwyNOW49qY6AO0foogAFRb/Y+o5WaEaxJ9MURQda1RYr0KFnMEpZRN6zo7rN9vF3TuwVfJ8+vg==","signatures":[{"sig":"MEQCIA1P6b54OjHZmdzryEaJNBbk2HnnIcmoB63hF4GuBzGyAiBzezf9YGt9SbnZNXwgzWXM9R81ODd1mlg00T/z3USsUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24328848},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"a7f2ecea499cf0d91db55349a1a7e82e15449590","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^1.26.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.482.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"~1.2.2","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"~1.2.2","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.114.0_1742464520061_0.10030512542049563","host":"s3://npm-registry-packages-npm-production"}},"1.115.0":{"name":"@bentwnghk/chat","version":"1.115.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.115.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"2bc0dda53b177c35d4ee7113b98134f8a1cf0877","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.115.0.tgz","fileCount":3510,"integrity":"sha512-yjWwloc92h3cpQQpD+2rSNV3ywGL7AC78a6sF0YzdAIg5loCEBgA5jltdDFJuW4RQ5DzKKQaEK7+DE0mU1r7GA==","signatures":[{"sig":"MEUCIHUKZnvTHA8ulBodfAWHu5DV7JHZtnqOmDUOz28PrUlqAiEAjg4lwJwScb6o4nQrQuZ004SvCb4leF6Rb5QLcWqozxw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24329420},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"3a89f07fc4eb62a1483e09c1d7fbc34dde3e0477","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.0","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.2.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.40.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.482.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.115.0_1742614461680_0.08178266177734805","host":"s3://npm-registry-packages-npm-production"}},"1.115.1":{"name":"@bentwnghk/chat","version":"1.115.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.115.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e280fd678ba916ea0513c00879fafdf92d4f40ec","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.115.1.tgz","fileCount":3518,"integrity":"sha512-EiPzEANS87E5mXI4V9s+WnU4WJ7o1SOUIIM7pcLYb9Ed5iOBYHGgPWpJvBNLDYaarkSH+SVkEqR4aX0emBeptw==","signatures":[{"sig":"MEUCIQDbiZJ2rBXhJuDv14puqDWZMGJBxYaO41y/E1IWSvOAOAIgKWqmhg95jdwxJluyPRk7Pa99wwfGtie2wV1nWK6ixzk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24675696},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ceb2e5bc5672fc300f252c5f70d9d296725e9f66","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.23.0","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.115.1_1742773993267_0.44511054934591177","host":"s3://npm-registry-packages-npm-production"}},"1.115.2":{"name":"@bentwnghk/chat","version":"1.115.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.115.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9ca2261141a93c91051218490bf15f6b4cf6a46e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.115.2.tgz","fileCount":3518,"integrity":"sha512-VZWW2S0DktfTteA/1eNp6byAH+K4LfLG02gXoNqfFN3SyPwOmK8M6SFV/s7pNZeqe9I0DRVVjIuclKQBcCfqaA==","signatures":[{"sig":"MEYCIQCUKMQHSbnemza+6BZr6KIfIhW7y8VU4avKwrkQH7Z7mQIhALYtbkOBex9a65UrRj7x1gp5gAmbN6aQ5NKeH+pgQVvM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24682452},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"b6858d049136b4e36d269f680360e95c5385d543","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.115.2_1742817510593_0.19619998325973564","host":"s3://npm-registry-packages-npm-production"}},"1.115.3":{"name":"@bentwnghk/chat","version":"1.115.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.115.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"6869abd1738f34e3808a75bd06e3388d6a468a41","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.115.3.tgz","fileCount":3518,"integrity":"sha512-2e333J0SQYocg6kYlPp7RAF16i5ZmNhuBNhVnOMUfAx8TO+zRVO+YXeA5sZXWD/5I+HTpjfZ5HlzuP0qZ0zu0g==","signatures":[{"sig":"MEYCIQDkDXX5a/29FHANk1kxlBpnNHYlY6PiT3zlhLr26mjVcwIhAL067AYl8PM6Pq7W1rHO/mws1tImEWNivXV5XG6Lswkz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24683736},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"ab3823ba3192b88dd1dabc076d3fd1f3a03a6306","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.115.3_1742877210817_0.3487275764734019","host":"s3://npm-registry-packages-npm-production"}},"1.115.4":{"name":"@bentwnghk/chat","version":"1.115.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.115.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"71793b6fa6d518616e7d6090379030a307476fc5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.115.4.tgz","fileCount":3518,"integrity":"sha512-cw7JiLxePuIJ13L14bAIsaHsUF7HH6STjyB3A9X/zvldHs0jC69vKldG+haRNzK6PN2J17lZPvvsWHyk/9vBPA==","signatures":[{"sig":"MEYCIQDrDcfSGodCKBqFdj38oBeVKpKygVXmsaOvPkjtDR5TjQIhAJbYM5x2L+zbziwcV1FNddtvhDJfuzmyl1V7GzkGlbzE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24687964},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"70137f6f9dcb1e2e68cd0a52136253e5c4fd6ca8","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"^15.2.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.2.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.22","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"^15.2.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.2.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.115.4_1742913990359_0.6012078018891673","host":"s3://npm-registry-packages-npm-production"}},"1.116.0":{"name":"@bentwnghk/chat","version":"1.116.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.116.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"da290071e29f3dc4d046c0c1cca909249bfe0edb","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.116.0.tgz","fileCount":3522,"integrity":"sha512-RJazQoAlBMpaZ2DNMFXe1uUVAHC/ClBLy6JjnrkJLJQccs4S9qEVsJWLjU+aUl8V0uw6tfwwGZvQmWmJ5gLoHg==","signatures":[{"sig":"MEUCIBXK2qArC4+VSGJaAs9bUsNcs3Wa1XHyjH0Ygz73+Es8AiEAiarfTb4mwAJyuZsFu33aXOKSbgGU1WL9hej1T1KveOY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24709959},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"0f4147620efeecc553a69086e3f7f692d00a1cf1","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.37","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.116.0_1743068422908_0.3374399783325581","host":"s3://npm-registry-packages-npm-production"}},"1.116.1":{"name":"@bentwnghk/chat","version":"1.116.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.116.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3f82926715494d37646e13ad0b6aff2e35660ccf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.116.1.tgz","fileCount":3522,"integrity":"sha512-iJDL00mOYbRD9t5XW05/vpTl2nrJ5UBmQGdBvPn88Cr1vndNH5/6uM7O0yLok4mSEP2DE9hDr/OqtecBnEGQOw==","signatures":[{"sig":"MEUCIQDRGp7eGHe3uUbHk8I94xNgv254l/sYXRtpkyBgiUwexwIgZcIpC59qw7Zf2LUaSf1xaUw4Xoy2b+n2eG6GhJVNjjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24678267},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"c2cf846fda1e2546a13d345a8ff78e3cd9127f79","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^1.20.0","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.37","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.116.1_1743161626532_0.5528249470487994","host":"s3://npm-registry-packages-npm-production"}},"1.117.0":{"name":"@bentwnghk/chat","version":"1.117.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"c7f91765a7efc4b76036f83efd2fcedf19a7c672","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.0.tgz","fileCount":3580,"integrity":"sha512-sg0MCDuF1pUVNHhVBCyPOZKjgxdlaVMkHNPo5OID3co/Wa8g9+MmYVzSBTK2iiNSwPq7nxoP+ZMas9ybaQV2Sg==","signatures":[{"sig":"MEUCIQDbu9pCOIsy3yIRej47PsbRmWyzxqXXPmIRlKDHJtWysgIgYUAxQUafF4Ps4cZzq4Ay545dzyRbBbOM5Z4CzFZbCXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25094006},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"dfbd7d5e7c97bcb990445d055674a420a614ddf0","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.37","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.0_1743257060622_0.6174117673552912","host":"s3://npm-registry-packages-npm-production"}},"1.117.1":{"name":"@bentwnghk/chat","version":"1.117.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f2ca50b177b046746879087e9da396a5db17a6c3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.1.tgz","fileCount":3580,"integrity":"sha512-B/t0ZR266ZpYnhcYyCFmUw+iKWk09id+fvwKc7W5cSeYxJIMiqfhb0vqeyeSwpjWUDWcdjzBlM8TINl3M3ESzg==","signatures":[{"sig":"MEUCIFo6qaXweK9uhIDfbxT2wyRNuV/9HKOQhGx8bljRiBAdAiEAoY4T6iGSVzsJWsZeoQAD4gZfQvL8FYWtbTK3XzYZzJQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25094146},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"b1a3fe8be7a0c2ef839dd7246b4e46b6dc61ffc0","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.483.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.37","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^0.10.4","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.1_1743327985823_0.8445102283232262","host":"s3://npm-registry-packages-npm-production"}},"1.117.2":{"name":"@bentwnghk/chat","version":"1.117.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"3a007ac6399a1dca2d234af581bac10365a8b90f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.2.tgz","fileCount":3590,"integrity":"sha512-VNHV6oVCSs7XPJS4jUcN90oqxl+42Ad8NFqTy/LZV60L38h0gaQGsJdZgFsO8xC6izWqTfCRSkn4jt2lo75Low==","signatures":[{"sig":"MEQCIGwF8mJsv2KvMOqbOdSjO3vNiT1nlnVTInD1buZHJilvAiB5xcT2Doa5ZMGxUHC6JkiejB2Ah61pfa51GS60tDh0Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25113685},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"6c24a8dc21fa11f80ef239a67c547c93a170fe1a","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.485.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.37","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.2_1743466071394_0.8159221384735542","host":"s3://npm-registry-packages-npm-production"}},"1.117.3":{"name":"@bentwnghk/chat","version":"1.117.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"bfe2560de7e5ab59d9e67a4b46f4ed5a6d29dbbf","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.3.tgz","fileCount":3592,"integrity":"sha512-ga9GBLl1jlsT16pU9Lh7tffe4ttFaC34puBGT0yI+AABCGJsCKkVCJGsvwhDf8i1GRTqrRs+OAAZ1W9Q4YYQsg==","signatures":[{"sig":"MEQCICD43NXm6IWfeiGTKttopLl1SWyGWR1haKTs7Lnze+KMAiALQdJXLepnvguoSRRw5YJXcdhRdPG9EUuzxSX5Djt51Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25118031},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"768d37cdbdba738d97063b0b00e040fa92782cac","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.13.1","ws":"^8.18.0","swr":"^2.3.0","yjs":"^13.6.21","zod":"^3.24.1","antd":"^5.24.4","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.59.1","uuid":"^11.0.4","yaml":"^2.7.0","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.0.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.0.9","ollama":"^0.5.11","openai":"^4.77.3","remark":"^15.0.1","semver":"^7.6.3","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.1","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.0.0","js-sha256":"^0.11.0","langchain":"^0.3.10","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.0.0","react-pdf":"^9.2.1","react-rnd":"^10.4.14","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"next","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.205.0","react-scan":"^0.3.0","remark-gfm":"^4.0.0","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.0","@trpc/client":"next","@trpc/server":"next","html-to-text":"^9.0.5","lucide-react":"^0.485.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.10.6","@clerk/themes":"^2.2.4","@serwist/next":"^9.0.11","framer-motion":"^12.0.0","gpt-tokenizer":"^2.8.1","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.0","utility-types":"^3.11.0","zustand-utils":"^2","@sentry/nextjs":"^7.120.2","react-confetti":"^6.2.2","react-virtuoso":"^4.12.3","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.7.15","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.5.2","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"next","@vercel/analytics":"^1.4.1","@vercel/functions":"^2","modern-screenshot":"^4.5.5","@aws-sdk/client-s3":"^3.723.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.9.6","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.37","@cfworker/json-schema":"^4.1.0","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.62.16","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.2","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.1.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.10","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.3","@codesandbox/sandpack-react":"^2.19.10","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.723.0","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.723.0","i18next-browser-languagedetector":"^8.0.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.2","glob":"^11.0.0","mime":"^4.0.6","vite":"^5.4.11","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.0.9","consola":"^3.3.3","serwist":"^9.0.11","unified":"^11.0.5","fs-extra":"^11.2.0","node-gyp":"^11.0.0","prettier":"^3.4.2","@types/ip":"^1.1.3","@types/pg":"^8.11.10","@types/ws":"^8.5.13","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.0.0","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.6.1","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.7.2","@types/diff":"^7.0.0","@types/node":"^22.10.5","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.1","gray-matter":"^4.0.3","lint-staged":"^15.3.0","@types/debug":"^4.1.12","@types/react":"^19.0.10","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.25.5","@types/lodash":"^4.17.14","@types/semver":"^7.5.8","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.6.1","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.1","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.0","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.0.4","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.1.5","@huggingface/tasks":"^0.15.0","@types/json-schema":"^7.0.15","openapi-typescript":"^7.5.2","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.0.9","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.1.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.3_1743552396724_0.8605960130701256","host":"s3://npm-registry-packages-npm-production"}},"1.117.4":{"name":"@bentwnghk/chat","version":"1.117.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"94a0cd9f6a2953e76b6133e3946c580162f79cb3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.4.tgz","fileCount":3612,"integrity":"sha512-A65z8qHs8n4xlKCJwW/eB8WysNj3+ID3k8Ek0PqRRPnE0ZsA4pSM1GEL4h19Xm+Kuq3Zhbg1dJraf7Dpr3PTuw==","signatures":[{"sig":"MEUCIHrkkcs7hCMSIirJ9S+7lS9bXoCzk0QbJEeK2yrEMtwvAiEAo17xBqzfnkQaqgJsKO8L7sKD2wCgJwntprCIb+85wIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25151197},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"d1fa29df45ce8ef44f2e158d28cd9558de2b1545","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 next build ","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.485.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.4_1743666077285_0.10255110013721125","host":"s3://npm-registry-packages-npm-production"}},"1.117.5":{"name":"@bentwnghk/chat","version":"1.117.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"1508eb23d0c46067871c45e63c567a9d344383f2","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.5.tgz","fileCount":3615,"integrity":"sha512-Wpt9SeDGc0lxoizwWR8loDJrTkZhCnS+bo2KYKVS7roCvm/+nQ0HxjC4ZRQbjsh3OcxJ0ldQUogE/aINhyYiRQ==","signatures":[{"sig":"MEUCIQCXvUHh9BZS6lsyZDcZlqW8eUGCYNncQomnoZoGJDZhkwIgDBwCLWoemzCT+nEM3cN44cV+7tcShCr5sbu9NfMXnP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25171712},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"04931bc33a73bb90334d9bea9d4ad57b15ea2cf9","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 next build ","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.485.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.5_1743909794439_0.005696392044483689","host":"s3://npm-registry-packages-npm-production"}},"1.117.6":{"name":"@bentwnghk/chat","version":"1.117.6","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.6","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"62a5d2fe40dc2518f27ad2f34ca93f1bf16ca015","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.6.tgz","fileCount":3616,"integrity":"sha512-TtqjpRTTgvUS7myZyC0UDsUp7gS/HDVFmhhCOWSVDLduedjuNRIpyaKDKdHXm1yLs9kBcL+Nr2WLvw12Xndj3A==","signatures":[{"sig":"MEYCIQCOmJstPX09cPNT4o9F+BGqWq8ba5CTnmaLlwrJjnJUzAIhAN2t80IhZnr84yo75Vl3har5CIJx2erj6YqQIKIGaxy/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25187016},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"e5b593fc787f2382e91b287b1b389864f22e5ded","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 next build ","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.6_1743944241071_0.6580327940008335","host":"s3://npm-registry-packages-npm-production"}},"1.117.7":{"name":"@bentwnghk/chat","version":"1.117.7","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.7","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"dc55141a7d660d4b0cc1754b86023c57f53c0cb7","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.7.tgz","fileCount":3619,"integrity":"sha512-RyvNqTZhPVspA1ieXXOS6ccN2OUJSN/AGSUeQ5RXY6JaqzLUaeG8B2BL08Unml2FVEUYls+PCkWsEjuML+WC+Q==","signatures":[{"sig":"MEUCIA1r/MiC4NmQ8MXJiLDDkGx6WokokMAkP5R3gzOXXkb7AiEAzZGQkAtqkVLgdD9G/Lr6uGojuGQmkZJmgwH1j/4EaNU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25194258},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"2b030d9beb424b90cc99c2439170c005c70877d4","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 next build ","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.7_1743984280526_0.2623411826478155","host":"s3://npm-registry-packages-npm-production"}},"1.117.8":{"name":"@bentwnghk/chat","version":"1.117.8","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.117.8","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"5bc8787b60451bf2d905918bb13f13df16a2f23b","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.117.8.tgz","fileCount":3621,"integrity":"sha512-Zk6At+Nf80BwXyC9gLeZ3aq+i1N7NraOKqKEg6aPg1AkZJMpsEwe3fwyWBBEef6SYOT99aimL12K8/ZdoZxCkw==","signatures":[{"sig":"MEUCIQCunuaHpa6pq9NghYhyaBKIbNlbbuwOuwrlzrUsjU+BFQIgHU9nRy8ligTV/ufQpHcE+pYEaDbYiewbgN7BSDLl12A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24971769},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"37c07779f2f14728ce1a46114c1fd6913927e40f","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/developer/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 next build ","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.117.8_1744168916872_0.9128966433305301","host":"s3://npm-registry-packages-npm-production"}},"1.118.0":{"name":"@bentwnghk/chat","version":"1.118.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.118.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e8a6a75bd954ffecd885b63966179b9426bd03ea","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.118.0.tgz","fileCount":3620,"integrity":"sha512-iOnKJbAeojqgmYC0eUf4RxeYWmsGRQUtFfx1ySq3TJZ2gr22JpSuHOa6agboTZOYPsTQxWTp0fDS7QWxsoCViQ==","signatures":[{"sig":"MEUCIQD2zETaBbzOqjFCw3cL+mP8ZR4OeLrdAEnBp6MypOvCUgIgbNpLrNQ6NwtE+823itl3r1/SgUQYUDgPt3GgeZAuJ6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24966774},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"cb91ede4fad450ea429c629e7a1e12281c7dd9a6","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 next build ","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","next":"15.2.3","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"15.2.3","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@next/bundle-analyzer":"15.2.3","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"15.2.3","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.118.0_1744244893701_0.8180173501207904","host":"s3://npm-registry-packages-npm-production"}},"1.118.1":{"name":"@bentwnghk/chat","version":"1.118.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.118.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"e5ea7ec414c75e63dd6b6d5756730915f4c7ba95","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.118.1.tgz","fileCount":3637,"integrity":"sha512-OO2YZS5py7WAkiFHFElWrXqLRLE6pW8E7QDXTdPKz2v0u4AHikl73D2nKQjJznoiXj6vfEKQUYFJirhAcB9HEQ==","signatures":[{"sig":"MEUCIQCAPmfE7foLEKqAev9+KnifUxfkU1oobY9W/iINYCY26gIgdKR49bQep6qb00NaFlQX+W4w5CYq3VepR4Y3tr5HxK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24988629},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"1a6217d17b990250d2de198f60899c2c93d14a0f","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"3.29.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"3.29.1","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.118.1_1744271505346_0.10112719712286111","host":"s3://npm-registry-packages-npm-production"}},"1.118.2":{"name":"@bentwnghk/chat","version":"1.118.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.118.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"480772ee7f1be3046c2495e8efb3483563fe637e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.118.2.tgz","fileCount":3679,"integrity":"sha512-f7W17v4VOdRMgSCVnOgszjlHbBEjqtQFeryXyDSP64HGWFnPjH42j/cqcaYreFevEaUa6CUg55ArXc+UA4dYxg==","signatures":[{"sig":"MEYCIQD3EOZoirGIzhiTdOLFmQ1UadChv6Z+SkDHbWmA6WGQlwIhAJbDYBOpbPcgc9r1PI7UHkZZzwtCcyjnNFxHDaQAXqjl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25288122},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"71271d504135c4c29cddd5d0cd80485e79cb72d1","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.118.2_1744529591540_0.1039330569716248","host":"s3://npm-registry-packages-npm-production"}},"1.118.3":{"name":"@bentwnghk/chat","version":"1.118.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.118.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"15a67b76a56742d01a93bcd75d576663e5959614","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.118.3.tgz","fileCount":3683,"integrity":"sha512-zTpJkgixKm1rbvFkkluyIU2nv9+MHR3Rcn33lzVpAlDcAe1qJGE7fTXOaDDvACgtXPXfR+1xHecy8Fuqxq5Ssw==","signatures":[{"sig":"MEQCIGHg+ulT3Yr6dUcSzamOQoUevA1D70YItIXv9rkelMZWAiBJgYrEqpgbbKqPFVzHIV7m+wKtwcOoTWr87afFN1JyOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25316167},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"95739c5a15e9d2ce12dba3096b4ebdc1b97ce950","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.118.3_1744695620179_0.1809248496362652","host":"s3://npm-registry-packages-npm-production"}},"1.119.0":{"name":"@bentwnghk/chat","version":"1.119.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.119.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7a4a771a03bef2214dc9a6d5e9704a44efa40b4e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.119.0.tgz","fileCount":3691,"integrity":"sha512-9CEdyecB7f6+nys+C/6Uyrrgj0k/XHb8uQ0TAfzwgnaltpCBgKkWU7l+5ri6lWPnWziNd+3pNzZzyP1KyiCpCA==","signatures":[{"sig":"MEYCIQCPBIumR6V2NVwVN23opWNIUaOmesgrHYzkA0HjOI4LMQIhAIyNUhEuvYl3hvjqi//1UPdV8LfEN7Q4imHGNqE9W3TN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25488892},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"9046fc2d449479c53f1c32a245d6c5a95588578c","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.119.0_1744805897792_0.7073799253364463","host":"s3://npm-registry-packages-npm-production"}},"1.119.1":{"name":"@bentwnghk/chat","version":"1.119.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.119.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"148c1f6afc69a2dd79e51e8833f9c761478e1778","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.119.1.tgz","fileCount":3691,"integrity":"sha512-rohUEHXEKSpO2r9/ukr5uX8WSlgdQsKbK0zf9DjHrBLE04TrsJyF4lnn3RhQfDH8Jjv4Lbkz4mASluiTWz/SHg==","signatures":[{"sig":"MEQCIBWVrAC9RFUyDxqxQESopqo3SQix4ifKJ5R7EPQNUGQjAiA62q/YwCNdLpVnOQmtdx6rlXGvWJdtU6ehKd/fE0hLPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25491243},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"324438d5fba25cf62db60d9cfb917fe1f88c6357","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.119.1_1744855554096_0.35099432692704546","host":"s3://npm-registry-packages-npm-production"}},"1.119.2":{"name":"@bentwnghk/chat","version":"1.119.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.119.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"048668bc75f7e999954b1a5463c3c456d66af5a5","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.119.2.tgz","fileCount":3691,"integrity":"sha512-8bYj+TTuHFwoy3GvJBBnhdpy/S9yhRKeDYxbR449HOGa9TFHfafoB/lot+MwGyLjJNg7SKg5hp7Qev5QYzeoHg==","signatures":[{"sig":"MEQCIHrHxkfHGpFHUx/1u4RUQLTULqsz4cmfzQGcp33o4ovDAiBEOCRBQ9r81c/G+SujYKXP5KLfCyJ1aKEJaVpjf7FJkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25502620},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"fd73362a3ff5ded5f257efc3e614c734aec1f0eb","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.119.2_1744899788490_0.5839340572143383","host":"s3://npm-registry-packages-npm-production"}},"1.120.0":{"name":"@bentwnghk/chat","version":"1.120.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.120.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"62a0ee1bd6fdb79a74c08bbea9a832bfdb82a381","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.120.0.tgz","fileCount":3702,"integrity":"sha512-8Btdk4aWBC1CXAfhxbIlG6tSOfMNUmH6VqfY8orUCukweQlZyeT5LHpfsfEFUVur2SMTcXtzfbxBVq/ES8wcAQ==","signatures":[{"sig":"MEUCIQDsfnjEZYPmE2r6X9C5m7RA1fwYN3lk/avUevP/OYO1VwIgeTr7hrPC2pui8GR/3jQT6X7R35+DFOmLulTo1TdNxeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25533511},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"a535071de4ba73fa3859a60dd12ab04c4d3d5e60","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.120.0_1744957795862_0.6596165516108956","host":"s3://npm-registry-packages-npm-production"}},"1.120.1":{"name":"@bentwnghk/chat","version":"1.120.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.120.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"7dcf07ebb46b0e9090402a4fd51a7ecd2cc53ab8","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.120.1.tgz","fileCount":3755,"integrity":"sha512-hi5CGzxup5mHTosiGTnBxDnrPU9OilzXvyZym3wh4Vx03YcYTl7kqAB5eZeRYnGIdY7YyB/NHZGvbvCQA8WVLA==","signatures":[{"sig":"MEYCIQCSkgjGgCxe2amnyt4hiVlnT6nEaU+nwKINSq7qMHR75gIhANPwqcTjD+r8QUgIrupot7gp/RCQeawGmtHvuWLwp64h","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25895586},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"7774a5fcd733a38cfa247b6a0a076fc3ded17fee","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"beta","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.120.1_1745118481979_0.5566776967614131","host":"s3://npm-registry-packages-npm-production"}},"1.120.2":{"name":"@bentwnghk/chat","version":"1.120.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.120.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"189bcc2b51af2cd20656a1f26d2c2bd4a7b375ea","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.120.2.tgz","fileCount":3796,"integrity":"sha512-mvX8yVh2KV1hdws96l5BGBZNlKTZ5Zv2YcwCzwvRhyvKYRANI/3AIiD/93oTpIJ2K2v4TP4g5EvUA5KhNGEkXw==","signatures":[{"sig":"MEUCIBXwGJ+3AjcHEB7/5Z+/Qy6zIKvh7ice7rej6GH1/eyJAiEAhe8oxsAJXntdXzk8VXEVO7T973gpZBeFKIkn23O+qN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26111648},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"92fc50ee833abdf8535452b001ac751121da8ba0","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.120.2_1745298926335_0.8133680463299195","host":"s3://npm-registry-packages-npm-production"}},"1.121.0":{"name":"@bentwnghk/chat","version":"1.121.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.121.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"010951c749440de70180841f30f8d6ea020d6919","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.121.0.tgz","fileCount":3827,"integrity":"sha512-wbmnKyHuyp29r4+vAK82YxupDlAdNCx9nIylMmb4hmKzjUAOmG2oOztHX3WjFdY0Q5pZSFC1/MCaocdVChNCZQ==","signatures":[{"sig":"MEUCIQCgt/aHzN6RTZFKhfxA9olO7fgpuqsZuXbMNN3glsUbrwIgEItQifcSANHu8s1/LiU3t9na0bGTG1vfsmNpPmWvrsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26282686},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"831188995a743a716dc15833d6ed4515beb7577a","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.121.0_1745379361956_0.9265476007225175","host":"s3://npm-registry-packages-npm-production"}},"1.121.1":{"name":"@bentwnghk/chat","version":"1.121.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.121.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"f20c277f207434e514bf7ee63d39093b4e56832d","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.121.1.tgz","fileCount":3829,"integrity":"sha512-1auOsS+blo7nmu6L4QFx1oZVVD6SsrOI+BMF4ErUWhY34XafID2fJ74bPAWmkrCsvtWAfdEK5FRww6VMKJKWhw==","signatures":[{"sig":"MEYCIQCtZ5mifom8my6/ojuvvJufK3udlOjx1mSM0Qdk0+40lAIhAKZYQ6ARbgn9OfO5PmgoBxo2nNR+KhnCFkO1r4bKMIVx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26326992},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"712d241196b53187e177ada0b161374ab84524f8","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.121.1_1745463709845_0.19000594350292266","host":"s3://npm-registry-packages-npm-production"}},"1.121.2":{"name":"@bentwnghk/chat","version":"1.121.2","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.121.2","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"90e28188ce4f9a575b11232c55334d12ffbc3b2f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.121.2.tgz","fileCount":3827,"integrity":"sha512-8LWXlzjxfL/unomGPDm92A9BqjXZLJvClK0FDh2gryBYdf7sQz0S/sdWWVbJMpQeqFRveFa4H9NeI7TJwN3RKw==","signatures":[{"sig":"MEQCIFxy1b7Iwg9uCwY392XhQMUWcn8t7QKxOjEdOfzXO6wPAiAQu+I2bGGSZYz+WDUgtO5kA2aMmp/YnyHygcqnu9T2RQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26332858},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"2664deac6f53d2143b04a6e95946e013f2bd1838","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.487.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.121.2_1745466685039_0.21668191068110065","host":"s3://npm-registry-packages-npm-production"}},"1.121.3":{"name":"@bentwnghk/chat","version":"1.121.3","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.121.3","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"d1702ab9d8025bac350330f38361efbb04a7b599","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.121.3.tgz","fileCount":3829,"integrity":"sha512-HuX2nLxqfvUgoAzk+xPIi5fi93Cyhv3DUNSciUmpNFi74CPMf5/5wxQenKaCeRMa8NdR+PDISWgAZH/t+PyptQ==","signatures":[{"sig":"MEUCIQCNd4d4RoSj1draaReG66QIhbSTOs3IzwQbObogNN23wQIgYkZ2H9K2HXy7NinGgvZlGNbS6ngplNtUNRMPJKsTQnY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26345866},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"0befcde793464dd3fc1489e2cfee7c11738ccc29","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.503.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.121.3_1745551023982_0.8434011736359097","host":"s3://npm-registry-packages-npm-production"}},"1.121.4":{"name":"@bentwnghk/chat","version":"1.121.4","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.121.4","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"9eab6986fa3b490fc31dbafec6e2b9b8a229a71f","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.121.4.tgz","fileCount":3829,"integrity":"sha512-8F3uR+TK5N/nwa3FA5ke3s3lUroo8EMMdML4lrzgjPy8N3iLPEMMYyasaohSjqeYmGNeYiUAb51rA8aLN5HmEA==","signatures":[{"sig":"MEUCIBbnDQ2ZxolThrVzPFhCE3enQgTyWQQnrW6ZENhjtpQmAiEA1+xxLA+JzEAn/tqtreImH87ZF4gODzSGaZ2ABDjmBhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26346382},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"9b1bf44ca8596d96d621ddc1e08f5f00c1c64780","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.503.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.121.4_1745680004444_0.7137097316534475","host":"s3://npm-registry-packages-npm-production"}},"1.121.5":{"name":"@bentwnghk/chat","version":"1.121.5","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.121.5","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"fe2ccdca60bcc66d034fa3471171108f6f8325b0","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.121.5.tgz","fileCount":3833,"integrity":"sha512-DvNKV2yWhlepc36zQ6CdCn7TB7MtwoXQMsT9nwc6zElzW9jCfLZNMDMrY+ATMeDCrnZJs8dkmDUsgVKzJXD01g==","signatures":[{"sig":"MEUCIQC46wz+0oPB2he3y27Aef1RODD7Oluv/HvRTO1ARFyGmQIgHRTxeEZg/CSBXa3uzS4qN4qTbd9RlR8AfS0WoZJJhv8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26394280},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"8be3f5df1813736ebb0eb8c7ba5fff62327396fe","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.503.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.121.5_1745724242554_0.34369215756796656","host":"s3://npm-registry-packages-npm-production"}},"1.122.0":{"name":"@bentwnghk/chat","version":"1.122.0","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.122.0","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"25aca78f7753aeb77a2762ea234d6ff8bf5c5a8e","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.122.0.tgz","fileCount":3981,"integrity":"sha512-tTQLwWS6W9j5fxdWBR1TCGykVqmjpdC5XkOlPN5h/0ChpIaieo28GwYVJJAzciJcC9l8Wha6ggQDFkJwSrRYpw==","signatures":[{"sig":"MEYCIQCjO049JTsX0L7egbyfGedX+2ik/Gir3b2tjnS64EVu5QIhAMqY2HskHxQJvxdgwCZJEmMsXHsIJPNZhDvgw3xBvh4d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33191841},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"2534e06c1ebc4b370cc0ecd0ca8bcb85270667fc","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.503.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.122.0_1745748420666_0.09506230026358842","host":"s3://npm-registry-packages-npm-production"}},"1.122.1":{"name":"@bentwnghk/chat","version":"1.122.1","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","_id":"@bentwnghk/chat@1.122.1","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"dist":{"shasum":"4f77665cc07fa1d245bc989f9dd60728a4f8f6d3","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.122.1.tgz","fileCount":3981,"integrity":"sha512-iRGeX4vaiL45KhtPEfjwrAk3/489nmv0cDE3F9/FewxFTAsGifzV+tPS4pWK/AUDYlXhIOeN/fs1+nxg9WtNsw==","signatures":[{"sig":"MEQCIDEqdPaJJ2Xh5AcZyunZpMbwegMtY4mzD7b9xEzsgG6+AiAlP7LOpFClbIykqVgzYZ0q928AC3v1DnLzl2I7Y1bM8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33192774},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"gitHead":"26464e84c48907a25119cd50831e2c558ca06bed","scripts":{"dev":"next dev --turbopack -p 3010","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","pull":"git pull","test":"npm run test-app && npm run test-server","build":"next build","start":"next start -p 3210","db:push":"drizzle-kit push","lint:md":"remark . --silent --output","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","release":"semantic-release","docs:seo":"lobe-seo && npm run lint:mdx","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","prebuild":"tsx scripts/prebuild.mts","prettier":"prettier -c --write \"**/**\"","test-app":"vitest run --config vitest.config.ts","db:studio":"drizzle-kit studio","db:z-pull":"drizzle-kit introspect","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","postbuild":"npm run build-sitemap && npm run build-migrate-db","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","type-check":"tsc --noEmit","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","dev:desktop":"next dev --turbopack -p 3015","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test:update":"vitest -u","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","db:push-test":"NODE_ENV=test drizzle-kit push","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","webhook:ngrok":"ngrok http http://localhost:3011","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","build-migrate-db":"bun run db:migrate","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","desktop:build-next":"npm run build:electron","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","self-hosting:docker":"docker build -t lobe-chat:local .","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true ."},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"repository":{"url":"git+https://github.com/bentwnghk/lobe-chat.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"9.9.4","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","directories":{},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"],"*.{mjs,cjs}":["prettier --write","eslint --fix"]},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"ai":"^3.4.33","pg":"^8.14.1","ws":"^8.18.1","swr":"^2.3.3","yjs":"^13.6.24","zod":"^3.24.2","antd":"^5.24.6","diff":"^7.0.0","jose":"^5.10.0","keyv":"^4.5.4","next":"^15.3.0","nuqs":"^2.4.1","pino":"^9.6.0","svix":"^1.63.0","uuid":"^11.1.0","yaml":"^2.7.1","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","epub2":"^3.0.2","immer":"^10.1.1","react":"^19.1.0","sharp":"^0.33.5","shiki":"^3.2.1","ahooks":"^3.8.4","nanoid":"^5.1.5","ollama":"^0.5.14","openai":"^4.91.1","remark":"^15.0.1","semver":"^7.7.1","stripe":"^16.12.0","ts-md5":"^1.3.1","i18next":"^24.2.3","mammoth":"^1.9.0","numeral":"^2.0.6","zustand":"^5.0.3","langfuse":"^3.37.1","polished":"^4.3.1","systemjs":"^6.15.1","url-join":"^5.0.0","y-webrtc":"^10.3.0","chroma-js":"^3.1.2","file-type":"^20.4.1","js-sha256":"^0.11.0","langchain":"^0.3.19","lodash-es":"^4.17.21","next-auth":"5.0.0-beta.25","pdf-parse":"^1.1.1","react-dom":"^19.1.0","react-pdf":"^9.2.1","react-rnd":"^10.5.2","superjson":"^2.2.2","@auth/core":"^0.38.0","@trpc/next":"^11.0.1","antd-style":"^3.7.1","idb-keyval":"^6.2.1","pdfjs-dist":"4.8.69","posthog-js":"^1.234.6","react-scan":"^0.3.3","remark-gfm":"^4.0.1","rtl-detect":"^1.1.2","brotli-wasm":"^3.0.1","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","remark-html":"^16.0.1","y-protocols":"^1.0.6","@lobehub/tts":"^1.28.3","@trpc/client":"^11.0.1","@trpc/server":"^11.0.1","html-to-text":"^9.0.5","lucide-react":"^0.503.0","officeparser":"^5.1.1","partial-json":"^0.1.7","plaiceholder":"^3.0.0","query-string":"^9.1.1","random-words":"^2.0.1","ua-parser-js":"^1.0.40","@bentwnghk/ui":"latest","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@serwist/next":"^9.0.12","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","langfuse-core":"^3.37.1","oidc-provider":"^8.4.0","openapi-fetch":"^0.9.8","react-i18next":"^15.4.1","utility-types":"^3.11.0","zustand-utils":"^2.1.0","@sentry/nextjs":"^7.120.3","react-confetti":"^6.4.0","react-virtuoso":"^4.12.6","@lobehub/charts":"^1.12.0","fast-deep-equal":"^3.1.3","next-mdx-remote":"^5.0.0","react-lazy-load":"^4.0.1","use-merge-value":"^1.2.0","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","nextjs-toploader":"^3.8.16","react-layout-kit":"^1.9.1","@ant-design/icons":"^5.6.1","@anthropic-ai/sdk":"^0.39.0","@react-spring/web":"^9.7.5","@trpc/react-query":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/functions":"^2.0.0","modern-screenshot":"^4.6.0","@aws-sdk/client-s3":"^3.779.0","@t3-oss/env-nextjs":"^0.12.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","@next/third-parties":"^15.3.0","@vercel/edge-config":"^1.4.0","pwa-install-handler":"^2.6.2","react-wrap-balancer":"^1.1.1","unstructured-client":"^0.19.0","@clerk/localizations":"^3.13.4","@electric-sql/pglite":"0.2.17","@langchain/community":"^0.3.38","@cfworker/json-schema":"^4.1.1","@google/generative-ai":"^0.24.0","@lobechat/web-crawler":"workspace:*","@tanstack/react-query":"^5.71.3","jsonl-parse-stringify":"^1.0.3","@google-cloud/vertexai":"^1.9.3","@huggingface/inference":"^2.8.1","@vercel/speed-insights":"^1.2.0","mdast-util-to-markdown":"^2.1.2","@khmyznikov/pwa-install":"0.3.9","countries-and-timezones":"^3.7.2","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","@azure-rest/ai-inference":"1.0.0-beta.5","@lobehub/chat-plugin-sdk":"^1.32.4","@neondatabase/serverless":"^1.0.0","@cyntler/react-doc-viewer":"^1.17.0","@modelcontextprotocol/sdk":"^1.10.1","@ant-design/pro-components":"^2.8.7","@codesandbox/sandpack-react":"^2.20.0","i18next-resources-to-backend":"^1.2.1","@aws-sdk/s3-request-presigner":"^3.779.0","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobehub/chat-plugins-gateway":"^1.9.0","@icons-pack/react-simple-icons":"9.6.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","i18next-browser-languagedetector":"^8.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.9","devDependencies":{"tsx":"^4.19.3","glob":"^11.0.1","mime":"^4.0.6","vite":"^5.4.16","husky":"^9.1.7","p-map":"^7.0.3","dbdocs":"^0.14.3","dotenv":"^16.4.7","eslint":"^8.57.1","lodash":"^4.17.21","vitest":"^3.1.1","consola":"^3.4.2","serwist":"^9.0.12","unified":"^11.0.5","fs-extra":"^11.3.0","node-gyp":"^11.2.0","prettier":"^3.5.3","@types/ip":"^1.1.3","@types/pg":"^8.11.11","@types/ws":"^8.18.1","cross-env":"^7.0.3","crypto-js":"^4.2.0","dpdm-fast":"^1.0.7","happy-dom":"^17.4.4","just-diff":"^6.0.2","stylelint":"^15.11.0","commitlint":"^19.8.0","node-fetch":"^3.3.2","remark-cli":"^12.0.1","remark-mdx":"^3.1.0","typescript":"^5.8.2","@types/diff":"^7.0.2","@types/node":"^22.13.17","@types/uuid":"^10.0.0","drizzle-kit":"^0.30.6","gray-matter":"^4.0.3","lint-staged":"^15.5.0","@types/debug":"^4.1.12","@types/react":"^19.1.0","@types/unist":"^3.0.3","ajv-keywords":"^5.1.0","remark-parse":"^11.0.0","@lobehub/lint":"^1.26.1","@types/lodash":"^4.17.16","@types/semver":"^7.7.0","@types/numeral":"^2.0.5","fake-indexeddb":"^6.0.0","markdown-table":"^3.0.4","@commitlint/cli":"^19.8.0","@types/fs-extra":"^11.0.4","@types/systemjs":"^6.15.3","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","@edge-runtime/vm":"^5.0.0","@lobehub/seo-cli":"^1.4.3","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/lodash-es":"^4.17.12","@types/react-dom":"^19.1.1","semantic-release":"^21.1.2","unist-util-visit":"^5.0.0","@lobehub/i18n-cli":"^1.20.3","@types/rtl-detect":"^1.0.3","eslint-plugin-mdx":"^3.3.1","@huggingface/tasks":"^0.15.9","@types/json-schema":"^7.0.15","openapi-typescript":"^7.6.1","remark-frontmatter":"^5.0.0","vitest-canvas-mock":"^0.3.3","@peculiar/webcrypto":"^1.5.0","@types/ua-parser-js":"^0.7.39","@vitest/coverage-v8":"^3.1.1","@types/oidc-provider":"^8.8.1","@next/bundle-analyzer":"^15.3.0","@semantic-release/exec":"^6.0.3","@testing-library/react":"^16.3.0","drizzle-dbml-generator":"^0.10.0","@next/eslint-plugin-next":"^15.3.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.6.1"},"_npmOperationalInternal":{"tmp":"tmp/chat_1.122.1_1745759508353_0.8482202875715901","host":"s3://npm-registry-packages-npm-production"}},"1.122.2":{"name":"@bentwnghk/chat","version":"1.122.2","description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"homepage":"https://mr5ai.com/","bugs":{"url":"https://mr5ai.com/"},"repository":{"type":"git","url":"git+https://github.com/bentwnghk/lobe-chat.git"},"license":"MIT","author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"sideEffects":false,"workspaces":["packages/*"],"scripts":{"prebuild":"tsx scripts/prebuild.mts","build":"next build","postbuild":"npm run build-sitemap && npm run build-migrate-db","build-migrate-db":"bun run db:migrate","build-sitemap":"tsx ./scripts/buildSitemapIndex/index.ts","build:analyze":"NODE_OPTIONS=--max-old-space-size=6144 ANALYZE=true next build","build:docker":"npm run prebuild && DOCKER=true next build && npm run build-sitemap","prebuild:electron":"cross-env NEXT_PUBLIC_IS_DESKTOP_APP=1 tsx scripts/prebuild.mts","build:electron":"cross-env NODE_OPTIONS=--max-old-space-size=6144 NEXT_PUBLIC_IS_DESKTOP_APP=1 NEXT_PUBLIC_SERVICE_MODE=server next build","db:generate":"drizzle-kit generate && npm run db:generate-client && npm run workflow:dbml","db:generate-client":"tsx ./scripts/migrateClientDB/compile-migrations.ts","db:migrate":"MIGRATION_DB=1 tsx ./scripts/migrateServerDB/index.ts","db:push":"drizzle-kit push","db:push-test":"NODE_ENV=test drizzle-kit push","db:studio":"drizzle-kit studio","db:visualize":"dbdocs build docs/development/database-schema.dbml --project lobe-chat","db:z-pull":"drizzle-kit introspect","desktop:build":"npm run desktop:build-next && npm run desktop:prepare-dist && npm run desktop:build-electron","desktop:build-electron":"tsx scripts/electronWorkflow/buildElectron.ts","desktop:build-next":"npm run build:electron","desktop:prepare-dist":"tsx scripts/electronWorkflow/moveNextStandalone.ts","dev":"next dev --turbopack -p 3010","dev:desktop":"next dev --turbopack -p 3015","docs:i18n":"lobe-i18n md && npm run lint:md && npm run lint:mdx && prettier -c --write locales/**/*","docs:seo":"lobe-seo && npm run lint:mdx","i18n":"npm run workflow:i18n && lobe-i18n","lint":"npm run lint:ts && npm run lint:style && npm run type-check && npm run lint:circular","lint:circular":"dpdm src/**/*.ts  --no-warning --no-tree --exit-code circular:1 --no-progress -T true --skip-dynamic-imports circular","lint:md":"remark . --silent --output","lint:mdx":"npm run workflow:mdx && remark \"docs/**/*.mdx\" -r ./.remarkrc.mdx.js --silent --output && eslint \"docs/**/*.mdx\" --quiet --fix","lint:style":"stylelint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","lint:ts":"eslint \"{src,tests}/**/*.{js,jsx,ts,tsx}\" --fix","prepare":"husky","prettier":"prettier -c --write \"**/**\"","pull":"git pull","release":"semantic-release","self-hosting:docker":"docker build -t lobe-chat:local .","self-hosting:docker-cn":"docker build -t lobe-chat-local --build-arg USE_CN_MIRROR=true .","self-hosting:docker-cn@database":"docker build -t lobe-chat-database-local -f Dockerfile.database --build-arg USE_CN_MIRROR=true .","start":"next start -p 3210","stylelint":"stylelint \"src/**/*.{js,jsx,ts,tsx}\" --fix","test":"npm run test-app && npm run test-server","test-app":"vitest run --config vitest.config.ts","test-app:coverage":"vitest run --config vitest.config.ts  --coverage","test-server":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts","test-server:coverage":"TEST_SERVER_DB=1 vitest run --config vitest.server.config.ts --coverage","test:update":"vitest -u","type-check":"tsc --noEmit","webhook:ngrok":"ngrok http http://localhost:3011","workflow:cdn":"tsx ./scripts/cdnWorkflow/index.ts","workflow:changelog":"tsx ./scripts/changelogWorkflow/index.ts","workflow:countCharters":"tsx scripts/countEnWord.ts","workflow:dbml":"tsx ./scripts/dbmlWorkflow/index.ts","workflow:docs":"tsx ./scripts/docsWorkflow/index.ts","workflow:i18n":"tsx ./scripts/i18nWorkflow/index.ts","workflow:mdx":"tsx ./scripts/mdxWorkflow/index.ts","workflow:readme":"tsx ./scripts/readmeWorkflow/index.ts","workflow:set-desktop-version":"tsx ./scripts/electronWorkflow/setDesktopVersion.ts"},"lint-staged":{"*.md":["remark --silent --output --","prettier --write --no-error-on-unmatched-pattern"],"*.mdx":["remark -r ./.remarkrc.mdx.js --silent --output --","eslint --quiet --fix"],"*.json":["prettier --write --no-error-on-unmatched-pattern"],"*.{mjs,cjs}":["prettier --write","eslint --fix"],"*.{js,jsx}":["prettier --write","stylelint --fix","eslint --fix"],"*.{ts,tsx}":["prettier --parser=typescript --write","stylelint --fix","eslint --fix"]},"dependencies":{"@ant-design/icons":"^5.6.1","@ant-design/pro-components":"^2.8.7","@anthropic-ai/sdk":"^0.39.0","@auth/core":"^0.38.0","@aws-sdk/client-bedrock-runtime":"^3.779.0","@aws-sdk/client-s3":"^3.779.0","@aws-sdk/s3-request-presigner":"^3.779.0","@azure-rest/ai-inference":"1.0.0-beta.5","@azure/core-auth":"^1.9.0","@bentwnghk/icons":"latest","@bentwnghk/ui":"latest","@cfworker/json-schema":"^4.1.1","@clerk/localizations":"^3.13.4","@clerk/nextjs":"^6.12.12","@clerk/themes":"^2.2.26","@codesandbox/sandpack-react":"^2.20.0","@cyntler/react-doc-viewer":"^1.17.0","@electric-sql/pglite":"0.2.17","@google-cloud/vertexai":"^1.9.3","@google/generative-ai":"^0.24.0","@huggingface/inference":"^2.8.1","@icons-pack/react-simple-icons":"9.6.0","@khmyznikov/pwa-install":"0.3.9","@langchain/community":"^0.3.38","@lobechat/electron-client-ipc":"workspace:*","@lobechat/electron-server-ipc":"workspace:*","@lobechat/web-crawler":"workspace:*","@lobehub/charts":"^1.12.0","@lobehub/chat-plugin-sdk":"^1.32.4","@lobehub/chat-plugins-gateway":"^1.9.0","@lobehub/tts":"^1.28.3","@modelcontextprotocol/sdk":"^1.10.1","@neondatabase/serverless":"^1.0.0","@next/third-parties":"^15.3.0","@react-spring/web":"^9.7.5","@sentry/nextjs":"^7.120.3","@serwist/next":"^9.0.12","@t3-oss/env-nextjs":"^0.12.0","@tanstack/react-query":"^5.71.3","@trpc/client":"^11.0.1","@trpc/next":"^11.0.1","@trpc/react-query":"^11.0.1","@trpc/server":"^11.0.1","@vercel/analytics":"^1.5.0","@vercel/edge-config":"^1.4.0","@vercel/functions":"^2.0.0","@vercel/speed-insights":"^1.2.0","ahooks":"^3.8.4","ai":"^3.4.33","antd":"^5.24.6","antd-style":"^3.7.1","brotli-wasm":"^3.0.1","chroma-js":"^3.1.2","countries-and-timezones":"^3.7.2","dayjs":"^1.11.13","debug":"^4.4.0","dexie":"^3.2.7","diff":"^7.0.0","drizzle-orm":"^0.41.0","drizzle-zod":"^0.5.1","epub2":"^3.0.2","fast-deep-equal":"^3.1.3","file-type":"^20.4.1","framer-motion":"^12.6.3","gpt-tokenizer":"^2.9.0","html-to-text":"^9.0.5","i18next":"^24.2.3","i18next-browser-languagedetector":"^8.0.4","i18next-resources-to-backend":"^1.2.1","idb-keyval":"^6.2.1","immer":"^10.1.1","jose":"^5.10.0","js-sha256":"^0.11.0","jsonl-parse-stringify":"^1.0.3","keyv":"^4.5.4","langchain":"^0.3.19","langfuse":"^3.37.1","langfuse-core":"^3.37.1","lodash-es":"^4.17.21","lucide-react":"^0.503.0","mammoth":"^1.9.0","mdast-util-to-markdown":"^2.1.2","modern-screenshot":"^4.6.0","nanoid":"^5.1.5","next":"^15.3.0","next-auth":"5.0.0-beta.25","next-mdx-remote":"^5.0.0","nextjs-toploader":"^3.8.16","numeral":"^2.0.6","nuqs":"^2.4.1","officeparser":"^5.1.1","oidc-provider":"^8.4.0","ollama":"^0.5.14","openai":"^4.91.1","openapi-fetch":"^0.9.8","partial-json":"^0.1.7","pdf-parse":"^1.1.1","pdfjs-dist":"4.8.69","pg":"^8.14.1","pino":"^9.6.0","plaiceholder":"^3.0.0","polished":"^4.3.1","posthog-js":"^1.234.6","pwa-install-handler":"^2.6.2","query-string":"^9.1.1","random-words":"^2.0.1","react":"^19.1.0","react-confetti":"^6.4.0","react-dom":"^19.1.0","react-fast-marquee":"^1.6.5","react-hotkeys-hook":"^4.6.1","react-i18next":"^15.4.1","react-layout-kit":"^1.9.1","react-lazy-load":"^4.0.1","react-pdf":"^9.2.1","react-rnd":"^10.5.2","react-scan":"^0.3.3","react-virtuoso":"^4.12.6","react-wrap-balancer":"^1.1.1","remark":"^15.0.1","remark-gfm":"^4.0.1","remark-html":"^16.0.1","request-filtering-agent":"^2.0.1","resolve-accept-language":"^3.1.11","rtl-detect":"^1.1.2","semver":"^7.7.1","sharp":"^0.33.5","shiki":"^3.2.1","stripe":"^16.12.0","superjson":"^2.2.2","svix":"^1.63.0","swr":"^2.3.3","systemjs":"^6.15.1","ts-md5":"^1.3.1","ua-parser-js":"^1.0.40","unstructured-client":"^0.19.0","url-join":"^5.0.0","use-merge-value":"^1.2.0","utility-types":"^3.11.0","uuid":"^11.1.0","ws":"^8.18.1","y-protocols":"^1.0.6","y-webrtc":"^10.3.0","yaml":"^2.7.1","yjs":"^13.6.24","zod":"^3.24.2","zustand":"^5.0.3","zustand-utils":"^2.1.0"},"devDependencies":{"@commitlint/cli":"^19.8.0","@edge-runtime/vm":"^5.0.0","@huggingface/tasks":"^0.15.9","@lobehub/i18n-cli":"^1.20.3","@lobehub/lint":"^1.26.1","@lobehub/seo-cli":"^1.4.3","@next/bundle-analyzer":"^15.3.0","@next/eslint-plugin-next":"^15.3.0","@peculiar/webcrypto":"^1.5.0","@semantic-release/exec":"^6.0.3","@testing-library/jest-dom":"^6.6.3","@testing-library/react":"^16.3.0","@testing-library/user-event":"^14.6.1","@types/chroma-js":"^3.1.1","@types/crypto-js":"^4.2.2","@types/debug":"^4.1.12","@types/diff":"^7.0.2","@types/fs-extra":"^11.0.4","@types/ip":"^1.1.3","@types/json-schema":"^7.0.15","@types/lodash":"^4.17.16","@types/lodash-es":"^4.17.12","@types/node":"^22.13.17","@types/numeral":"^2.0.5","@types/oidc-provider":"^8.8.1","@types/pg":"^8.11.11","@types/react":"^19.1.0","@types/react-dom":"^19.1.1","@types/rtl-detect":"^1.0.3","@types/semver":"^7.7.0","@types/systemjs":"^6.15.3","@types/ua-parser-js":"^0.7.39","@types/unist":"^3.0.3","@types/uuid":"^10.0.0","@types/ws":"^8.18.1","@vitest/coverage-v8":"^3.1.1","ajv-keywords":"^5.1.0","commitlint":"^19.8.0","consola":"^3.4.2","cross-env":"^7.0.3","crypto-js":"^4.2.0","dbdocs":"^0.14.3","dotenv":"^16.4.7","dpdm-fast":"^1.0.7","drizzle-dbml-generator":"^0.10.0","drizzle-kit":"^0.30.6","eslint":"^8.57.1","eslint-plugin-mdx":"^3.3.1","fake-indexeddb":"^6.0.0","fs-extra":"^11.3.0","glob":"^11.0.1","gray-matter":"^4.0.3","happy-dom":"^17.4.4","husky":"^9.1.7","just-diff":"^6.0.2","lint-staged":"^15.5.0","lodash":"^4.17.21","markdown-table":"^3.0.4","markdown-to-txt":"^2.0.1","mcp-hello-world":"^1.1.2","mime":"^4.0.6","node-fetch":"^3.3.2","node-gyp":"^11.2.0","openapi-typescript":"^7.6.1","p-map":"^7.0.3","prettier":"^3.5.3","remark-cli":"^12.0.1","remark-frontmatter":"^5.0.0","remark-mdx":"^3.1.0","remark-parse":"^11.0.0","semantic-release":"^21.1.2","serwist":"^9.0.12","stylelint":"^15.11.0","tsx":"^4.19.3","typescript":"^5.8.2","unified":"^11.0.5","unist-util-visit":"^5.0.0","vite":"^5.4.16","vitest":"^3.1.1","vitest-canvas-mock":"^0.3.3"},"packageManager":"pnpm@9.15.9","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"pnpm":{"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"packageExtensions":{"@inkjs/ui":{"dependencies":{"react":"^18"}}}},"overrides":{"mdast-util-gfm-autolink-literal":"2.0.0"},"_id":"@bentwnghk/chat@1.122.2","gitHead":"9d55bdef70213eea1c77ceef45d2ffb2bd252c86","_nodeVersion":"22.14.0","_npmVersion":"9.9.4","dist":{"integrity":"sha512-I1a43DmIl/08qzxtEg2upyKiO4n3UNxo7DjMoFcZV2bMUfFphLo4aOnL8h/dT4XIH+6Hdo8W27D7gkoBjl2iHQ==","shasum":"af634bc6ebcd6be1952811b06545cd5e2c54998c","tarball":"https://registry.npmjs.org/@bentwnghk/chat/-/chat-1.122.2.tgz","fileCount":3983,"unpackedSize":33202336,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCU1a/hou7lmZhrdtNfrGfUIYDeCCOm6NviXuJp97xjyAIgSqAfD70a3UIC92o+f6Ba5Y/UC0AAMsOfYYIpaTErqdA="}]},"_npmUser":{"name":"bentwnghk","email":"mr.ng@mystudies.net"},"directories":{},"maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/chat_1.122.2_1745804151623_0.22792379180953826"},"_hasShrinkwrap":false}},"time":{"created":"2024-01-01T08:41:35.726Z","modified":"2025-04-28T01:35:52.294Z","1.0.0":"2024-01-01T08:41:36.075Z","1.0.1":"2024-01-01T11:02:47.582Z","1.0.2":"2024-01-01T12:29:42.152Z","1.0.3":"2024-01-01T13:09:37.579Z","1.0.4":"2024-01-01T14:14:25.692Z","1.0.5":"2024-01-01T15:02:20.926Z","1.0.6":"2024-01-01T15:44:38.527Z","1.0.7":"2024-01-01T23:05:25.031Z","1.0.8":"2024-01-02T01:02:37.899Z","1.0.9":"2024-01-02T01:57:10.266Z","1.0.10":"2024-01-02T02:14:40.109Z","1.0.11":"2024-01-02T10:27:21.614Z","1.0.12":"2024-01-02T14:55:13.941Z","1.0.13":"2024-01-03T08:06:55.977Z","1.0.14":"2024-01-03T09:11:00.073Z","1.0.15":"2024-01-03T09:21:28.210Z","1.0.16":"2024-01-03T13:37:11.361Z","1.0.17":"2024-01-03T23:25:57.007Z","1.1.0":"2024-01-04T11:10:14.083Z","1.1.1":"2024-01-05T13:00:56.960Z","1.1.2":"2024-01-06T12:53:04.576Z","1.1.3":"2024-01-07T01:04:58.528Z","1.1.4":"2024-01-07T09:58:11.626Z","1.1.5":"2024-01-08T14:14:01.856Z","1.1.6":"2024-01-09T09:26:33.183Z","1.1.7":"2024-01-09T11:23:12.862Z","1.1.8":"2024-01-10T09:13:32.210Z","1.2.0":"2024-01-15T23:13:28.213Z","1.2.1":"2024-01-16T23:06:07.910Z","1.2.2":"2024-01-18T00:30:01.563Z","1.2.3":"2024-01-19T22:49:52.789Z","1.2.4":"2024-01-21T14:25:14.020Z","1.2.5":"2024-01-22T11:16:19.596Z","1.3.0":"2024-01-24T12:57:30.991Z","1.3.1":"2024-01-25T03:17:46.760Z","1.3.2":"2024-01-27T02:32:08.925Z","1.3.3":"2024-01-29T08:30:43.151Z","1.4.0":"2024-01-29T13:35:11.256Z","1.4.1":"2024-01-30T14:03:02.921Z","1.4.2":"2024-01-31T00:22:02.974Z","1.4.3":"2024-01-31T01:22:58.693Z","1.4.4":"2024-01-31T02:41:19.805Z","1.4.5":"2024-01-31T02:53:14.330Z","1.4.6":"2024-01-31T03:06:19.502Z","1.4.7":"2024-01-31T03:11:06.883Z","1.4.8":"2024-01-31T05:01:22.821Z","1.4.9":"2024-01-31T13:15:27.157Z","1.4.10":"2024-02-02T23:24:14.129Z","1.4.11":"2024-02-03T17:07:33.396Z","1.5.0":"2024-02-05T11:54:12.623Z","1.5.1":"2024-02-05T22:07:05.461Z","1.5.2":"2024-02-05T22:32:20.093Z","1.5.3":"2024-02-06T01:31:41.608Z","1.6.0":"2024-02-06T09:55:48.507Z","1.6.1":"2024-02-07T14:33:44.860Z","1.7.0":"2024-02-08T15:53:06.944Z","1.7.1":"2024-02-08T17:29:35.031Z","1.7.2":"2024-02-09T00:57:26.265Z","1.8.0":"2024-02-09T03:27:27.853Z","1.8.1":"2024-02-09T10:06:40.554Z","1.8.2":"2024-02-11T12:38:08.395Z","1.8.3":"2024-02-12T05:06:36.594Z","1.9.0":"2024-02-14T02:30:03.935Z","1.9.1":"2024-02-14T02:35:35.108Z","1.10.0":"2024-02-14T17:45:40.583Z","1.10.1":"2024-02-15T15:07:43.643Z","1.10.2":"2024-02-15T16:26:54.986Z","1.10.3":"2024-02-22T00:09:13.508Z","1.10.4":"2024-02-22T00:29:05.669Z","1.10.5":"2024-02-22T01:21:55.353Z","1.11.0":"2024-02-22T11:40:31.901Z","1.11.1":"2024-02-22T23:47:27.233Z","1.11.2":"2024-02-23T00:48:39.395Z","1.11.3":"2024-02-23T03:27:06.802Z","1.11.4":"2024-02-23T08:33:28.839Z","1.11.5":"2024-02-24T01:19:55.316Z","1.11.6":"2024-02-25T08:26:31.374Z","1.11.7":"2024-02-26T01:58:25.215Z","1.12.0":"2024-02-27T07:45:12.253Z","1.12.1":"2024-02-28T23:40:53.275Z","1.12.2":"2024-02-29T12:22:03.167Z","1.12.3":"2024-02-29T23:06:36.773Z","1.12.4":"2024-03-02T00:24:03.808Z","1.12.5":"2024-03-03T08:10:23.821Z","1.12.6":"2024-03-04T13:13:14.871Z","1.13.0":"2024-03-05T12:43:05.531Z","1.14.0":"2024-03-05T23:16:19.475Z","1.14.1":"2024-03-06T07:50:27.165Z","1.14.2":"2024-03-06T10:54:53.796Z","1.14.3":"2024-03-06T12:26:59.400Z","1.14.4":"2024-03-06T13:17:27.123Z","1.14.5":"2024-03-06T23:15:10.356Z","1.15.0":"2024-03-07T05:33:26.858Z","1.15.1":"2024-03-07T08:05:45.022Z","1.15.2":"2024-03-08T08:31:09.600Z","1.15.3":"2024-03-09T03:57:07.172Z","1.15.4":"2024-03-09T04:48:42.790Z","1.15.5":"2024-03-09T07:21:01.502Z","1.15.6":"2024-03-10T14:05:53.746Z","1.15.7":"2024-03-10T23:27:44.479Z","1.15.8":"2024-03-11T11:51:48.370Z","1.15.9":"2024-03-12T06:09:07.180Z","1.16.0":"2024-03-13T04:57:42.941Z","1.16.1":"2024-03-13T13:57:32.479Z","1.17.0":"2024-03-14T09:30:36.419Z","1.17.1":"2024-03-14T12:53:39.229Z","1.17.2":"2024-03-15T10:57:18.426Z","1.18.0":"2024-03-15T13:54:00.009Z","1.19.0":"2024-03-16T00:29:41.220Z","1.20.0":"2024-03-16T13:41:23.808Z","1.20.1":"2024-03-17T04:22:35.716Z","1.21.0":"2024-03-22T08:21:10.323Z","1.21.1":"2024-03-22T15:09:48.055Z","1.21.2":"2024-03-22T22:32:30.560Z","1.21.3":"2024-03-24T23:53:51.504Z","1.22.0":"2024-03-25T13:21:11.034Z","1.22.1":"2024-03-25T14:31:00.461Z","1.22.2":"2024-03-25T15:41:12.650Z","1.22.3":"2024-03-25T22:56:29.232Z","1.22.4":"2024-03-26T02:43:14.044Z","1.22.5":"2024-03-26T11:07:50.811Z","1.22.6":"2024-03-26T14:06:26.270Z","1.22.7":"2024-03-27T07:25:00.292Z","1.22.8":"2024-03-28T13:05:24.617Z","1.23.0":"2024-03-29T00:24:36.670Z","1.24.0":"2024-03-29T03:21:09.191Z","1.24.1":"2024-03-29T07:39:52.777Z","1.24.2":"2024-03-29T08:45:15.634Z","1.24.3":"2024-03-29T08:54:57.575Z","1.25.0":"2024-03-29T10:38:06.657Z","1.25.1":"2024-03-29T13:57:53.404Z","1.25.2":"2024-03-30T00:31:13.309Z","1.25.3":"2024-03-30T11:52:21.636Z","1.25.4":"2024-04-02T07:21:58.108Z","1.25.5":"2024-04-02T08:30:53.347Z","1.25.6":"2024-04-02T14:51:17.950Z","1.25.7":"2024-04-02T17:03:34.118Z","1.25.8":"2024-04-03T05:40:23.020Z","1.25.9":"2024-04-03T22:47:55.254Z","1.25.10":"2024-04-04T13:09:59.671Z","1.25.11":"2024-04-07T03:04:24.823Z","1.26.0":"2024-04-08T23:07:02.724Z","1.26.1":"2024-04-10T07:17:48.655Z","1.27.0":"2024-04-10T22:34:03.909Z","1.27.1":"2024-04-11T04:43:25.532Z","1.27.2":"2024-04-11T07:51:32.080Z","1.27.3":"2024-04-11T10:07:32.035Z","1.27.4":"2024-04-11T10:49:50.112Z","1.27.5":"2024-04-11T13:54:07.562Z","1.27.6":"2024-04-11T21:15:19.645Z","1.27.7":"2024-04-12T07:47:53.591Z","1.27.8":"2024-04-12T10:34:11.737Z","1.27.9":"2024-04-12T12:23:00.945Z","1.27.10":"2024-04-12T13:00:18.708Z","1.27.11":"2024-04-13T03:46:45.036Z","1.27.12":"2024-04-13T14:35:07.888Z","1.27.13":"2024-04-14T06:02:41.217Z","1.27.14":"2024-04-14T12:52:40.137Z","1.27.15":"2024-04-14T13:50:21.547Z","1.27.16":"2024-04-14T23:11:37.306Z","1.27.17":"2024-04-16T11:23:06.248Z","1.27.18":"2024-04-17T10:14:51.572Z","1.27.19":"2024-04-18T23:00:21.651Z","1.27.20":"2024-04-19T21:16:45.026Z","1.28.0":"2024-04-20T10:53:45.007Z","1.28.1":"2024-04-20T22:05:19.368Z","1.28.2":"2024-04-21T12:13:21.898Z","1.28.3":"2024-04-21T12:32:44.245Z","1.28.4":"2024-04-22T08:29:59.117Z","1.28.5":"2024-04-22T13:35:37.382Z","1.28.6":"2024-04-23T05:35:04.005Z","1.28.7":"2024-04-23T23:04:40.568Z","1.28.8":"2024-04-24T05:36:45.972Z","1.29.0":"2024-04-24T05:57:54.122Z","1.29.1":"2024-04-24T21:42:51.702Z","1.29.2":"2024-04-25T11:12:43.449Z","1.29.3":"2024-04-25T22:58:22.893Z","1.29.4":"2024-04-26T14:30:08.133Z","1.30.0":"2024-04-26T23:02:57.452Z","1.30.1":"2024-04-27T06:38:45.598Z","1.30.2":"2024-04-27T09:48:44.945Z","1.30.3":"2024-04-27T10:34:00.699Z","1.30.4":"2024-04-28T09:44:47.202Z","1.30.5":"2024-04-28T13:25:06.418Z","1.30.6":"2024-04-28T23:06:48.182Z","1.31.0":"2024-04-29T05:42:00.599Z","1.31.1":"2024-04-30T05:34:17.979Z","1.31.2":"2024-04-30T13:08:09.553Z","1.31.3":"2024-04-30T14:49:17.823Z","1.32.0":"2024-04-30T20:54:02.682Z","1.32.1":"2024-05-01T05:43:03.962Z","1.32.2":"2024-05-04T05:36:44.797Z","1.33.0":"2024-05-04T07:44:56.786Z","1.33.1":"2024-05-04T10:33:03.374Z","1.34.0":"2024-05-05T16:18:04.889Z","1.34.1":"2024-05-05T23:00:24.027Z","1.34.2":"2024-05-06T02:16:36.580Z","1.34.3":"2024-05-06T02:39:59.647Z","1.34.4":"2024-05-06T05:44:33.139Z","1.34.5":"2024-05-06T10:26:45.796Z","1.34.6":"2024-05-06T12:05:54.898Z","1.34.7":"2024-05-07T03:32:50.074Z","1.35.0":"2024-05-07T13:42:11.186Z","1.35.1":"2024-05-08T05:36:11.903Z","1.35.2":"2024-05-08T09:49:22.133Z","1.35.3":"2024-05-08T23:19:37.739Z","1.35.4":"2024-05-09T05:14:20.492Z","1.36.0":"2024-05-09T23:26:54.306Z","1.36.1":"2024-05-10T07:53:08.421Z","1.36.2":"2024-05-10T10:22:56.102Z","1.37.0":"2024-05-12T00:36:06.709Z","1.37.1":"2024-05-12T10:56:29.138Z","1.37.2":"2024-05-13T08:44:00.964Z","1.38.0":"2024-05-13T12:32:35.377Z","1.38.1":"2024-05-13T23:13:36.481Z","1.39.0":"2024-05-14T05:40:28.557Z","1.39.1":"2024-05-14T09:05:48.657Z","1.39.2":"2024-05-15T00:59:37.786Z","1.39.3":"2024-05-15T07:42:06.207Z","1.39.4":"2024-05-15T09:28:35.566Z","1.39.5":"2024-05-15T23:10:02.164Z","1.40.0":"2024-05-18T22:47:46.845Z","1.40.1":"2024-05-19T23:07:32.643Z","1.40.2":"2024-05-20T06:06:57.405Z","1.40.3":"2024-05-20T07:57:24.366Z","1.40.4":"2024-05-21T15:18:07.164Z","1.41.0":"2024-05-21T23:10:34.033Z","1.41.1":"2024-05-22T10:45:21.918Z","1.41.2":"2024-05-22T14:19:11.262Z","1.41.3":"2024-05-22T15:17:35.487Z","1.41.4":"2024-05-22T23:16:07.196Z","1.41.5":"2024-05-23T15:11:57.194Z","1.41.6":"2024-05-23T23:06:57.920Z","1.41.7":"2024-05-24T12:04:57.918Z","1.41.8":"2024-05-24T19:23:54.253Z","1.41.9":"2024-05-25T02:45:33.284Z","1.41.10":"2024-05-25T14:53:23.352Z","1.41.11":"2024-05-26T11:25:54.837Z","1.41.12":"2024-05-27T02:35:50.985Z","1.41.13":"2024-05-27T05:26:05.499Z","1.42.0":"2024-05-27T11:13:33.992Z","1.42.1":"2024-05-27T14:47:58.484Z","1.42.2":"2024-05-28T07:35:26.030Z","1.42.3":"2024-05-28T13:21:43.306Z","1.42.4":"2024-05-28T21:46:43.184Z","1.42.5":"2024-05-29T06:47:50.914Z","1.42.6":"2024-05-29T21:37:23.814Z","1.42.7":"2024-05-31T11:31:51.144Z","1.42.8":"2024-06-01T11:01:34.229Z","1.42.9":"2024-06-03T10:28:47.891Z","1.42.10":"2024-06-03T21:38:16.560Z","1.42.11":"2024-06-04T02:56:20.738Z","1.42.12":"2024-06-04T05:29:09.563Z","1.42.13":"2024-06-06T21:37:40.445Z","1.42.14":"2024-06-07T07:09:32.646Z","1.42.15":"2024-06-08T08:04:21.889Z","1.42.16":"2024-06-09T11:01:34.513Z","1.42.17":"2024-06-12T03:34:10.687Z","1.42.18":"2024-06-14T09:21:44.780Z","1.42.19":"2024-06-16T12:32:44.027Z","1.43.0":"2024-06-17T11:01:13.611Z","1.43.1":"2024-06-17T23:44:44.555Z","1.43.2":"2024-06-18T06:39:06.795Z","1.43.3":"2024-06-18T14:28:44.609Z","1.43.4":"2024-06-19T06:49:12.070Z","1.43.5":"2024-06-19T10:29:45.524Z","1.43.6":"2024-06-19T14:06:23.776Z","1.43.7":"2024-06-19T21:36:06.535Z","1.44.0":"2024-06-20T23:53:18.680Z","1.44.1":"2024-06-21T10:53:47.774Z","1.44.2":"2024-06-22T21:34:17.907Z","1.44.3":"2024-06-23T09:56:04.727Z","1.44.4":"2024-06-24T10:05:07.920Z","1.44.5":"2024-06-24T21:48:08.707Z","1.44.6":"2024-06-25T14:36:50.367Z","1.44.7":"2024-06-26T12:51:55.091Z","1.44.8":"2024-06-27T11:52:55.037Z","1.44.9":"2024-06-27T14:32:30.374Z","1.44.10":"2024-06-28T11:56:45.304Z","1.44.11":"2024-06-30T05:32:17.891Z","1.44.12":"2024-07-01T10:51:33.123Z","1.45.0":"2024-07-01T13:02:10.902Z","1.45.1":"2024-07-01T21:39:01.385Z","1.45.2":"2024-07-02T13:14:45.194Z","1.45.3":"2024-07-02T21:45:47.371Z","1.45.4":"2024-07-03T13:18:57.526Z","1.45.5":"2024-07-03T21:35:35.373Z","1.45.6":"2024-07-04T09:08:22.413Z","1.45.7":"2024-07-05T21:02:47.456Z","1.45.8":"2024-07-07T03:42:09.408Z","1.45.9":"2024-07-07T07:07:50.874Z","1.45.10":"2024-07-08T06:52:49.353Z","1.46.0":"2024-07-09T11:01:12.404Z","1.46.1":"2024-07-09T12:31:15.090Z","1.46.2":"2024-07-09T13:26:55.754Z","1.46.3":"2024-07-09T23:43:36.843Z","1.46.4":"2024-07-10T07:16:14.163Z","1.46.5":"2024-07-11T15:22:23.451Z","1.47.0":"2024-07-12T12:50:11.319Z","1.47.1":"2024-07-13T07:39:07.478Z","1.47.2":"2024-07-13T08:20:08.374Z","1.47.3":"2024-07-15T05:07:48.262Z","1.48.0":"2024-07-17T08:45:09.050Z","1.48.1":"2024-07-17T10:16:39.852Z","1.48.2":"2024-07-17T12:34:31.819Z","1.48.3":"2024-07-17T23:27:57.787Z","1.48.4":"2024-07-19T08:57:54.066Z","1.49.0":"2024-07-19T14:05:02.916Z","1.49.1":"2024-07-20T01:52:19.447Z","1.49.2":"2024-07-21T07:07:24.150Z","1.49.3":"2024-07-21T13:17:58.167Z","1.49.4":"2024-07-22T10:13:48.402Z","1.49.5":"2024-07-23T06:29:50.176Z","1.49.6":"2024-07-23T14:47:40.362Z","1.49.7":"2024-07-24T00:18:05.894Z","1.49.8":"2024-07-24T07:14:06.955Z","1.49.9":"2024-07-25T23:40:46.947Z","1.49.10":"2024-07-26T04:31:36.752Z","1.50.0":"2024-07-26T08:45:15.998Z","1.50.1":"2024-07-26T10:28:43.626Z","1.50.2":"2024-07-26T11:48:33.813Z","1.50.3":"2024-07-28T09:54:56.590Z","1.50.4":"2024-07-29T04:31:37.665Z","1.50.5":"2024-07-29T05:11:40.291Z","1.50.6":"2024-07-30T04:22:55.641Z","1.50.7":"2024-07-30T11:42:48.353Z","1.50.8":"2024-08-02T00:40:48.361Z","1.50.9":"2024-08-02T09:45:46.365Z","1.51.0":"2024-08-02T15:46:10.348Z","1.51.1":"2024-08-03T13:52:34.099Z","1.52.0":"2024-08-05T11:17:10.906Z","1.52.1":"2024-08-05T22:56:40.259Z","1.52.2":"2024-08-06T06:26:11.190Z","1.52.3":"2024-08-07T00:35:42.022Z","1.52.4":"2024-08-08T08:22:16.813Z","1.52.5":"2024-08-09T08:56:47.262Z","1.52.6":"2024-08-13T06:48:50.174Z","1.52.7":"2024-08-13T14:06:37.328Z","1.53.0":"2024-08-14T08:21:30.268Z","1.54.0":"2024-08-15T00:33:07.428Z","1.54.1":"2024-08-15T12:09:47.455Z","1.54.2":"2024-08-17T16:17:03.346Z","1.54.3":"2024-08-18T06:16:27.344Z","1.54.4":"2024-08-18T12:27:57.477Z","1.54.5":"2024-08-19T11:28:39.281Z","1.54.6":"2024-08-19T13:34:30.415Z","1.54.7":"2024-08-19T22:02:56.907Z","1.55.0":"2024-08-21T14:53:23.525Z","1.55.1":"2024-08-21T16:29:30.059Z","1.55.2":"2024-08-22T03:56:56.489Z","1.55.3":"2024-08-22T07:50:30.505Z","1.55.4":"2024-08-22T10:10:06.339Z","1.55.5":"2024-08-22T14:34:10.070Z","1.55.6":"2024-08-22T15:24:14.208Z","1.55.7":"2024-08-22T22:33:39.643Z","1.55.8":"2024-08-23T09:09:47.198Z","1.55.9":"2024-08-23T14:53:51.797Z","1.55.10":"2024-08-23T23:16:03.678Z","1.55.11":"2024-08-24T03:23:39.306Z","1.55.12":"2024-08-24T08:14:37.534Z","1.55.13":"2024-08-24T23:42:04.871Z","1.55.14":"2024-08-26T11:34:46.760Z","1.55.15":"2024-08-27T00:14:22.175Z","1.56.0":"2024-08-27T06:25:42.801Z","1.56.1":"2024-08-27T10:31:54.956Z","1.57.0":"2024-08-27T23:11:36.147Z","1.57.1":"2024-08-28T11:19:09.513Z","1.57.2":"2024-08-29T02:23:14.324Z","1.57.3":"2024-08-29T09:26:23.576Z","1.57.4":"2024-08-30T00:33:06.608Z","1.58.0":"2024-08-30T15:39:36.413Z","1.58.1":"2024-09-01T07:27:24.188Z","1.58.2":"2024-09-01T11:26:47.331Z","1.58.3":"2024-09-02T10:35:45.149Z","1.58.4":"2024-09-03T11:10:26.693Z","1.58.5":"2024-09-04T11:13:04.441Z","1.58.6":"2024-09-05T09:38:23.812Z","1.58.7":"2024-09-06T06:02:39.613Z","1.58.8":"2024-09-06T14:47:15.089Z","1.58.9":"2024-09-06T16:19:15.730Z","1.58.10":"2024-09-07T02:39:44.654Z","1.58.11":"2024-09-08T07:26:22.849Z","1.58.12":"2024-09-08T13:25:49.886Z","1.58.13":"2024-09-09T06:15:18.626Z","1.58.14":"2024-09-09T08:18:33.794Z","1.58.15":"2024-09-10T14:09:32.696Z","1.58.16":"2024-09-10T14:18:25.468Z","1.59.0":"2024-09-11T11:21:08.321Z","1.59.1":"2024-09-11T12:24:21.102Z","1.59.2":"2024-09-11T23:37:13.742Z","1.59.3":"2024-09-12T05:42:53.438Z","1.59.4":"2024-09-12T11:57:53.217Z","1.60.0":"2024-09-13T05:26:38.402Z","1.60.1":"2024-09-13T11:32:55.125Z","1.60.2":"2024-09-13T22:52:08.133Z","1.60.3":"2024-09-14T04:55:30.308Z","1.60.4":"2024-09-15T08:11:53.740Z","1.60.5":"2024-09-16T07:52:30.270Z","1.60.6":"2024-09-17T10:55:48.486Z","1.61.0":"2024-09-18T11:48:21.889Z","1.62.0":"2024-09-19T05:53:41.374Z","1.62.1":"2024-09-19T07:45:24.860Z","1.62.2":"2024-09-20T12:11:06.419Z","1.62.3":"2024-09-20T15:48:54.014Z","1.62.4":"2024-09-20T22:46:22.244Z","1.62.5":"2024-09-21T09:01:39.913Z","1.62.6":"2024-09-21T10:22:56.940Z","1.62.7":"2024-09-22T00:44:43.600Z","1.62.8":"2024-09-22T13:01:45.042Z","1.62.9":"2024-09-23T11:47:09.685Z","1.62.10":"2024-09-23T23:11:43.591Z","1.62.11":"2024-09-24T11:38:34.452Z","1.62.12":"2024-09-24T15:12:42.326Z","1.62.14":"2024-09-25T23:00:30.161Z","1.62.15":"2024-09-26T06:24:11.883Z","1.62.16":"2024-09-27T07:12:55.040Z","1.63.0":"2024-09-27T09:31:07.594Z","1.63.1":"2024-09-27T14:19:37.147Z","1.63.2":"2024-09-28T22:21:10.538Z","1.63.3":"2024-09-29T04:49:23.307Z","1.63.4":"2024-09-29T22:00:58.201Z","1.63.5":"2024-09-30T04:00:57.962Z","1.64.0":"2024-09-30T09:24:29.233Z","1.64.1":"2024-09-30T23:02:40.521Z","1.64.2":"2024-10-01T07:51:13.057Z","1.64.3":"2024-10-01T10:49:32.723Z","1.64.4":"2024-10-02T11:14:26.735Z","1.64.5":"2024-10-05T15:59:32.483Z","1.64.6":"2024-10-05T23:14:56.254Z","1.64.7":"2024-10-08T11:48:27.224Z","1.64.8":"2024-10-08T23:27:12.599Z","1.64.9":"2024-10-10T21:25:41.560Z","1.64.10":"2024-10-11T10:39:31.427Z","1.64.11":"2024-10-11T23:05:54.363Z","1.64.12":"2024-10-12T03:32:47.653Z","1.65.0":"2024-10-12T22:52:59.328Z","1.65.1":"2024-10-13T08:52:17.288Z","1.65.2":"2024-10-14T05:10:25.669Z","1.65.3":"2024-10-17T08:43:06.946Z","1.65.4":"2024-10-18T01:49:27.018Z","1.65.5":"2024-10-20T03:56:14.543Z","1.65.6":"2024-10-20T23:23:19.974Z","1.65.7":"2024-10-21T23:05:30.289Z","1.65.8":"2024-10-22T11:24:45.992Z","1.65.9":"2024-10-23T00:39:42.115Z","1.65.10":"2024-10-23T11:14:25.226Z","1.65.11":"2024-10-23T13:37:51.845Z","1.65.12":"2024-10-24T13:17:36.128Z","1.66.0":"2024-10-25T11:44:36.633Z","1.66.1":"2024-10-25T13:02:40.976Z","1.67.0":"2024-10-25T22:42:43.849Z","1.68.0":"2024-10-26T13:25:09.667Z","1.68.1":"2024-10-26T23:53:11.375Z","1.69.0":"2024-10-27T09:58:57.913Z","1.69.1":"2024-10-28T11:05:01.096Z","1.69.2":"2024-10-29T12:10:30.296Z","1.69.3":"2024-10-29T13:26:42.540Z","1.69.4":"2024-10-29T13:36:13.973Z","1.69.5":"2024-10-29T23:53:11.385Z","1.69.6":"2024-10-30T07:11:37.212Z","1.69.7":"2024-10-30T23:24:41.669Z","1.69.8":"2024-10-31T06:07:37.894Z","1.69.9":"2024-10-31T06:37:04.827Z","1.69.10":"2024-11-03T23:16:20.810Z","1.69.11":"2024-11-04T11:16:47.248Z","1.70.0":"2024-11-04T23:06:19.727Z","1.70.1":"2024-11-05T04:44:41.360Z","1.71.0":"2024-11-06T05:18:27.710Z","1.71.1":"2024-11-06T23:06:25.192Z","1.71.2":"2024-11-07T11:19:37.743Z","1.71.3":"2024-11-08T12:30:13.317Z","1.72.0":"2024-11-09T10:58:01.558Z","1.72.1":"2024-11-09T14:17:57.240Z","1.72.2":"2024-11-09T15:38:08.666Z","1.72.3":"2024-11-09T22:50:27.594Z","1.72.4":"2024-11-10T15:11:40.102Z","1.73.0":"2024-11-12T05:21:59.017Z","1.73.1":"2024-11-12T11:15:05.659Z","1.73.2":"2024-11-12T14:12:35.391Z","1.73.3":"2024-11-12T15:12:41.042Z","1.73.4":"2024-11-12T23:16:50.731Z","1.73.5":"2024-11-13T21:24:06.717Z","1.73.6":"2024-11-15T22:13:49.520Z","1.73.7":"2024-11-16T08:25:55.772Z","1.73.8":"2024-11-16T22:53:28.954Z","1.74.0":"2024-11-19T11:59:07.037Z","1.74.1":"2024-11-19T14:34:18.866Z","1.74.2":"2024-11-20T22:59:27.405Z","1.74.3":"2024-11-24T12:21:47.567Z","1.74.4":"2024-11-24T13:41:13.889Z","1.74.5":"2024-11-24T23:28:03.354Z","1.75.0":"2024-11-25T03:33:07.556Z","1.75.1":"2024-11-25T09:35:00.812Z","1.75.2":"2024-11-25T23:30:57.371Z","1.75.3":"2024-11-26T04:45:59.262Z","1.75.4":"2024-11-26T10:34:04.809Z","1.76.0":"2024-11-27T00:38:29.743Z","1.76.1":"2024-11-27T11:45:43.652Z","1.76.2":"2024-11-28T05:21:59.809Z","1.76.3":"2024-11-28T10:48:59.773Z","1.77.0":"2024-12-01T07:50:32.278Z","1.77.1":"2024-12-01T23:33:07.376Z","1.77.2":"2024-12-02T13:38:06.628Z","1.77.3":"2024-12-03T03:23:49.166Z","1.77.4":"2024-12-03T11:22:17.161Z","1.77.5":"2024-12-03T12:25:21.071Z","1.77.6":"2024-12-03T23:58:42.474Z","1.77.7":"2024-12-04T23:08:19.144Z","1.77.8":"2024-12-05T09:02:49.034Z","1.77.9":"2024-12-06T05:22:36.130Z","1.78.0":"2024-12-06T14:01:05.366Z","1.78.1":"2024-12-07T14:42:37.826Z","1.78.2":"2024-12-08T23:02:45.766Z","1.78.3":"2024-12-09T08:17:29.573Z","1.78.4":"2024-12-10T09:17:52.487Z","1.78.5":"2024-12-10T23:02:01.221Z","1.78.6":"2024-12-11T11:01:31.484Z","1.78.7":"2024-12-12T00:05:37.204Z","1.78.8":"2024-12-12T10:36:23.709Z","1.78.9":"2024-12-12T23:02:13.270Z","1.78.10":"2024-12-14T00:26:08.932Z","1.78.11":"2024-12-15T00:21:31.893Z","1.78.12":"2024-12-17T07:05:31.893Z","1.78.13":"2024-12-19T06:05:16.127Z","1.78.14":"2024-12-19T23:02:20.062Z","1.78.15":"2024-12-20T12:49:10.586Z","1.78.16":"2024-12-21T06:57:13.233Z","1.78.17":"2024-12-21T11:50:27.257Z","1.78.18":"2024-12-21T15:03:59.125Z","1.79.0":"2024-12-22T21:46:12.000Z","1.80.0":"2024-12-23T10:03:09.159Z","1.81.0":"2024-12-23T21:29:26.141Z","1.81.1":"2024-12-24T13:31:06.513Z","1.81.2":"2024-12-25T11:33:53.538Z","1.82.0":"2024-12-26T05:22:41.710Z","1.82.1":"2024-12-26T10:03:28.110Z","1.82.2":"2024-12-26T13:43:44.540Z","1.82.3":"2024-12-28T07:02:49.092Z","1.83.0":"2024-12-29T01:04:15.160Z","1.84.0":"2024-12-29T05:46:42.698Z","1.84.1":"2024-12-29T07:16:33.715Z","1.84.2":"2025-01-01T00:23:41.151Z","1.84.3":"2025-01-01T10:28:07.706Z","1.84.4":"2025-01-02T14:09:28.737Z","1.84.5":"2025-01-03T00:21:34.687Z","1.84.6":"2025-01-03T10:06:25.501Z","1.85.0":"2025-01-04T01:11:18.101Z","1.85.1":"2025-01-04T12:52:39.988Z","1.85.2":"2025-01-04T14:06:52.099Z","1.85.3":"2025-01-06T06:00:43.941Z","1.85.4":"2025-01-07T09:41:09.546Z","1.86.0":"2025-01-07T23:18:46.131Z","1.86.1":"2025-01-08T04:16:44.239Z","1.86.2":"2025-01-08T04:53:27.727Z","1.86.3":"2025-01-08T13:27:37.665Z","1.87.0":"2025-01-08T14:33:09.883Z","1.87.1":"2025-01-09T05:30:15.966Z","1.87.2":"2025-01-09T07:25:14.700Z","1.87.3":"2025-01-09T09:46:30.326Z","1.87.4":"2025-01-10T08:01:36.825Z","1.87.5":"2025-01-12T09:43:15.279Z","1.87.6":"2025-01-14T12:04:57.797Z","1.87.7":"2025-01-14T23:58:04.142Z","1.87.8":"2025-01-15T03:24:44.290Z","1.88.0":"2025-01-15T04:04:29.948Z","1.88.1":"2025-01-15T08:28:46.295Z","1.88.2":"2025-01-16T02:59:46.837Z","1.88.3":"2025-01-16T12:49:07.331Z","1.88.4":"2025-01-16T15:01:16.460Z","1.88.5":"2025-01-17T08:11:41.565Z","1.89.0":"2025-01-17T12:36:32.929Z","1.89.1":"2025-01-17T13:05:06.359Z","1.89.2":"2025-01-19T02:31:06.682Z","1.89.3":"2025-01-20T12:13:13.238Z","1.89.4":"2025-01-21T00:09:46.878Z","1.89.5":"2025-01-21T03:51:05.510Z","1.89.6":"2025-01-21T08:58:55.776Z","1.89.7":"2025-01-21T23:43:11.912Z","1.89.8":"2025-01-22T02:34:45.683Z","1.89.9":"2025-01-22T07:16:13.504Z","1.89.10":"2025-01-22T23:02:18.105Z","1.89.11":"2025-01-23T07:06:59.079Z","1.89.12":"2025-01-23T23:02:59.653Z","1.90.0":"2025-01-24T09:21:08.436Z","1.90.1":"2025-01-25T10:16:39.650Z","1.90.2":"2025-01-27T01:34:33.790Z","1.91.0":"2025-01-27T03:10:54.882Z","1.91.1":"2025-01-27T15:51:58.431Z","1.91.2":"2025-01-28T13:04:46.245Z","1.91.3":"2025-01-30T16:56:55.490Z","1.91.4":"2025-02-01T15:56:42.200Z","1.91.5":"2025-02-02T00:40:43.000Z","1.91.6":"2025-02-02T12:01:10.463Z","1.92.0":"2025-02-03T13:13:05.006Z","1.92.1":"2025-02-03T23:29:43.176Z","1.92.2":"2025-02-04T10:45:02.897Z","1.92.3":"2025-02-05T00:55:22.273Z","1.93.0":"2025-02-05T01:57:17.695Z","1.93.1":"2025-02-05T03:20:12.152Z","1.93.2":"2025-02-06T01:39:42.143Z","1.93.3":"2025-02-06T13:47:20.507Z","1.93.4":"2025-02-06T15:42:55.152Z","1.93.5":"2025-02-07T00:36:03.854Z","1.93.6":"2025-02-07T03:06:55.283Z","1.93.7":"2025-02-07T11:23:40.531Z","1.93.8":"2025-02-08T02:13:56.862Z","1.94.0":"2025-02-08T04:46:16.302Z","1.94.1":"2025-02-08T09:13:42.356Z","1.94.2":"2025-02-08T10:54:24.387Z","1.94.3":"2025-02-09T02:27:17.964Z","1.94.4":"2025-02-09T06:23:46.446Z","1.94.5":"2025-02-10T04:14:07.494Z","1.94.6":"2025-02-10T14:12:18.348Z","1.94.7":"2025-02-10T15:29:04.328Z","1.94.8":"2025-02-11T03:07:10.360Z","1.94.9":"2025-02-11T09:08:49.949Z","1.95.0":"2025-02-11T23:43:40.141Z","1.95.1":"2025-02-12T07:59:17.670Z","1.95.2":"2025-02-13T05:26:19.577Z","1.95.3":"2025-02-13T06:31:19.221Z","1.95.4":"2025-02-13T23:10:45.393Z","1.95.5":"2025-02-14T07:20:31.413Z","1.96.0":"2025-02-14T14:38:08.174Z","1.97.0":"2025-02-14T15:24:06.698Z","1.97.1":"2025-02-15T07:05:14.364Z","1.98.0":"2025-02-16T03:10:49.107Z","1.99.0":"2025-02-16T15:01:51.217Z","1.100.0":"2025-02-16T16:15:52.322Z","1.101.0":"2025-02-17T12:24:13.213Z","1.101.1":"2025-02-18T01:14:46.168Z","1.102.0":"2025-02-18T23:49:09.890Z","1.102.1":"2025-02-19T23:54:01.198Z","1.103.0":"2025-02-20T05:38:09.646Z","1.103.1":"2025-02-20T07:17:42.019Z","1.103.2":"2025-02-20T09:52:51.623Z","1.103.3":"2025-02-20T23:07:44.440Z","1.103.4":"2025-02-22T04:23:35.772Z","1.103.5":"2025-02-22T10:55:39.877Z","1.103.6":"2025-02-23T12:56:17.019Z","1.104.0":"2025-02-24T00:27:35.874Z","1.104.1":"2025-02-24T05:18:58.439Z","1.105.0":"2025-02-25T12:12:40.522Z","1.106.0":"2025-02-26T04:32:24.019Z","1.107.0":"2025-02-27T07:21:08.657Z","1.107.1":"2025-02-28T01:52:14.524Z","1.107.2":"2025-02-28T07:39:47.697Z","1.108.0":"2025-03-02T13:16:01.797Z","1.108.1":"2025-03-02T23:37:13.526Z","1.109.0":"2025-03-03T15:07:16.098Z","1.109.1":"2025-03-03T23:49:31.600Z","1.109.2":"2025-03-05T12:18:45.587Z","1.109.3":"2025-03-06T10:14:35.874Z","1.109.4":"2025-03-06T23:18:01.231Z","1.110.0":"2025-03-08T13:12:58.573Z","1.110.1":"2025-03-09T14:47:20.289Z","1.111.0":"2025-03-11T00:32:48.154Z","1.111.1":"2025-03-13T10:04:51.617Z","1.112.0":"2025-03-14T23:59:11.630Z","1.112.1":"2025-03-15T07:08:19.025Z","1.112.2":"2025-03-16T00:29:41.274Z","1.112.3":"2025-03-17T05:49:07.254Z","1.112.4":"2025-03-17T12:51:52.504Z","1.113.0":"2025-03-18T11:17:27.047Z","1.113.1":"2025-03-19T11:13:15.169Z","1.114.0":"2025-03-20T09:55:20.428Z","1.115.0":"2025-03-22T03:34:22.210Z","1.115.1":"2025-03-23T23:53:13.632Z","1.115.2":"2025-03-24T11:58:31.113Z","1.115.3":"2025-03-25T04:33:31.240Z","1.115.4":"2025-03-25T14:46:30.738Z","1.116.0":"2025-03-27T09:40:23.425Z","1.116.1":"2025-03-28T11:33:47.020Z","1.117.0":"2025-03-29T14:04:21.056Z","1.117.1":"2025-03-30T09:46:26.658Z","1.117.2":"2025-04-01T00:07:51.841Z","1.117.3":"2025-04-02T00:06:37.701Z","1.117.4":"2025-04-03T07:41:17.648Z","1.117.5":"2025-04-06T03:23:15.106Z","1.117.6":"2025-04-06T12:57:21.444Z","1.117.7":"2025-04-07T00:04:40.944Z","1.117.8":"2025-04-09T03:21:57.295Z","1.118.0":"2025-04-10T00:28:14.234Z","1.118.1":"2025-04-10T07:51:45.703Z","1.118.2":"2025-04-13T07:33:11.957Z","1.118.3":"2025-04-15T05:40:20.437Z","1.119.0":"2025-04-16T12:18:18.110Z","1.119.1":"2025-04-17T02:05:54.608Z","1.119.2":"2025-04-17T14:23:09.529Z","1.120.0":"2025-04-18T06:29:56.266Z","1.120.1":"2025-04-20T03:08:02.339Z","1.120.2":"2025-04-22T05:15:26.657Z","1.121.0":"2025-04-23T03:36:02.313Z","1.121.1":"2025-04-24T03:01:50.266Z","1.121.2":"2025-04-24T03:51:25.600Z","1.121.3":"2025-04-25T03:17:04.412Z","1.121.4":"2025-04-26T15:06:44.798Z","1.121.5":"2025-04-27T03:24:02.992Z","1.122.0":"2025-04-27T10:07:01.126Z","1.122.1":"2025-04-27T13:11:48.760Z","1.122.2":"2025-04-28T01:35:52.115Z"},"bugs":{"url":"https://mr5ai.com/"},"author":{"name":"Mr. Ng","email":"mr.ng@mystudies.net"},"license":"MIT","homepage":"https://mr5ai.com/","keywords":["framework","chatbot","chatgpt","nextjs","vercel-ai","openai","azure-openai","visual-model","tts","stt"],"repository":{"type":"git","url":"git+https://github.com/bentwnghk/lobe-chat.git"},"description":"Mr.🆖 AI - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.","maintainers":[{"name":"bentwnghk","email":"mr.ng@mystudies.net"}],"readme":"<div align=\"center\"><a name=\"readme-top\"></a>\n\n[![][image-banner]][vercel-link]\n\n<h1>Lobe Chat</h1>\n\n现代化设计的开源 ChatGPT/LLMs 聊天应用与开发框架<br/>\n支持语音合成、多模态、可扩展的（[function call][docs-functionc-call]）插件系统<br/>\n一键**免费**拥有你自己的 ChatGPT/Gemini/Claude/Ollama 应用\n\n[English](./README.md) · **简体中文** · [官网][official-site] · [更新日志][changelog] · [文档][docs] · [博客][blog] · [反馈问题][github-issues-link]\n\n<!-- SHIELD GROUP -->\n\n[![][github-release-shield]][github-release-link]\n[![][docker-release-shield]][docker-release-link]\n[![][vercel-shield]][vercel-link]\n[![][discord-shield]][discord-link]<br/>\n[![][codecov-shield]][codecov-link]\n[![][github-action-test-shield]][github-action-test-link]\n[![][github-action-release-shield]][github-action-release-link]\n[![][github-releasedate-shield]][github-releasedate-link]<br/>\n[![][github-contributors-shield]][github-contributors-link]\n[![][github-forks-shield]][github-forks-link]\n[![][github-stars-shield]][github-stars-link]\n[![][github-issues-shield]][github-issues-link]\n[![][github-license-shield]][github-license-link]<br>\n[![][sponsor-shield]][sponsor-link]\n\n**分享 LobeChat 给你的好友**\n\n[![][share-x-shield]][share-x-link]\n[![][share-telegram-shield]][share-telegram-link]\n[![][share-whatsapp-shield]][share-whatsapp-link]\n[![][share-reddit-shield]][share-reddit-link]\n[![][share-weibo-shield]][share-weibo-link]\n[![][share-mastodon-shield]][share-mastodon-link]\n\n<sup>探索私人生产力的未来。在个体崛起的时代中为你打造.</sup>\n\n[![][github-trending-shield]][github-trending-url]\n[![][github-hello-shield]][github-hello-url]\n\n![][image-overview]\n\n</div>\n\n<details>\n<summary><kbd>目录树</kbd></summary>\n\n#### TOC\n\n- [👋🏻 开始使用 & 交流](#-开始使用--交流)\n- [✨ 特性一览](#-特性一览)\n  - [`1` 思维链 (CoT)](#1-思维链-cot)\n  - [`2` 分支对话](#2-分支对话)\n  - [`3` 支持白板 (Artifacts)](#3-支持白板-artifacts)\n  - [`4` 文件上传 / 知识库](#4-文件上传--知识库)\n  - [`5` 多模型服务商支持](#5-多模型服务商支持)\n  - [`6` 支持本地大语言模型 (LLM)](#6-支持本地大语言模型-llm)\n  - [`7` 模型视觉识别 (Model Visual)](#7-模型视觉识别-model-visual)\n  - [`8` TTS & STT 语音会话](#8-tts--stt-语音会话)\n  - [`9` Text to Image 文生图](#9-text-to-image-文生图)\n  - [`10` 插件系统 (Tools Calling)](#10-插件系统-tools-calling)\n  - [`11` 助手市场 (GPTs)](#11-助手市场-gpts)\n  - [`12` 支持本地 / 远程数据库](#12-支持本地--远程数据库)\n  - [`13` 支持多用户管理](#13-支持多用户管理)\n  - [`14` 渐进式 Web 应用 (PWA)](#14-渐进式-web-应用-pwa)\n  - [`15` 移动设备适配](#15-移动设备适配)\n  - [`16` 自定义主题](#16-自定义主题)\n  - [`*` 更多特性](#-更多特性)\n- [⚡️ 性能测试](#️-性能测试)\n- [🛳 开箱即用](#-开箱即用)\n  - [`A` 使用 Vercel、Zeabur 、Sealos 或 阿里云计算巢 部署](#a-使用-vercelzeabur-sealos-或-阿里云计算巢-部署)\n  - [`B` 使用 Docker 部署](#b-使用-docker-部署)\n  - [环境变量](#环境变量)\n  - [获取 OpenAI API Key](#获取-openai-api-key)\n- [📦 生态系统](#-生态系统)\n- [🧩 插件体系](#-插件体系)\n- [⌨️ 本地开发](#️-本地开发)\n- [🤝 参与贡献](#-参与贡献)\n- [❤ 社区赞助](#-社区赞助)\n- [🔗 更多工具](#-更多工具)\n\n####\n\n<br/>\n\n</details>\n\n## 👋🏻 开始使用 & 交流\n\n我们是一群充满热情的设计工程师，希望为 AIGC 提供现代化的设计组件和工具，并以开源的方式分享。\n同时通过 Bootstrapping 的方式，我们希望能够为开发者和用户提供一个更加开放、更加透明友好的产品生态。\n\n不论普通用户与专业开发者，LobeHub 旨在成为所有人的 AI Agent 实验场。LobeChat 目前正在积极开发中，有任何需求或者问题，欢迎提交 [issues][issues-link]\n\n| [![][vercel-shield-badge]][vercel-link]   | 无需安装或注册！访问我们的网站，快速体验                                     |\n| :---------------------------------------- | :--------------------------------------------------------------------------- |\n| [![][discord-shield-badge]][discord-link] | 加入我们的 Discord 社区！这是你可以与开发者和其他 LobeHub 热衷用户交流的地方 |\n\n> \\[!IMPORTANT]\n>\n> **收藏项目**，你将从 GitHub 上无延迟地接收所有发布通知～⭐️\n\n[![][image-star]][github-stars-link]\n\n<details><summary><kbd>Star History</kbd></summary>\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&theme=dark&type=Date\">\n    <img src=\"https://api.star-history.com/svg?repos=lobehub%2Flobe-chat&type=Date\">\n  </picture>\n</details>\n\n## ✨ 特性一览\n\n[![][image-feat-cot]][docs-feat-cot]\n\n### `1` [思维链 (CoT)][docs-feat-cot]\n\n体验前所未有的 AI 推理过程。通过创新的思维链（CoT）可视化功能，您可以实时观察复杂问题是如何一步步被解析的。这项突破性的功能为 AI 的决策过程提供了前所未有的透明度，让您能够清晰地了解结论是如何得出的。\n\n通过将复杂的推理过程分解为清晰的逻辑步骤，您可以更好地理解和验证 AI 的解题思路。无论您是在调试问题、学习知识，还是单纯对 AI 推理感兴趣，思维链可视化都能将抽象思维转化为一种引人入胜的互动体验。\n\n[![][back-to-top]](#readme-top)\n\n[![][image-feat-branch]][docs-feat-branch]\n\n### `2` [分支对话][docs-feat-branch]\n\n为您带来更自然、更灵活的 AI 对话方式。通过分支对话功能，您的讨论可以像人类对话一样自然延伸。在任意消息处创建新的对话分支，让您在保留原有上下文的同时，自由探索不同的对话方向。\n\n两种强大模式任您选择：\n\n- **延续模式**：无缝延展当前讨论，保持宝贵的对话上下文\n- **独立模式**：基于任意历史消息，开启全新话题探讨\n\n这项突破性功能将线性对话转变为动态的树状结构，让您能够更深入地探索想法，实现更高效的互动体验。\n\n[![][back-to-top]](#readme-top)\n\n[![][image-feat-artifacts]][docs-feat-artifacts]\n\n### `3` [支持白板 (Artifacts)][docs-feat-artifacts]\n\n体验集成于 LobeChat 的 Claude Artifacts 能力。这项革命性功能突破了 AI 人机交互的边界，让您能够实时创建和可视化各种格式的内容。\n\n以前所未有的灵活度进行创作与可视化：\n\n- 生成并展示动态 SVG 图形\n- 实时构建与渲染交互式 HTML 页面\n- 输出多种格式的专业文档\n\n[![][back-to-top]](#readme-top)\n\n[![][image-feat-knowledgebase]][docs-feat-knowledgebase]\n\n### `4` [文件上传 / 知识库][docs-feat-knowledgebase]\n\nLobeChat 支持文件上传与知识库功能，你可以上传文件、图片、音频、视频等多种类型的文件，以及创建知识库，方便用户管理和查找文件。同时在对话中使用文件和知识库功能，实现更加丰富的对话体验。\n\n<https://github.com/user-attachments/assets/faa8cf67-e743-4590-8bf6-ebf6ccc34175>\n\n> \\[!TIP]\n>\n> 查阅 [📘 LobeChat 知识库上线 —— 此刻起，跬步千里](https://lobehub.com/zh/blog/knowledge-base) 了解详情。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-privoder]][docs-feat-provider]\n\n### `5` [多模型服务商支持][docs-feat-provider]\n\n在 LobeChat 的不断发展过程中，我们深刻理解到在提供 AI 会话服务时模型服务商的多样性对于满足社区需求的重要性。因此，我们不再局限于单一的模型服务商，而是拓展了对多种模型服务商的支持，以便为用户提供更为丰富和多样化的会话选择。\n\n通过这种方式，LobeChat 能够更灵活地适应不同用户的需求，同时也为开发者提供了更为广泛的选择空间。\n\n#### 已支持的模型服务商\n\n我们已经实现了对以下模型服务商的支持：\n\n<!-- PROVIDER LIST -->\n\n- **[Mr.🆖 AI Hub](https://lobechat.com/discover/provider/openai)**: Mr.🆖 AI Hub 提供比官方便宜的全球主流 AI 模型 API 接口服务，包括 OpenAI GPT、Anthropic Claude、Google Gemini、Meta Llama、xAI Grok、Mistral、Perplexity、DeepSeek 等大型语言模型 (LLM)，高速、高稳定、高并发，且绝不封号、无需 VPN 魔法上网，计费采用额度消耗制，随时充值，且无使用时限。\n- **[Ollama](https://lobechat.com/discover/provider/ollama)**: Ollama 提供的模型广泛涵盖代码生成、数学运算、多语种处理和对话互动等领域，支持企业级和本地化部署的多样化需求。\n- **[Anthropic](https://lobechat.com/discover/provider/anthropic)**: Anthropic 是一家专注于人工智能研究和开发的公司，提供了一系列先进的语言模型，如 Claude 3.5 Sonnet、Claude 3 Sonnet、Claude 3 Opus 和 Claude 3 Haiku。这些模型在智能、速度和成本之间取得了理想的平衡，适用于从企业级工作负载到快速响应的各种应用场景。Claude 3.5 Sonnet 作为其最新模型，在多项评估中表现优异，同时保持了较高的性价比。\n- **[Bedrock](https://lobechat.com/discover/provider/bedrock)**: Bedrock 是亚马逊 AWS 提供的一项服务，专注于为企业提供先进的 AI 语言模型和视觉模型。其模型家族包括 Anthropic 的 Claude 系列、Meta 的 Llama 3.1 系列等，涵盖从轻量级到高性能的多种选择，支持文本生成、对话、图像处理等多种任务，适用于不同规模和需求的企业应用。\n- **[Google](https://lobechat.com/discover/provider/google)**: Google 的 Gemini 系列是其最先进、通用的 AI 模型，由 Google DeepMind 打造，专为多模态设计，支持文本、代码、图像、音频和视频的无缝理解与处理。适用于从数据中心到移动设备的多种环境，极大提升了 AI 模型的效率与应用广泛性。\n- **[DeepSeek](https://lobechat.com/discover/provider/deepseek)**: DeepSeek 是一家专注于人工智能技术研究和应用的公司，其最新模型 DeepSeek-V3 多项评测成绩超越 Qwen2.5-72B 和 Llama-3.1-405B 等开源模型，性能对齐领军闭源模型 GPT-4o 与 Claude-3.5-Sonnet。\n- **[PPIO](https://lobechat.com/discover/provider/ppio)**: PPIO 派欧云提供稳定、高性价比的开源模型 API 服务，支持 DeepSeek 全系列、Llama、Qwen 等行业领先大模型。\n- **[HuggingFace](https://lobechat.com/discover/provider/huggingface)**: HuggingFace Inference API 提供了一种快速且免费的方式，让您可以探索成千上万种模型，适用于各种任务。无论您是在为新应用程序进行原型设计，还是在尝试机器学习的功能，这个 API 都能让您即时访问多个领域的高性能模型。\n- **[OpenRouter](https://lobechat.com/discover/provider/openrouter)**: OpenRouter 是一个提供多种前沿大模型接口的服务平台，支持 OpenAI、Anthropic、LLaMA 及更多，适合多样化的开发和应用需求。用户可根据自身需求灵活选择最优的模型和价格，助力 AI 体验的提升。\n- **[Cloudflare Workers AI](https://lobechat.com/discover/provider/cloudflare)**: 在 Cloudflare 的全球网络上运行由无服务器 GPU 驱动的机器学习模型。\n\n<details><summary><kbd>See more providers (+30)</kbd></summary>\n\n- **[GitHub](https://lobechat.com/discover/provider/github)**: 通过 GitHub 模型，开发人员可以成为 AI 工程师，并使用行业领先的 AI 模型进行构建。\n- **[Novita](https://lobechat.com/discover/provider/novita)**: Novita AI 是一个提供多种大语言模型与 AI 图像生成的 API 服务的平台，灵活、可靠且具有成本效益。它支持 Llama3、Mistral 等最新的开源模型，并为生成式 AI 应用开发提供了全面、用户友好且自动扩展的 API 解决方案，适合 AI 初创公司的快速发展。\n- **[PPIO](https://lobechat.com/discover/provider/ppio)**: PPIO 派欧云提供稳定、高性价比的开源模型 API 服务，支持 DeepSeek 全系列、Llama、Qwen 等行业领先大模型。\n- **[Together AI](https://lobechat.com/discover/provider/togetherai)**: Together AI 致力于通过创新的 AI 模型实现领先的性能，提供广泛的自定义能力，包括快速扩展支持和直观的部署流程，满足企业的各种需求。\n- **[Fireworks AI](https://lobechat.com/discover/provider/fireworksai)**: Fireworks AI 是一家领先的高级语言模型服务商，专注于功能调用和多模态处理。其最新模型 Firefunction V2 基于 Llama-3，优化用于函数调用、对话及指令跟随。视觉语言模型 FireLLaVA-13B 支持图像和文本混合输入。其他 notable 模型包括 Llama 系列和 Mixtral 系列，提供高效的多语言指令跟随与生成支持。\n- **[Groq](https://lobechat.com/discover/provider/groq)**: Groq 的 LPU 推理引擎在最新的独立大语言模型（LLM）基准测试中表现卓越，以其惊人的速度和效率重新定义了 AI 解决方案的标准。Groq 是一种即时推理速度的代表，在基于云的部署中展现了良好的性能。\n- **[Perplexity](https://lobechat.com/discover/provider/perplexity)**: Perplexity 是一家领先的对话生成模型提供商，提供多种先进的 Llama 3.1 模型，支持在线和离线应用，特别适用于复杂的自然语言处理任务。\n- **[Mistral](https://lobechat.com/discover/provider/mistral)**: Mistral 提供先进的通用、专业和研究型模型，广泛应用于复杂推理、多语言任务、代码生成等领域，通过功能调用接口，用户可以集成自定义功能，实现特定应用。\n- **[Ai21Labs](https://lobechat.com/discover/provider/ai21)**: AI21 Labs 为企业构建基础模型和人工智能系统，加速生成性人工智能在生产中的应用。\n- **[Upstage](https://lobechat.com/discover/provider/upstage)**: Upstage 专注于为各种商业需求开发 AI 模型，包括 Solar LLM 和文档 AI，旨在实现工作的人造通用智能（AGI）。通过 Chat API 创建简单的对话代理，并支持功能调用、翻译、嵌入以及特定领域应用。\n- **[xAI](https://lobechat.com/discover/provider/xai)**: xAI 是一家致力于构建人工智能以加速人类科学发现的公司。我们的使命是推动我们对宇宙的共同理解。\n- **[Qwen](https://lobechat.com/discover/provider/qwen)**: 通义千问是阿里云自主研发的超大规模语言模型，具有强大的自然语言理解和生成能力。它可以回答各种问题、创作文字内容、表达观点看法、撰写代码等，在多个领域发挥作用。\n- **[Wenxin](https://lobechat.com/discover/provider/wenxin)**: 企业级一站式大模型与 AI 原生应用开发及服务平台，提供最全面易用的生成式人工智能模型开发、应用开发全流程工具链\n- **[Hunyuan](https://lobechat.com/discover/provider/hunyuan)**: 由腾讯研发的大语言模型，具备强大的中文创作能力，复杂语境下的逻辑推理能力，以及可靠的任务执行能力\n- **[ZhiPu](https://lobechat.com/discover/provider/zhipu)**: 智谱 AI 提供多模态与语言模型的开放平台，支持广泛的 AI 应用场景，包括文本处理、图像理解与编程辅助等。\n- **[SiliconCloud](https://lobechat.com/discover/provider/siliconcloud)**: SiliconCloud，基于优秀开源基础模型的高性价比 GenAI 云服务\n- **[01.AI](https://lobechat.com/discover/provider/zeroone)**: 零一万物致力于推动以人为本的 AI 2.0 技术革命，旨在通过大语言模型创造巨大的经济和社会价值，并开创新的 AI 生态与商业模式。\n- **[Spark](https://lobechat.com/discover/provider/spark)**: 科大讯飞星火大模型提供多领域、多语言的强大 AI 能力，利用先进的自然语言处理技术，构建适用于智能硬件、智慧医疗、智慧金融等多种垂直场景的创新应用。\n- **[SenseNova](https://lobechat.com/discover/provider/sensenova)**: 商汤日日新，依托商汤大装置的强大的基础支撑，提供高效易用的全栈大模型服务。\n- **[Stepfun](https://lobechat.com/discover/provider/stepfun)**: 阶级星辰大模型具备行业领先的多模态及复杂推理能力，支持超长文本理解和强大的自主调度搜索引擎功能。\n- **[Moonshot](https://lobechat.com/discover/provider/moonshot)**: Moonshot 是由北京月之暗面科技有限公司推出的开源平台，提供多种自然语言处理模型，应用领域广泛，包括但不限于内容创作、学术研究、智能推荐、医疗诊断等，支持长文本处理和复杂生成任务。\n- **[Baichuan](https://lobechat.com/discover/provider/baichuan)**: 百川智能是一家专注于人工智能大模型研发的公司，其模型在国内知识百科、长文本处理和生成创作等中文任务上表现卓越，超越了国外主流模型。百川智能还具备行业领先的多模态能力，在多项权威评测中表现优异。其模型包括 Baichuan 4、Baichuan 3 Turbo 和 Baichuan 3 Turbo 128k 等，分别针对不同应用场景进行优化，提供高性价比的解决方案。\n- **[Minimax](https://lobechat.com/discover/provider/minimax)**: MiniMax 是 2021 年成立的通用人工智能科技公司，致力于与用户共创智能。MiniMax 自主研发了不同模态的通用大模型，其中包括万亿参数的 MoE 文本大模型、语音大模型以及图像大模型。并推出了海螺 AI 等应用。\n- **[InternLM](https://lobechat.com/discover/provider/internlm)**: 致力于大模型研究与开发工具链的开源组织。为所有 AI 开发者提供高效、易用的开源平台，让最前沿的大模型与算法技术触手可及\n- **[Higress](https://lobechat.com/discover/provider/higress)**: Higress 是一款云原生 API 网关，在阿里内部为解决 Tengine reload 对长连接业务有损，以及 gRPC/Dubbo 负载均衡能力不足而诞生。\n- **[Gitee AI](https://lobechat.com/discover/provider/giteeai)**: Gitee AI 的 Serverless API 为 AI 开发者提供开箱即用的大模型推理 API 服务。\n- **[Taichu](https://lobechat.com/discover/provider/taichu)**: 中科院自动化研究所和武汉人工智能研究院推出新一代多模态大模型，支持多轮问答、文本创作、图像生成、3D 理解、信号分析等全面问答任务，拥有更强的认知、理解、创作能力，带来全新互动体验。\n- **[360 AI](https://lobechat.com/discover/provider/ai360)**: 360 AI 是 360 公司推出的 AI 模型和服务平台，提供多种先进的自然语言处理模型，包括 360GPT2 Pro、360GPT Pro、360GPT Turbo 和 360GPT Turbo Responsibility 8K。这些模型结合了大规模参数和多模态能力，广泛应用于文本生成、语义理解、对话系统与代码生成等领域。通过灵活的定价策略，360 AI 满足多样化用户需求，支持开发者集成，推动智能化应用的革新和发展。\n- **[Search1API](https://lobechat.com/discover/provider/search1api)**: Search1API 提供可根据需要自行联网的 DeepSeek 系列模型的访问，包括标准版和快速版本，支持多种参数规模的模型选择。\n- **[InfiniAI](https://lobechat.com/discover/provider/infiniai)**: 为应用开发者提供高性能、易上手、安全可靠的大模型服务，覆盖从大模型开发到大模型服务化部署的全流程。\n\n</details>\n\n> 📊 Total providers: [<kbd>**40**</kbd>](https://lobechat.com/discover/providers)\n\n <!-- PROVIDER LIST -->\n\n同时，我们也在计划支持更多的模型服务商，以进一步丰富我们的服务商库。如果你希望让 LobeChat 支持你喜爱的服务商，欢迎加入我们的 [💬 社区讨论](https://github.com/lobehub/lobe-chat/discussions/6157)。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-local]][docs-feat-local]\n\n### `6` [支持本地大语言模型 (LLM)][docs-feat-local]\n\n为了满足特定用户的需求，LobeChat 还基于 [Ollama](https://ollama.ai) 支持了本地模型的使用，让用户能够更灵活地使用自己的或第三方的模型。\n\n> \\[!TIP]\n>\n> 查阅 [📘 在 LobeChat 中使用 Ollama][docs-usage-ollama] 获得更多信息\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-vision]][docs-feat-vision]\n\n### `7` [模型视觉识别 (Model Visual)][docs-feat-vision]\n\nLobeChat 已经支持 OpenAI 最新的 [`gpt-4-vision`](https://platform.openai.com/docs/guides/vision) 支持视觉识别的模型，这是一个具备视觉识别能力的多模态应用。\n用户可以轻松上传图片或者拖拽图片到对话框中，助手将能够识别图片内容，并在此基础上进行智能对话，构建更智能、更多元化的聊天场景。\n\n这一特性打开了新的互动方式，使得交流不再局限于文字，而是可以涵盖丰富的视觉元素。无论是日常使用中的图片分享，还是在特定行业内的图像解读，助手都能提供出色的对话体验。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-tts]][docs-feat-tts]\n\n### `8` [TTS & STT 语音会话][docs-feat-tts]\n\nLobeChat 支持文字转语音（Text-to-Speech，TTS）和语音转文字（Speech-to-Text，STT）技术，这使得我们的应用能够将文本信息转化为清晰的语音输出，用户可以像与真人交谈一样与我们的对话助手进行交流。\n用户可以从多种声音中选择，给助手搭配合适的音源。 同时，对于那些倾向于听觉学习或者想要在忙碌中获取信息的用户来说，TTS 提供了一个极佳的解决方案。\n\n在 LobeChat 中，我们精心挑选了一系列高品质的声音选项 (OpenAI Audio, Microsoft Edge Speech)，以满足不同地域和文化背景用户的需求。用户可以根据个人喜好或者特定场景来选择合适的语音，从而获得个性化的交流体验。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-t2i]][docs-feat-t2i]\n\n### `9` [Text to Image 文生图][docs-feat-t2i]\n\n支持最新的文本到图片生成技术，LobeChat 现在能够让用户在与助手对话中直接调用文生图工具进行创作。\n通过利用 [`DALL-E 3`](https://openai.com/dall-e-3)、[`MidJourney`](https://www.midjourney.com/) 和 [`Pollinations`](https://pollinations.ai/) 等 AI 工具的能力， 助手们现在可以将你的想法转化为图像。\n同时可以更私密和沉浸式地完成你的创作过程。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-plugin]][docs-feat-plugin]\n\n### `10` [插件系统 (Tools Calling)][docs-feat-plugin]\n\nLobeChat 的插件生态系统是其核心功能的重要扩展，它极大地增强了 ChatGPT 的实用性和灵活性。\n\n<video controls src=\"https://github.com/lobehub/lobe-chat/assets/28616219/f29475a3-f346-4196-a435-41a6373ab9e2\" muted=\"false\"></video>\n\n通过利用插件，ChatGPT 能够实现实时信息的获取和处理，例如自动获取最新新闻头条，为用户提供即时且相关的资讯。\n\n此外，这些插件不仅局限于新闻聚合，还可以扩展到其他实用的功能，如快速检索文档、生成图象、获取电商平台数据，以及其他各式各样的第三方服务。\n\n> 通过文档了解更多 [📘 插件使用][docs-usage-plugin]\n\n<!-- PLUGIN LIST -->\n\n| 最近新增                                                                                                                   | 描述                                                                               |\n| -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |\n| [PortfolioMeta](https://lobechat.com/discover/plugin/StockData)<br/><sup>By **portfoliometa** on **2025-03-23**</sup>      | 分析股票并获取全面的实时投资数据和分析。<br/>`股票`                                |\n| [网页](https://lobechat.com/discover/plugin/web)<br/><sup>By **Proghit** on **2025-01-24**</sup>                           | 智能网页搜索，读取和分析页面，以提供来自 Google 结果的全面答案。<br/>`网页` `搜索` |\n| [MintbaseSearch](https://lobechat.com/discover/plugin/mintbasesearch)<br/><sup>By **mintbase** on **2024-12-31**</sup>     | 在 NEAR 协议上查找任何 NFT 数据。<br/>`加密货币` `nft`                             |\n| [必应网页搜索](https://lobechat.com/discover/plugin/Bingsearch-identifier)<br/><sup>By **FineHow** on **2024-12-22**</sup> | 通过 BingApi 搜索互联网上的信息<br/>`bingsearch`                                   |\n\n> 📊 Total plugins: [<kbd>**45**</kbd>](https://lobechat.com/discover/plugins)\n\n <!-- PLUGIN LIST -->\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-agent]][docs-feat-agent]\n\n### `11` [助手市场 (GPTs)][docs-feat-agent]\n\n在 LobeChat 的助手市场中，创作者们可以发现一个充满活力和创新的社区，它汇聚了众多精心设计的助手，这些助手不仅在工作场景中发挥着重要作用，也在学习过程中提供了极大的便利。\n我们的市场不仅是一个展示平台，更是一个协作的空间。在这里，每个人都可以贡献自己的智慧，分享个人开发的助手。\n\n> \\[!TIP]\n>\n> 通过 [🤖/🏪 提交助手][submit-agents-link] ，你可以轻松地将你的助手作品提交到我们的平台。我们特别强调的是，LobeChat 建立了一套精密的自动化国际化（i18n）工作流程， 它的强大之处在于能够无缝地将你的助手转化为多种语言版本。\n> 这意味着，不论你的用户使用何种语言，他们都能无障碍地体验到你的助手。\n\n> \\[!IMPORTANT]\n>\n> 我欢迎所有用户加入这个不断成长的生态系统，共同参与到助手的迭代与优化中来。共同创造出更多有趣、实用且具有创新性的助手，进一步丰富助手的多样性和实用性。\n\n<!-- AGENT LIST -->\n\n| 最近新增                                                                                                                                                                         | 描述                                                                                          |\n| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |\n| [学术论文综述专家](https://lobechat.com/discover/assistant/academic-paper-overview)<br/><sup>By **[arvinxx](https://github.com/arvinxx)** on **2025-03-11**</sup>                | 擅长高质量文献检索与分析的学术研究助手<br/>`学术研究` `文献检索` `数据分析` `信息提取` `咨询` |\n| [Cron 表达式助手](https://lobechat.com/discover/assistant/crontab-generate)<br/><sup>By **[edgesider](https://github.com/edgesider)** on **2025-02-17**</sup>                    | Crontab 表达式生成<br/>`crontab` `时间表达` `触发时间` `生成器` `技术辅助`                    |\n| [小智法语翻译助手](https://lobechat.com/discover/assistant/xiao-zhi-french-translation-asst-v-1)<br/><sup>By **[WeR-Best](https://github.com/WeR-Best)** on **2025-02-10**</sup> | 友好、专业、富有同理心的法语翻译 AI 助手<br/>`ai助手` `法语翻译` `跨文化交流` `创造力`        |\n| [投资小助手](https://lobechat.com/discover/assistant/graham-investmentassi)<br/><sup>By **[farsightlin](https://github.com/farsightlin)** on **2025-02-06**</sup>                | 帮助用户计算估值所需的一些数据<br/>`投资` `估值` `财务分析` `计算器`                          |\n\n> 📊 Total agents: [<kbd>**488**</kbd> ](https://lobechat.com/discover/assistants)\n\n <!-- AGENT LIST -->\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-database]][docs-feat-database]\n\n### `12` [支持本地 / 远程数据库][docs-feat-database]\n\nLobeChat 支持同时使用服务端数据库和本地数据库。根据您的需求，您可以选择合适的部署方案：\n\n- 本地数据库：适合希望对数据有更多掌控感和隐私保护的用户。LobeChat 采用了 CRDT (Conflict-Free Replicated Data Type) 技术，实现了多端同步功能。这是一项实验性功能，旨在提供无缝的数据同步体验。\n- 服务端数据库：适合希望更便捷使用体验的用户。LobeChat 支持 PostgreSQL 作为服务端数据库。关于如何配置服务端数据库的详细文档，请前往 [配置服务端数据库](https://lobehub.com/zh/docs/self-hosting/advanced/server-database)。\n\n无论您选择哪种数据库，LobeChat 都能为您提供卓越的用户体验。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-auth]][docs-feat-auth]\n\n### `13` [支持多用户管理][docs-feat-auth]\n\nLobeChat 支持多用户管理，提供了两种主要的用户认证和管理方案，以满足不同需求：\n\n- **next-auth**：LobeChat 集成了 `next-auth`，一个灵活且强大的身份验证库，支持多种身份验证方式，包括 OAuth、邮件登录、凭证登录等。通过 `next-auth`，您可以轻松实现用户的注册、登录、会话管理以及社交登录等功能，确保用户数据的安全性和隐私性。\n\n- [**Clerk**](https://go.clerk.com/exgqLG0)：对于需要更高级用户管理功能的用户，LobeChat 还支持 `Clerk`，一个现代化的用户管理平台。`Clerk` 提供了更丰富的功能，如多因素认证 (MFA)、白名单、用户管理、登录活动监控等。通过 `Clerk`，您可以获得更高的安全性和灵活性，轻松应对生产级的用户管理需求。\n\n您可以根据自己的需求，选择合适的用户管理方案。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-pwa]][docs-feat-pwa]\n\n### `14` [渐进式 Web 应用 (PWA)][docs-feat-pwa]\n\n我们深知在当今多设备环境下为用户提供无缝体验的重要性。为此，我们采用了渐进式 Web 应用 [PWA](https://support.google.com/chrome/answer/9658361) 技术，\n这是一种能够将网页应用提升至接近原生应用体验的现代 Web 技术。通过 PWA，LobeChat 能够在桌面和移动设备上提供高度优化的用户体验，同时保持轻量级和高性能的特点。\n在视觉和感觉上，我们也经过精心设计，以确保它的界面与原生应用无差别，提供流畅的动画、响应式布局和适配不同设备的屏幕分辨率。\n\n> \\[!NOTE]\n>\n> 若您未熟悉 PWA 的安装过程，您可以按照以下步骤将 LobeChat 添加为您的桌面应用（也适用于移动设备）：\n>\n> - 在电脑上运行 Chrome 或 Edge 浏览器 .\n> - 访问 LobeChat 网页 .\n> - 在地址栏的右上角，单击 <kbd>安装</kbd> 图标 .\n> - 根据屏幕上的指示完成 PWA 的安装 .\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-mobile]][docs-feat-mobile]\n\n### `15` [移动设备适配][docs-feat-mobile]\n\n针对移动设备进行了一系列的优化设计，以提升用户的移动体验。目前，我们正在对移动端的用户体验进行版本迭代，以实现更加流畅和直观的交互。如果您有任何建议或想法，我们非常欢迎您通过 GitHub Issues 或者 Pull Requests 提供反馈。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n[![][image-feat-theme]][docs-feat-theme]\n\n### `16` [自定义主题][docs-feat-theme]\n\n作为设计工程师出身，LobeChat 在界面设计上充分考虑用户的个性化体验，因此引入了灵活多变的主题模式，其中包括日间的亮色模式和夜间的深色模式。\n除了主题模式的切换，还提供了一系列的颜色定制选项，允许用户根据自己的喜好来调整应用的主题色彩。无论是想要沉稳的深蓝，还是希望活泼的桃粉，或者是专业的灰白，用户都能够在 LobeChat 中找到匹配自己风格的颜色选择。\n\n> \\[!TIP]\n>\n> 默认配置能够智能地识别用户系统的颜色模式，自动进行主题切换，以确保应用界面与操作系统保持一致的视觉体验。对于喜欢手动调控细节的用户，LobeChat 同样提供了直观的设置选项，针对聊天场景也提供了对话气泡模式和文档模式的选择。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n### `*` 更多特性\n\n除了上述功能特性以外，LobeChat 所具有的设计和技术能力将为你带来更多使用保障：\n\n- [x] 💎 **精致 UI 设计**：经过精心设计的界面，具有优雅的外观和流畅的交互效果，支持亮暗色主题，适配移动端。支持 PWA，提供更加接近原生应用的体验。\n- [x] 🗣️ **流畅的对话体验**：流式响应带来流畅的对话体验，并且支持完整的 Markdown 渲染，包括代码高亮、LaTex 公式、Mermaid 流程图等。\n- [x] 💨 **快速部署**：使用 Vercel 平台或者我们的 Docker 镜像，只需点击一键部署按钮，即可在 1 分钟内完成部署，无需复杂的配置过程。\n- [x] 🔒 **隐私安全**：所有数据保存在用户浏览器本地，保证用户的隐私安全。\n- [x] 🌐 **自定义域名**：如果用户拥有自己的域名，可以将其绑定到平台上，方便在任何地方快速访问对话助手。\n\n> ✨ 随着产品迭代持续更新，我们将会带来更多更多令人激动的功能！\n\n---\n\n> \\[!NOTE]\n>\n> 你可以在 Projects 中找到我们后续的 [Roadmap][github-project-link] 计划\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## ⚡️ 性能测试\n\n> \\[!NOTE]\n>\n> 完整测试报告可见 [📘 Lighthouse 性能测试][docs-lighthouse]\n\n|                    Desktop                    |                    Mobile                    |\n| :-------------------------------------------: | :------------------------------------------: |\n|               ![][chat-desktop]               |               ![][chat-mobile]               |\n| [📑 Lighthouse 测试报告][chat-desktop-report] | [📑 Lighthouse 测试报告][chat-mobile-report] |\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 🛳 开箱即用\n\nLobeChat 提供了 Vercel 的 自托管版本 和 [Docker 镜像][docker-release-link]，这使你可以在几分钟内构建自己的聊天机器人，无需任何基础知识。\n\n> \\[!TIP]\n>\n> 完整教程请查阅 [📘 构建属于自己的 Lobe Chat][docs-self-hosting]\n\n### `A` 使用 Vercel、Zeabur 、Sealos 或 阿里云计算巢 部署\n\n如果想在 Vercel 、 Zeabur 或 阿里云 上部署该服务，可以按照以下步骤进行操作：\n\n- 准备好你的 [OpenAI API Key](https://platform.openai.com/account/api-keys) 。\n- 点击下方按钮开始部署： 直接使用 GitHub 账号登录即可，记得在环境变量页填入 `OPENAI_API_KEY` （必填） and `ACCESS_CODE`（推荐）；\n- 部署完毕后，即可开始使用；\n- 绑定自定义域名（可选）：Vercel 分配的域名 DNS 在某些区域被污染了，绑定自定义域名即可直连。目前 Zeabur 提供的域名还未被污染，大多数地区都可以直连。\n\n<div align=\"center\">\n\n|            使用 Vercel 部署             |                      使用 Zeabur 部署                       |                      使用 Sealos 部署                       |                           使用阿里云计算巢部署                            |\n| :-------------------------------------: | :---------------------------------------------------------: | :---------------------------------------------------------: | :-----------------------------------------------------------------------: |\n| [![][deploy-button-image]][deploy-link] | [![][deploy-on-zeabur-button-image]][deploy-on-zeabur-link] | [![][deploy-on-sealos-button-image]][deploy-on-sealos-link] | [![][deploy-on-alibaba-cloud-button-image]][deploy-on-alibaba-cloud-link] |\n\n</div>\n\n#### Fork 之后\n\n在 Fork 后，请只保留 \"upstream sync\" Action 并在你 fork 的 GitHub Repo 中禁用其他 Action。\n\n#### 保持更新\n\n如果你根据 README 中的一键部署步骤部署了自己的项目，你可能会发现总是被提示 “有可用更新”。这是因为 Vercel 默认为你创建新项目而非 fork 本项目，这将导致无法准确检测更新。\n\n> \\[!TIP]\n>\n> 我们建议按照 [📘 自动同步更新][docs-upstream-sync] 步骤重新部署。\n\n<br/>\n\n### `B` 使用 Docker 部署\n\n[![][docker-release-shield]][docker-release-link]\n[![][docker-size-shield]][docker-size-link]\n[![][docker-pulls-shield]][docker-pulls-link]\n\nWe provide a Docker image for deploying the LobeChat service on your own private device. Use the following command to start the LobeChat service:\n\n1. create a folder to for storage files\n\n```fish\n$ mkdir lobe-chat-db && cd lobe-chat-db\n```\n\n2. 启动一键脚本\n\n```fish\nbash <(curl -fsSL https://lobe.li/setup.sh) -l zh_CN\n```\n\n3. 启动 LobeChat\n\n```fish\ndocker compose up -d\n```\n\n> \\[!NOTE]\n>\n> 有关 Docker 部署的详细说明，详见 [📘 使用 Docker 部署][docs-docker]\n\n<br/>\n\n### 环境变量\n\n本项目提供了一些额外的配置项，使用环境变量进行设置：\n\n| 环境变量            | 类型 | 描述                                                                                                                          | 示例                                                                                                   |\n| ------------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |\n| `OPENAI_API_KEY`    | 必选 | 这是你在 OpenAI 账户页面申请的 API 密钥                                                                                       | `sk-xxxxxx...xxxxxx`                                                                                   |\n| `OPENAI_PROXY_URL`  | 可选 | 如果你手动配置了 OpenAI 接口代理，可以使用此配置项来覆盖默认的 OpenAI API 请求基础 URL                                        | `https://api.chatanywhere.cn` 或 `https://aihubmix.com/v1`<br/>默认值:<br/>`https://api.openai.com/v1` |\n| `ACCESS_CODE`       | 可选 | 添加访问此服务的密码，你可以设置一个长密码以防被爆破，该值用逗号分隔时为密码数组                                              | `awCTe)re_r74` or `rtrt_ewee3@09!` or `code1,code2,code3`                                              |\n| `OPENAI_MODEL_LIST` | 可选 | 用来控制模型列表，使用 `+` 增加一个模型，使用 `-` 来隐藏一个模型，使用 `模型名=展示名` 来自定义模型的展示名，用英文逗号隔开。 | `qwen-7b-chat,+glm-6b,-gpt-3.5-turbo`                                                                  |\n\n> \\[!NOTE]\n>\n> 完整环境变量可见 [📘 环境变量][docs-env-var]\n\n<br/>\n\n### 获取 OpenAI API Key\n\nAPI Key 是使用 LobeChat 进行大语言模型会话的必要信息，本节以 OpenAI 模型服务商为例，简要介绍获取 API Key 的方式。\n\n#### `A` 通过 OpenAI 官方渠道\n\n- 注册一个 [OpenAI 账户](https://platform.openai.com/signup)，你需要使用国际手机号、非大陆邮箱进行注册；\n- 注册完毕后，前往 [API Keys](https://platform.openai.com/api-keys) 页面，点击 `Create new secret key` 创建新的 API Key:\n\n| 步骤 1：打开创建窗口                                                                                                                               | 步骤 2：创建 API Key                                                                                                                               | 步骤 3：获取 API Key                                                                                                                               |\n| -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |\n| <img src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296253192-ff2193dd-f125-4e58-82e8-91bc376c0d68.png\" height=\"200\"/> | <img src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296254170-803bacf0-4471-4171-ae79-0eab08d621d1.png\" height=\"200\"/> | <img src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/28616219/296255167-f2745f2b-f083-4ba8-bc78-9b558e0002de.png\" height=\"200\"/> |\n\n- 将此 API Key 填写到 LobeChat 的 API Key 配置中，即可开始使用。\n\n> \\[!TIP]\n>\n> 账户注册后，一般有 5 美元的免费额度，但有效期只有三个月。\n> 如果你希望长期使用你的 API Key，你需要完成支付的信用卡绑定。由于 OpenAI 只支持外币信用卡，因此你需要找到合适的支付渠道，此处不再详细展开。\n\n<br/>\n\n#### `B` 通过 OpenAI 第三方代理商\n\n如果你发现注册 OpenAI 账户或者绑定外币信用卡比较麻烦，可以考虑借助一些知名的 OpenAI 第三方代理商来获取 API Key，这可以有效降低获取 OpenAI API Key 的门槛。但与此同时，一旦使用三方服务，你可能也需要承担潜在的风险，\n请根据你自己的实际情况自行决策。以下是常见的第三方模型代理商列表，供你参考：\n\n|                                                                                                                                                   | 服务商       | 特性说明                                                        | Proxy 代理地址            | 链接                            |\n| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ | --------------------------------------------------------------- | ------------------------- | ------------------------------- |\n| <img src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/17870709/296272721-c3ac0bf3-e433-4496-89c4-ebdc20689c17.jpg\" width=\"48\" /> | **AiHubMix** | 使用 OpenAI 企业接口，全站模型价格为官方 **86 折**（含 GPT-4 ） | `https://aihubmix.com/v1` | [获取](https://lobe.li/XHnZIUP) |\n\n> \\[!WARNING]\n>\n> **免责申明**: 在此推荐的 OpenAI API Key 由第三方代理商提供，所以我们不对 API Key 的 **有效性** 和 **安全性** 负责，请你自行承担购买和使用 API Key 的风险。\n\n> \\[!NOTE]\n>\n> 如果你是模型服务商，并认为自己的服务足够稳定且价格实惠，欢迎联系我们，我们会在自行体验和测试后酌情推荐。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 📦 生态系统\n\n| NPM                               | 仓库                                    | 描述                                                                                     | 版本                                      |\n| --------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------- | ----------------------------------------- |\n| [@lobehub/ui][lobe-ui-link]       | [lobehub/lobe-ui][lobe-ui-github]       | 构建 AIGC 网页应用程序而设计的开源 UI 组件库                                             | [![][lobe-ui-shield]][lobe-ui-link]       |\n| [@lobehub/icons][lobe-icons-link] | [lobehub/lobe-icons][lobe-icons-github] | 主流 AI / LLM 模型和公司 SVG Logo 与 Icon 合集                                           | [![][lobe-icons-shield]][lobe-icons-link] |\n| [@lobehub/tts][lobe-tts-link]     | [lobehub/lobe-tts][lobe-tts-github]     | AI TTS / STT 语音合成 / 识别 React Hooks 库                                              | [![][lobe-tts-shield]][lobe-tts-link]     |\n| [@lobehub/lint][lobe-lint-link]   | [lobehub/lobe-lint][lobe-lint-github]   | LobeHub 代码样式规范 ESlint，Stylelint，Commitlint，Prettier，Remark 和 Semantic Release | [![][lobe-lint-shield]][lobe-lint-link]   |\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 🧩 插件体系\n\n插件提供了扩展 LobeChat [Function Calling][docs-functionc-call] 能力的方法。可以用于引入新的 Function Calling，甚至是新的消息结果渲染方式。如果你对插件开发感兴趣，请在 Wiki 中查阅我们的 [📘 插件开发指引][docs-plugin-dev] 。\n\n- [lobe-chat-plugins][lobe-chat-plugins]：插件索引从该仓库的 index.json 中获取插件列表并显示给用户。\n- [chat-plugin-template][chat-plugin-template]：插件开发模版，你可以通过项目模版快速新建插件项目。\n- [@lobehub/chat-plugin-sdk][chat-plugin-sdk]：插件 SDK 可帮助您创建出色的 Lobe Chat 插件。\n- [@lobehub/chat-plugins-gateway][chat-plugins-gateway]：插件网关是一个后端服务，作为 LobeChat 插件的网关。我们使用 Vercel 部署此服务。主要的 API POST /api/v1/runner 被部署为 Edge Function。\n\n> \\[!NOTE]\n>\n> 插件系统目前正在进行重大开发。您可以在以下 Issues 中了解更多信息:\n>\n> - [x] [**插件一期**](https://github.com/lobehub/lobe-chat/issues/73): 实现插件与主体分离，将插件拆分为独立仓库维护，并实现插件的动态加载\n> - [x] [**插件二期**](https://github.com/lobehub/lobe-chat/issues/97): 插件的安全性与使用的稳定性，更加精准地呈现异常状态，插件架构的可维护性与开发者友好\n> - [x] [**插件三期**](https://github.com/lobehub/lobe-chat/issues/149)：更高阶与完善的自定义能力，支持插件鉴权与示例\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## ⌨️ 本地开发\n\n可以使用 GitHub Codespaces 进行在线开发：\n\n[![][codespaces-shield]][codespaces-link]\n\n或者使用以下命令进行本地开发：\n\n```fish\n$ git clone https://github.com/lobehub/lobe-chat.git\n$ cd lobe-chat\n$ pnpm install\n$ pnpm run dev\n```\n\n如果你希望了解更多详情，欢迎可以查阅我们的 [📘 开发指南][docs-dev-guide]\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 🤝 参与贡献\n\n我们非常欢迎各种形式的贡献。如果你对贡献代码感兴趣，可以查看我们的 GitHub [Issues][github-issues-link] 和 [Projects][github-project-link]，大展身手，向我们展示你的奇思妙想。\n\n> \\[!TIP]\n>\n> 我们希望创建一个技术分享型社区，一个可以促进知识共享、想法交流，激发彼此鼓励和协作的环境。\n> 同时欢迎联系我们提供产品功能和使用体验反馈，帮助我们将 LobeChat 建设得更好。\n>\n> **组织维护者:** [@arvinxx](https://github.com/arvinxx) [@canisminor1990](https://github.com/canisminor1990)\n\n[![][pr-welcome-shield]][pr-welcome-link]\n[![][submit-agents-shield]][submit-agents-link]\n[![][submit-plugin-shield]][submit-plugin-link]\n\n<a href=\"https://github.com/lobehub/lobe-chat/graphs/contributors\" target=\"_blank\">\n  <table>\n    <tr>\n      <th colspan=\"2\">\n        <br><img src=\"https://contrib.rocks/image?repo=lobehub/lobe-chat\"><br><br>\n      </th>\n    </tr>\n    <tr>\n      <td>\n        <picture>\n          <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark\">\n          <img src=\"https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light\">\n        </picture>\n      </td>\n      <td rowspan=\"2\">\n        <picture>\n          <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=dark\">\n          <img src=\"https://next.ossinsight.io/widgets/official/compose-org-participants-growth/thumbnail.png?activity=active&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=4x7&color_scheme=light\">\n        </picture>\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <picture>\n          <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=dark\">\n          <img src=\"https://next.ossinsight.io/widgets/official/compose-org-active-contributors/thumbnail.png?activity=new&period=past_28_days&owner_id=131470832&repo_ids=643445235&image_size=2x3&color_scheme=light\">\n        </picture>\n      </td>\n    </tr>\n  </table>\n</a>\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## ❤ 社区赞助\n\n每一分支持都珍贵无比，汇聚成我们支持的璀璨银河！你就像一颗划破夜空的流星，瞬间点亮我们前行的道路。感谢你对我们的信任 —— 你的支持笔就像星辰导航，一次又一次地为项目指明前进的光芒。\n\n<a href=\"https://opencollective.com/lobehub\" target=\"_blank\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/lobehub/.github/blob/main/static/sponsor-dark.png?raw=true\">\n    <img  src=\"https://github.com/lobehub/.github/blob/main/static/sponsor-light.png?raw=true\">\n  </picture>\n</a>\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n## 🔗 更多工具\n\n- **[🅰️ Lobe SD Theme][lobe-theme]:** Stable Diffusion WebUI 的现代主题，精致的界面设计，高度可定制的 UI，以及提高效率的功能。\n- **[⛵️ Lobe Midjourney WebUI][lobe-midjourney-webui]:** Midjourney WebUI, 能够根据文本提示快速生成丰富多样的图像，激发创造力，增强对话交流。\n- **[🌏 Lobe i18n][lobe-i18n]:** Lobe i18n 是一个由 ChatGPT 驱动的 i18n（国际化）翻译过程的自动化工具。它支持自动分割大文件、增量更新，以及为 OpenAI 模型、API 代理和温度提供定制选项的功能。\n- **[💌 Lobe Commit][lobe-commit]:** Lobe Commit 是一个 CLI 工具，它利用 Langchain/ChatGPT 生成基于 Gitmoji 的提交消息。\n\n<div align=\"right\">\n\n[![][back-to-top]](#readme-top)\n\n</div>\n\n---\n\n<details><summary><h4>📝 License</h4></summary>\n\n[![][fossa-license-shield]][fossa-license-link]\n\n</details>\n\nCopyright © 2025 [LobeHub][profile-link]. <br />\nThis project is [Apache 2.0](./LICENSE) licensed.\n\n<!-- LINK GROUP -->\n\n[back-to-top]: https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square\n[blog]: https://lobehub.com/zh/blog\n[changelog]: https://lobehub.com/changelog\n[chat-desktop]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/desktop/pagespeed.svg\n[chat-desktop-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/desktop/lobechat_com_chat.html\n[chat-mobile]: https://raw.githubusercontent.com/lobehub/lobe-chat/lighthouse/lighthouse/chat/mobile/pagespeed.svg\n[chat-mobile-report]: https://lobehub.github.io/lobe-chat/lighthouse/chat/mobile/lobechat_com_chat.html\n[chat-plugin-sdk]: https://github.com/lobehub/chat-plugin-sdk\n[chat-plugin-template]: https://github.com/lobehub/chat-plugin-template\n[chat-plugins-gateway]: https://github.com/lobehub/chat-plugins-gateway\n[codecov-link]: https://codecov.io/gh/lobehub/lobe-chat\n[codecov-shield]: https://img.shields.io/codecov/c/github/lobehub/lobe-chat?labelColor=black&style=flat-square&logo=codecov&logoColor=white\n[codespaces-link]: https://codespaces.new/lobehub/lobe-chat\n[codespaces-shield]: https://github.com/codespaces/badge.svg\n[deploy-button-image]: https://vercel.com/button\n[deploy-link]: https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat&env=OPENAI_API_KEY,ACCESS_CODE&envDescription=Find%20your%20OpenAI%20API%20Key%20by%20click%20the%20right%20Learn%20More%20button.%20%7C%20Access%20Code%20can%20protect%20your%20website&envLink=https%3A%2F%2Fplatform.openai.com%2Faccount%2Fapi-keys&project-name=lobe-chat&repository-name=lobe-chat\n[deploy-on-alibaba-cloud-button-image]: https://service-info-public.oss-cn-hangzhou.aliyuncs.com/computenest-en.svg\n[deploy-on-alibaba-cloud-link]: https://computenest.console.aliyun.com/service/instance/create/default?type=user&ServiceName=LobeChat%E7%A4%BE%E5%8C%BA%E7%89%88\n[deploy-on-sealos-button-image]: https://raw.githubusercontent.com/labring-actions/templates/main/Deploy-on-Sealos.svg\n[deploy-on-sealos-link]: https://template.hzh.sealos.run/deploy?templateName=lobe-chat-db\n[deploy-on-zeabur-button-image]: https://zeabur.com/button.svg\n[deploy-on-zeabur-link]: https://zeabur.com/templates/VZGGTI\n[discord-link]: https://discord.gg/AYFPHvv2jT\n[discord-shield]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=flat-square\n[discord-shield-badge]: https://img.shields.io/discord/1127171173982154893?color=5865F2&label=discord&labelColor=black&logo=discord&logoColor=white&style=for-the-badge\n[docker-pulls-link]: https://hub.docker.com/r/lobehub/lobe-chat-database\n[docker-pulls-shield]: https://img.shields.io/docker/pulls/lobehub/lobe-chat?color=45cc11&labelColor=black&style=flat-square&sort=semver\n[docker-release-link]: https://hub.docker.com/r/lobehub/lobe-chat-database\n[docker-release-shield]: https://img.shields.io/docker/v/lobehub/lobe-chat-database?color=369eff&label=docker&labelColor=black&logo=docker&logoColor=white&style=flat-square&sort=semver\n[docker-size-link]: https://hub.docker.com/r/lobehub/lobe-chat-database\n[docker-size-shield]: https://img.shields.io/docker/image-size/lobehub/lobe-chat-database?color=369eff&labelColor=black&style=flat-square&sort=semver\n[docs]: https://lobehub.com/zh/docs/usage/start\n[docs-dev-guide]: https://github.com/lobehub/lobe-chat/wiki/index\n[docs-docker]: https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose\n[docs-env-var]: https://lobehub.com/docs/self-hosting/environment-variables\n[docs-feat-agent]: https://lobehub.com/docs/usage/features/agent-market\n[docs-feat-artifacts]: https://lobehub.com/docs/usage/features/artifacts\n[docs-feat-auth]: https://lobehub.com/docs/usage/features/auth\n[docs-feat-branch]: https://lobehub.com/docs/usage/features/branching-conversations\n[docs-feat-cot]: https://lobehub.com/docs/usage/features/cot\n[docs-feat-database]: https://lobehub.com/docs/usage/features/database\n[docs-feat-knowledgebase]: https://lobehub.com/blog/knowledge-base\n[docs-feat-local]: https://lobehub.com/docs/usage/features/local-llm\n[docs-feat-mobile]: https://lobehub.com/docs/usage/features/mobile\n[docs-feat-plugin]: https://lobehub.com/docs/usage/features/plugin-system\n[docs-feat-provider]: https://lobehub.com/docs/usage/features/multi-ai-providers\n[docs-feat-pwa]: https://lobehub.com/docs/usage/features/pwa\n[docs-feat-t2i]: https://lobehub.com/docs/usage/features/text-to-image\n[docs-feat-theme]: https://lobehub.com/docs/usage/features/theme\n[docs-feat-tts]: https://lobehub.com/docs/usage/features/tts\n[docs-feat-vision]: https://lobehub.com/docs/usage/features/vision\n[docs-functionc-call]: https://lobehub.com/zh/blog/openai-function-call\n[docs-lighthouse]: https://github.com/lobehub/lobe-chat/wiki/Lighthouse.zh-CN\n[docs-plugin-dev]: https://lobehub.com/docs/usage/plugins/development\n[docs-self-hosting]: https://lobehub.com/docs/self-hosting/start\n[docs-upstream-sync]: https://lobehub.com/docs/self-hosting/advanced/upstream-sync\n[docs-usage-ollama]: https://lobehub.com/docs/usage/providers/ollama\n[docs-usage-plugin]: https://lobehub.com/docs/usage/plugins/basic\n[fossa-license-link]: https://app.fossa.com/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat\n[fossa-license-shield]: https://app.fossa.com/api/projects/git%2Bgithub.com%2Flobehub%2Flobe-chat.svg?type=large\n[github-action-release-link]: https://github.com/lobehub/lobe-chat/actions/workflows/release.yml\n[github-action-release-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/release.yml?label=release&labelColor=black&logo=githubactions&logoColor=white&style=flat-square\n[github-action-test-link]: https://github.com/lobehub/lobe-chat/actions/workflows/test.yml\n[github-action-test-shield]: https://img.shields.io/github/actions/workflow/status/lobehub/lobe-chat/test.yml?label=test&labelColor=black&logo=githubactions&logoColor=white&style=flat-square\n[github-contributors-link]: https://github.com/lobehub/lobe-chat/graphs/contributors\n[github-contributors-shield]: https://img.shields.io/github/contributors/lobehub/lobe-chat?color=c4f042&labelColor=black&style=flat-square\n[github-forks-link]: https://github.com/lobehub/lobe-chat/network/members\n[github-forks-shield]: https://img.shields.io/github/forks/lobehub/lobe-chat?color=8ae8ff&labelColor=black&style=flat-square\n[github-hello-shield]: https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=39701baf5a734cb894ec812248a5655a&claim_uid=HxYvFN34htJzGCD&theme=dark&theme=neutral&theme=dark&theme=neutral\n[github-hello-url]: https://hellogithub.com/repository/39701baf5a734cb894ec812248a5655a\n[github-issues-link]: https://github.com/lobehub/lobe-chat/issues\n[github-issues-shield]: https://img.shields.io/github/issues/lobehub/lobe-chat?color=ff80eb&labelColor=black&style=flat-square\n[github-license-link]: https://github.com/lobehub/lobe-chat/blob/main/LICENSE\n[github-license-shield]: https://img.shields.io/badge/license-apache%202.0-white?labelColor=black&style=flat-square\n[github-project-link]: https://github.com/lobehub/lobe-chat/projects\n[github-release-link]: https://github.com/lobehub/lobe-chat/releases\n[github-release-shield]: https://img.shields.io/github/v/release/lobehub/lobe-chat?color=369eff&labelColor=black&logo=github&style=flat-square\n[github-releasedate-link]: https://github.com/lobehub/lobe-chat/releases\n[github-releasedate-shield]: https://img.shields.io/github/release-date/lobehub/lobe-chat?labelColor=black&style=flat-square\n[github-stars-link]: https://github.com/lobehub/lobe-chat/network/stargazers\n[github-stars-shield]: https://img.shields.io/github/stars/lobehub/lobe-chat?color=ffcb47&labelColor=black&style=flat-square\n[github-trending-shield]: https://trendshift.io/api/badge/repositories/2256\n[github-trending-url]: https://trendshift.io/repositories/2256\n[image-banner]: https://github.com/user-attachments/assets/6f293c7f-47b4-47eb-9202-fe68a942d35b\n[image-feat-agent]: https://github.com/user-attachments/assets/b3ab6e35-4fbc-468d-af10-e3e0c687350f\n[image-feat-artifacts]: https://github.com/user-attachments/assets/7f95fad6-b210-4e6e-84a0-7f39e96f3a00\n[image-feat-auth]: https://github.com/user-attachments/assets/80bb232e-19d1-4f97-98d6-e291f3585e6d\n[image-feat-branch]: https://github.com/user-attachments/assets/92f72082-02bd-4835-9c54-b089aad7fd41\n[image-feat-cot]: https://github.com/user-attachments/assets/f74f1139-d115-4e9c-8c43-040a53797a5e\n[image-feat-database]: https://github.com/user-attachments/assets/f1697c8b-d1fb-4dac-ba05-153c6295d91d\n[image-feat-knowledgebase]: https://github.com/user-attachments/assets/7da7a3b2-92fd-4630-9f4e-8560c74955ae\n[image-feat-local]: https://github.com/user-attachments/assets/1239da50-d832-4632-a7ef-bd754c0f3850\n[image-feat-mobile]: https://github.com/user-attachments/assets/32cf43c4-96bd-4a4c-bfb6-59acde6fe380\n[image-feat-plugin]: https://github.com/user-attachments/assets/66a891ac-01b6-4e3f-b978-2eb07b489b1b\n[image-feat-privoder]: https://github.com/user-attachments/assets/e553e407-42de-4919-977d-7dbfcf44a821\n[image-feat-pwa]: https://github.com/user-attachments/assets/9647f70f-b71b-43b6-9564-7cdd12d1c24d\n[image-feat-t2i]: https://github.com/user-attachments/assets/708274a7-2458-494b-a6ec-b73dfa1fa7c2\n[image-feat-theme]: https://github.com/user-attachments/assets/b47c39f1-806f-492b-8fcb-b0fa973937c1\n[image-feat-tts]: https://github.com/user-attachments/assets/50189597-2cc3-4002-b4c8-756a52ad5c0a\n[image-feat-vision]: https://github.com/user-attachments/assets/18574a1f-46c2-4cbc-af2c-35a86e128a07\n[image-overview]: https://github.com/user-attachments/assets/dbfaa84a-2c82-4dd9-815c-5be616f264a4\n[image-star]: https://github.com/user-attachments/assets/c3b482e7-cef5-4e94-bef9-226900ecfaab\n[issues-link]: https://img.shields.io/github/issues/lobehub/lobe-chat.svg?style=flat\n[lobe-chat-plugins]: https://github.com/lobehub/lobe-chat-plugins\n[lobe-commit]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-commit\n[lobe-i18n]: https://github.com/lobehub/lobe-commit/tree/master/packages/lobe-i18n\n[lobe-icons-github]: https://github.com/lobehub/lobe-icons\n[lobe-icons-link]: https://www.npmjs.com/package/@lobehub/icons\n[lobe-icons-shield]: https://img.shields.io/npm/v/@lobehub/icons?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square\n[lobe-lint-github]: https://github.com/lobehub/lobe-lint\n[lobe-lint-link]: https://www.npmjs.com/package/@lobehub/lint\n[lobe-lint-shield]: https://img.shields.io/npm/v/@lobehub/lint?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square\n[lobe-midjourney-webui]: https://github.com/lobehub/lobe-midjourney-webui\n[lobe-theme]: https://github.com/lobehub/sd-webui-lobe-theme\n[lobe-tts-github]: https://github.com/lobehub/lobe-tts\n[lobe-tts-link]: https://www.npmjs.com/package/@lobehub/tts\n[lobe-tts-shield]: https://img.shields.io/npm/v/@lobehub/tts?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square\n[lobe-ui-github]: https://github.com/lobehub/lobe-ui\n[lobe-ui-link]: https://www.npmjs.com/package/@lobehub/ui\n[lobe-ui-shield]: https://img.shields.io/npm/v/@lobehub/ui?color=369eff&labelColor=black&logo=npm&logoColor=white&style=flat-square\n[official-site]: https://lobehub.com\n[pr-welcome-link]: https://github.com/lobehub/lobe-chat/pulls\n[pr-welcome-shield]: https://img.shields.io/badge/🤯_pr_welcome-%E2%86%92-ffcb47?labelColor=black&style=for-the-badge\n[profile-link]: https://github.com/lobehub\n[share-mastodon-link]: https://mastodon.social/share?text=Check%20this%20GitHub%20repository%20out%20%F0%9F%A4%AF%20LobeChat%20-%20An%20open-source,%20extensible%20(Function%20Calling),%20high-performance%20chatbot%20framework.%20It%20supports%20one-click%20free%20deployment%20of%20your%20private%20ChatGPT/LLM%20web%20application.%20https://github.com/lobehub/lobe-chat%20#chatbot%20#chatGPT%20#openAI\n[share-mastodon-shield]: https://img.shields.io/badge/-share%20on%20mastodon-black?labelColor=black&logo=mastodon&logoColor=white&style=flat-square\n[share-reddit-link]: https://www.reddit.com/submit?title=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat\n[share-reddit-shield]: https://img.shields.io/badge/-share%20on%20reddit-black?labelColor=black&logo=reddit&logoColor=white&style=flat-square\n[share-telegram-link]: https://t.me/share/url\"?text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat\n[share-telegram-shield]: https://img.shields.io/badge/-share%20on%20telegram-black?labelColor=black&logo=telegram&logoColor=white&style=flat-square\n[share-weibo-link]: http://service.weibo.com/share/share.php?sharesource=weibo&title=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20%23chatbot%20%23chatGPT%20%23openAI&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat\n[share-weibo-shield]: https://img.shields.io/badge/-share%20on%20weibo-black?labelColor=black&logo=sinaweibo&logoColor=white&style=flat-square\n[share-whatsapp-link]: https://api.whatsapp.com/send?text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%20https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat%20%23chatbot%20%23chatGPT%20%23openAI\n[share-whatsapp-shield]: https://img.shields.io/badge/-share%20on%20whatsapp-black?labelColor=black&logo=whatsapp&logoColor=white&style=flat-square\n[share-x-link]: https://x.com/intent/tweet?hashtags=chatbot%2CchatGPT%2CopenAI&text=%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%20GitHub%20%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%20%F0%9F%A4%AF%20LobeChat%20-%20%E5%BC%80%E6%BA%90%E7%9A%84%E3%80%81%E5%8F%AF%E6%89%A9%E5%B1%95%E7%9A%84%EF%BC%88Function%20Calling%EF%BC%89%E9%AB%98%E6%80%A7%E8%83%BD%E8%81%8A%E5%A4%A9%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%A1%86%E6%9E%B6%E3%80%82%0A%E5%AE%83%E6%94%AF%E6%8C%81%E4%B8%80%E9%94%AE%E5%85%8D%E8%B4%B9%E9%83%A8%E7%BD%B2%E7%A7%81%E4%BA%BA%20ChatGPT%2FLLM%20%E7%BD%91%E9%A1%B5%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F&url=https%3A%2F%2Fgithub.com%2Flobehub%2Flobe-chat\n[share-x-shield]: https://img.shields.io/badge/-share%20on%20x-black?labelColor=black&logo=x&logoColor=white&style=flat-square\n[sponsor-link]: https://opencollective.com/lobehub 'Become ❤ LobeHub Sponsor'\n[sponsor-shield]: https://img.shields.io/badge/-Sponsor%20LobeHub-f04f88?logo=opencollective&logoColor=white&style=flat-square\n[submit-agents-link]: https://github.com/lobehub/lobe-chat-agents\n[submit-agents-shield]: https://img.shields.io/badge/🤖/🏪_submit_agent-%E2%86%92-c4f042?labelColor=black&style=for-the-badge\n[submit-plugin-link]: https://github.com/lobehub/lobe-chat-plugins\n[submit-plugin-shield]: https://img.shields.io/badge/🧩/🏪_submit_plugin-%E2%86%92-95f3d9?labelColor=black&style=for-the-badge\n[vercel-link]: https://chat-preview.lobehub.com\n[vercel-shield]: https://img.shields.io/badge/vercel-online-55b467?labelColor=black&logo=vercel&style=flat-square\n[vercel-shield-badge]: https://img.shields.io/badge/TRY%20LOBECHAT-ONLINE-55b467?labelColor=black&logo=vercel&style=for-the-badge\n","readmeFilename":"README.zh-CN.md"}