mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-01-02 14:22:28 +08:00
* feat: Add reasoning/thinking blocks display in chat interface * feat: add multi-provider options support and replace custom reasoning UI with AI Elements * resolve conflicting reasoning configs and correct provider-specific reasoning parameters * try to solve conflict * fix: simplify reasoning display and remove unnecessary dependencies - Remove Streamdown dependency (~5MB) - reasoning is plain text only - Fix Bedrock providerOptions merging for Claude reasoning configs - Remove unsupported DeepSeek reasoning configuration - Clean up unused environment variables (REASONING_BUDGET_TOKENS, REASONING_EFFORT, DEEPSEEK_REASONING_*) - Remove dead commented code from route.ts Reasoning blocks contain plain thinking text and don't need markdown/diagram/code rendering. * feat: comprehensive reasoning support improvements Major improvements: - Auto-enable reasoning display for all supported models - Fix provider-specific reasoning configurations - Remove unnecessary Streamdown dependency (~5MB) - Clean up debug logging Provider changes: - OpenAI: Auto-enable reasoningSummary for o1/o3/gpt-5 models - Google: Auto-enable includeThoughts for Gemini 2.5/3 models - Bedrock: Restrict reasoningConfig to only Claude/Nova (fixes MiniMax error) - Ollama: Add thinking support for qwen3-like models Other improvements: - Remove ENABLE_REASONING toggle (always enabled) - Fix Bedrock providerOptions merging for Claude - Simplify reasoning component (plain text rendering) - Clean up unused environment variables * fix: critical bugs and documentation gaps in reasoning support Critical fixes: - Fix Bedrock shallow merge bug (deep merge preserves anthropicBeta + reasoningConfig) - Add parseInt validation with parseIntSafe helper (prevents NaN errors) - Validate all numeric env vars with min/max ranges Documentation improvements: - Add BEDROCK_REASONING_BUDGET_TOKENS and BEDROCK_REASONING_EFFORT to env.example - Add OLLAMA_ENABLE_THINKING to env.example - Update JSDoc with accurate env var list and ranges Code cleanup: - Remove debug console.log statements from route.ts - Refactor duplicate providerOptions assignments --------- Co-authored-by: Dayuan Jiang <34411969+DayuanJiang@users.noreply.github.com> Co-authored-by: Dayuan Jiang <jdy.toh@gmail.com>
90 lines
3.0 KiB
JSON
90 lines
3.0 KiB
JSON
{
|
|
"name": "next-ai-draw-io",
|
|
"version": "0.3.0",
|
|
"license": "Apache-2.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "next dev --turbopack --port 6002",
|
|
"build": "next build",
|
|
"start": "next start --port 6001",
|
|
"lint": "biome lint .",
|
|
"format": "biome check --write .",
|
|
"check": "biome ci",
|
|
"prepare": "husky"
|
|
},
|
|
"dependencies": {
|
|
"@ai-sdk/amazon-bedrock": "^3.0.62",
|
|
"@ai-sdk/anthropic": "^2.0.44",
|
|
"@ai-sdk/azure": "^2.0.69",
|
|
"@ai-sdk/deepseek": "^1.0.30",
|
|
"@ai-sdk/google": "^2.0.0",
|
|
"@ai-sdk/openai": "^2.0.19",
|
|
"@ai-sdk/react": "^2.0.107",
|
|
"@aws-sdk/credential-providers": "^3.943.0",
|
|
"@langfuse/client": "^4.4.9",
|
|
"@langfuse/otel": "^4.4.4",
|
|
"@langfuse/tracing": "^4.4.9",
|
|
"@next/third-parties": "^16.0.6",
|
|
"@openrouter/ai-sdk-provider": "^1.2.3",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.208.0",
|
|
"@opentelemetry/sdk-trace-node": "^2.2.0",
|
|
"@radix-ui/react-collapsible": "^1.1.12",
|
|
"@radix-ui/react-dialog": "^1.1.6",
|
|
"@radix-ui/react-label": "^2.1.8",
|
|
"@radix-ui/react-scroll-area": "^1.2.3",
|
|
"@radix-ui/react-select": "^2.2.6",
|
|
"@radix-ui/react-slot": "^1.1.2",
|
|
"@radix-ui/react-switch": "^1.2.6",
|
|
"@radix-ui/react-tooltip": "^1.1.8",
|
|
"@radix-ui/react-use-controllable-state": "^1.2.2",
|
|
"@vercel/analytics": "^1.5.0",
|
|
"@xmldom/xmldom": "^0.9.8",
|
|
"ai": "^5.0.89",
|
|
"base-64": "^1.0.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"js-tiktoken": "^1.0.21",
|
|
"jsdom": "^26.0.0",
|
|
"lucide-react": "^0.483.0",
|
|
"motion": "^12.23.25",
|
|
"next": "^16.0.7",
|
|
"ollama-ai-provider-v2": "^1.5.4",
|
|
"pako": "^2.1.0",
|
|
"prism-react-renderer": "^2.4.1",
|
|
"react": "^19.1.2",
|
|
"react-dom": "^19.1.2",
|
|
"react-drawio": "^1.0.3",
|
|
"react-icons": "^5.5.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-resizable-panels": "^3.0.6",
|
|
"remark-gfm": "^4.0.1",
|
|
"sonner": "^2.0.7",
|
|
"tailwind-merge": "^3.0.2",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"unpdf": "^1.4.0",
|
|
"zod": "^4.1.12"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,ts,jsx,tsx,json,css}": [
|
|
"biome check --write --no-errors-on-unmatched",
|
|
"biome check --no-errors-on-unmatched"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@anthropic-ai/tokenizer": "^0.0.4",
|
|
"@biomejs/biome": "2.3.8",
|
|
"@tailwindcss/postcss": "^4",
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"@types/node": "^20",
|
|
"@types/pako": "^2.0.3",
|
|
"@types/react": "^19",
|
|
"@types/react-dom": "^19",
|
|
"eslint": "9.39.1",
|
|
"eslint-config-next": "16.0.5",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "^16.2.7",
|
|
"tailwindcss": "^4",
|
|
"typescript": "^5"
|
|
}
|
|
}
|