langgraph-ui-components 0.0.27 → 0.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -4
- package/dist/_virtual/index.cjs.js +1 -1
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.es.js +5 -2
- package/dist/_virtual/index.es2.js +4 -2
- package/dist/_virtual/index.es2.js.map +1 -1
- package/dist/_virtual/index.es3.js +4 -4
- package/dist/components/ChatBody.cjs.js +2 -2
- package/dist/components/ChatBody.cjs.js.map +1 -1
- package/dist/components/ChatBody.d.ts.map +1 -1
- package/dist/components/ChatBody.es.js +191 -164
- package/dist/components/ChatBody.es.js.map +1 -1
- package/dist/components/TodoList.cjs.js +2 -0
- package/dist/components/TodoList.cjs.js.map +1 -0
- package/dist/components/TodoList.d.ts +5 -0
- package/dist/components/TodoList.d.ts.map +1 -0
- package/dist/components/TodoList.es.js +65 -0
- package/dist/components/TodoList.es.js.map +1 -0
- package/dist/components/messages/AgentMessage.cjs.js +2 -2
- package/dist/components/messages/AgentMessage.cjs.js.map +1 -1
- package/dist/components/messages/AgentMessage.d.ts +3 -1
- package/dist/components/messages/AgentMessage.d.ts.map +1 -1
- package/dist/components/messages/AgentMessage.es.js +107 -104
- package/dist/components/messages/AgentMessage.es.js.map +1 -1
- package/dist/components/messages/CustomComponentRender.cjs.js.map +1 -1
- package/dist/components/messages/CustomComponentRender.es.js.map +1 -1
- package/dist/components/ui/syntax-highlighter.cjs.js +1 -1
- package/dist/components/ui/syntax-highlighter.cjs.js.map +1 -1
- package/dist/components/ui/syntax-highlighter.es.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/index.cjs.js +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/cjs/styles/prism/index.es.js +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-languages/create-language-async-loader.cjs.js +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-languages/create-language-async-loader.cjs.js.map +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-languages/create-language-async-loader.es.js +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.cjs.js +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.cjs.js.map +1 -1
- package/dist/node_modules/.pnpm/react-syntax-highlighter@16.1.0_react@19.2.3/node_modules/react-syntax-highlighter/dist/esm/async-syntax-highlighter.es.js +1 -1
- package/dist/pages/Chat/Chat.cjs.js +1 -1
- package/dist/pages/Chat/Chat.cjs.js.map +1 -1
- package/dist/pages/Chat/Chat.d.ts.map +1 -1
- package/dist/pages/Chat/Chat.es.js +41 -34
- package/dist/pages/Chat/Chat.es.js.map +1 -1
- package/dist/pages/Sidebar/sidebar.cjs.js +1 -1
- package/dist/pages/Sidebar/sidebar.cjs.js.map +1 -1
- package/dist/pages/Sidebar/sidebar.d.ts.map +1 -1
- package/dist/pages/Sidebar/sidebar.es.js +75 -70
- package/dist/pages/Sidebar/sidebar.es.js.map +1 -1
- package/dist/providers/Stream.cjs.js +1 -1
- package/dist/providers/Stream.cjs.js.map +1 -1
- package/dist/providers/Stream.d.ts +40 -8
- package/dist/providers/Stream.d.ts.map +1 -1
- package/dist/providers/Stream.es.js +136 -123
- package/dist/providers/Stream.es.js.map +1 -1
- package/package.json +25 -1
- package/src/components/ChatBody.tsx +158 -67
- package/src/components/TodoList.tsx +72 -0
- package/src/components/messages/AgentMessage.tsx +7 -1
- package/src/components/messages/CustomComponentRender.tsx +1 -1
- package/src/index.ts +1 -1
- package/src/pages/Chat/Chat.tsx +13 -3
- package/src/pages/Sidebar/sidebar.tsx +12 -3
- package/src/providers/Stream.tsx +76 -32
- package/dist/_virtual/index.cjs10.js +0 -2
- package/dist/_virtual/index.cjs10.js.map +0 -1
- package/dist/_virtual/index.cjs11.js +0 -2
- package/dist/_virtual/index.cjs11.js.map +0 -1
- package/dist/_virtual/index.cjs12.js +0 -2
- package/dist/_virtual/index.cjs12.js.map +0 -1
- package/dist/_virtual/index.cjs4.js +0 -2
- package/dist/_virtual/index.cjs4.js.map +0 -1
- package/dist/_virtual/index.cjs5.js +0 -2
- package/dist/_virtual/index.cjs5.js.map +0 -1
- package/dist/_virtual/index.cjs6.js +0 -2
- package/dist/_virtual/index.cjs6.js.map +0 -1
- package/dist/_virtual/index.cjs7.js +0 -2
- package/dist/_virtual/index.cjs7.js.map +0 -1
- package/dist/_virtual/index.cjs8.js +0 -2
- package/dist/_virtual/index.cjs8.js.map +0 -1
- package/dist/_virtual/index.cjs9.js +0 -2
- package/dist/_virtual/index.cjs9.js.map +0 -1
- package/dist/_virtual/index.es10.js +0 -8
- package/dist/_virtual/index.es10.js.map +0 -1
- package/dist/_virtual/index.es11.js +0 -5
- package/dist/_virtual/index.es11.js.map +0 -1
- package/dist/_virtual/index.es12.js +0 -8
- package/dist/_virtual/index.es12.js.map +0 -1
- package/dist/_virtual/index.es4.js +0 -6
- package/dist/_virtual/index.es4.js.map +0 -1
- package/dist/_virtual/index.es5.js +0 -5
- package/dist/_virtual/index.es5.js.map +0 -1
- package/dist/_virtual/index.es6.js +0 -5
- package/dist/_virtual/index.es6.js.map +0 -1
- package/dist/_virtual/index.es7.js +0 -5
- package/dist/_virtual/index.es7.js.map +0 -1
- package/dist/_virtual/index.es8.js +0 -5
- package/dist/_virtual/index.es8.js.map +0 -1
- package/dist/_virtual/index.es9.js +0 -5
- package/dist/_virtual/index.es9.js.map +0 -1
- package/dist/_virtual/lower-bound.cjs.js +0 -2
- package/dist/_virtual/lower-bound.cjs.js.map +0 -1
- package/dist/_virtual/lower-bound.es.js +0 -5
- package/dist/_virtual/lower-bound.es.js.map +0 -1
- package/dist/_virtual/priority-queue.cjs.js +0 -2
- package/dist/_virtual/priority-queue.cjs.js.map +0 -1
- package/dist/_virtual/priority-queue.es.js +0 -5
- package/dist/_virtual/priority-queue.es.js.map +0 -1
- package/dist/_virtual/re.cjs.js +0 -2
- package/dist/_virtual/re.cjs.js.map +0 -1
- package/dist/_virtual/re.es.js +0 -5
- package/dist/_virtual/re.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/_virtual/_rolldown/runtime.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/_virtual/_rolldown/runtime.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/_virtual/_rolldown/runtime.es.js +0 -12
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/_virtual/_rolldown/runtime.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/errors/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/errors/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/errors/index.es.js +0 -66
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/errors/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/anthropic.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/anthropic.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/anthropic.es.js +0 -283
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/anthropic.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/bedrock_converse.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/bedrock_converse.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/bedrock_converse.es.js +0 -219
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/bedrock_converse.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/data.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/data.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/data.es.js +0 -42
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/data.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/deepseek.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/deepseek.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/deepseek.es.js +0 -31
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/deepseek.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google.es.js +0 -77
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_genai.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_genai.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_genai.es.js +0 -78
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_genai.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_vertexai.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_vertexai.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_vertexai.es.js +0 -75
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/google_vertexai.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/groq.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/groq.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/groq.es.js +0 -51
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/groq.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/index.es.js +0 -23
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/ollama.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/ollama.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/ollama.es.js +0 -31
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/ollama.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/openai.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/openai.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/openai.es.js +0 -241
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/openai.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/utils.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/utils.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/utils.es.js +0 -37
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/utils.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/xai.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/xai.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/xai.es.js +0 -42
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/block_translators/xai.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/content/data.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/content/data.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/content/data.es.js +0 -16
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/messages/content/data.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/console.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/console.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/console.es.js +0 -9
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/tracers/console.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/index.es.js +0 -3
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/core.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/core.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/core.es.js +0 -230
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/core.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/helpers.cjs.js +0 -3
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/helpers.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/helpers.es.js +0 -87
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/fast-json-patch/src/helpers.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/json.cjs.js +0 -3
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/json.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/json.es.js +0 -133
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/json.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/namespace.cjs.js +0 -2
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/namespace.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/namespace.es.js +0 -29
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/namespace.es.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/sax-js/sax.cjs.js +0 -10
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/sax-js/sax.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/sax-js/sax.es.js +0 -795
- package/dist/node_modules/.pnpm/@langchain_core@1.1.33_openai@6.16.0_zod@4.3.5_/node_modules/@langchain/core/dist/utils/sax-js/sax.es.js.map +0 -1
- package/dist/node_modules/.pnpm/ansi-styles@5.2.0/node_modules/ansi-styles/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/ansi-styles@5.2.0/node_modules/ansi-styles/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/ansi-styles@5.2.0/node_modules/ansi-styles/index.es.js +0 -111
- package/dist/node_modules/.pnpm/ansi-styles@5.2.0/node_modules/ansi-styles/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/camelcase@6.3.0/node_modules/camelcase/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/camelcase@6.3.0/node_modules/camelcase/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/camelcase@6.3.0/node_modules/camelcase/index.es.js +0 -30
- package/dist/node_modules/.pnpm/camelcase@6.3.0/node_modules/camelcase/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.es.js +0 -112
- package/dist/node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/_uuid.cjs.js +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/_uuid.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/_uuid.es.js +0 -3
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/_uuid.es.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.es.js +0 -6
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fast-safe-stringify/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fs.browser.cjs.js +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fs.browser.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fs.browser.es.js +0 -14
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/fs.browser.es.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/p-queue.cjs.js +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/p-queue.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/p-queue.es.js +0 -3
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/p-queue.es.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/prompt_cache/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/prompt_cache/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/prompt_cache/index.es.js +0 -200
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/prompt_cache/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/xxhash/xxhash.cjs.js +0 -2
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/xxhash/xxhash.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/xxhash/xxhash.es.js +0 -22
- package/dist/node_modules/.pnpm/langsmith@0.5.10_openai@6.16.0_zod@4.3.5_/node_modules/langsmith/dist/utils/xxhash/xxhash.es.js.map +0 -1
- package/dist/node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.es.js +0 -18
- package/dist/node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.es.js +0 -198
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.cjs.js +0 -2
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.es.js +0 -20
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.es.js.map +0 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.cjs.js +0 -2
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.es.js +0 -41
- package/dist/node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.es.js.map +0 -1
- package/dist/node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.es.js +0 -45
- package/dist/node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.es.js +0 -57
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/comparator.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.es.js +0 -149
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/range.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.es.js +0 -170
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/classes/semver.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.es.js +0 -15
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/clean.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.es.js +0 -40
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/cmp.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.es.js +0 -34
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/coerce.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.es.js +0 -15
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-build.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare-loose.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/compare.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.es.js +0 -25
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/diff.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/eq.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gt.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/gte.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.es.js +0 -22
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/inc.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lt.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/lte.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/major.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/minor.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/neq.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.es.js +0 -22
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/parse.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/patch.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.es.js +0 -15
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/prerelease.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rcompare.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/rsort.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.es.js +0 -19
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/satisfies.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/sort.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.es.js +0 -15
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/functions/valid.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.es.js +0 -98
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/index.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.es.js +0 -29
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/constants.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.es.js +0 -9
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/debug.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.es.js +0 -19
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/identifiers.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.es.js +0 -33
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/lrucache.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.es.js +0 -11
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/parse-options.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.es.js +0 -33
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/internal/re.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/gtr.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/intersects.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/ltr.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.es.js +0 -23
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/max-satisfying.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.es.js +0 -23
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-satisfying.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.es.js +0 -43
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/min-version.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.es.js +0 -45
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/outside.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.es.js +0 -25
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/simplify.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.es.js +0 -95
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/subset.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.es.js +0 -12
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/to-comparators.es.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.cjs.js +0 -2
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.cjs.js.map +0 -1
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.es.js +0 -18
- package/dist/node_modules/.pnpm/semver@7.7.3/node_modules/semver/ranges/valid.es.js.map +0 -1
- package/src/App.css +0 -183
- package/src/App.tsx +0 -70
- package/src/main.tsx +0 -9
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsxs as s, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Sparkles as o, Circle as d, Loader2 as m, CheckCircle2 as p } from "lucide-react";
|
|
3
|
+
const x = {
|
|
4
|
+
completed: {
|
|
5
|
+
icon: p,
|
|
6
|
+
iconClass: "text-emerald-400",
|
|
7
|
+
textClass: "text-zinc-400 line-through"
|
|
8
|
+
},
|
|
9
|
+
in_progress: {
|
|
10
|
+
icon: m,
|
|
11
|
+
iconClass: "text-blue-400 animate-spin",
|
|
12
|
+
textClass: "text-zinc-100"
|
|
13
|
+
},
|
|
14
|
+
pending: {
|
|
15
|
+
icon: d,
|
|
16
|
+
iconClass: "text-zinc-500",
|
|
17
|
+
textClass: "text-zinc-400"
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
function h({ todos: t }) {
|
|
21
|
+
if (!t.length) return null;
|
|
22
|
+
const l = t.filter((n) => n.status === "completed").length, r = t.find((n) => n.status === "in_progress"), c = Math.round(l / t.length * 100);
|
|
23
|
+
return /* @__PURE__ */ s("div", { className: "mb-3 w-full max-w-full rounded-2xl border border-zinc-700/60 bg-zinc-950/35 px-4 py-3.5 shadow-[0_10px_30px_rgba(0,0,0,0.25)] backdrop-blur-sm", children: [
|
|
24
|
+
/* @__PURE__ */ s("div", { className: "mb-3 flex items-start justify-between gap-3", children: [
|
|
25
|
+
/* @__PURE__ */ s("div", { className: "min-w-0", children: [
|
|
26
|
+
/* @__PURE__ */ s("div", { className: "flex items-center gap-2 text-zinc-200", children: [
|
|
27
|
+
/* @__PURE__ */ e(o, { className: "h-3.5 w-3.5 text-cyan-300/90" }),
|
|
28
|
+
/* @__PURE__ */ e("span", { className: "text-xs font-semibold uppercase tracking-[0.14em] text-zinc-300", children: "Agent Plan" })
|
|
29
|
+
] }),
|
|
30
|
+
/* @__PURE__ */ e("p", { className: "mt-1 truncate text-xs text-zinc-400", children: r ? `Now: ${r.content}` : "Wrapping up remaining steps" })
|
|
31
|
+
] }),
|
|
32
|
+
/* @__PURE__ */ s("div", { className: "rounded-lg border border-zinc-700/80 bg-zinc-900/70 px-2.5 py-1 text-[11px] font-medium text-zinc-300", children: [
|
|
33
|
+
l,
|
|
34
|
+
"/",
|
|
35
|
+
t.length,
|
|
36
|
+
" done"
|
|
37
|
+
] })
|
|
38
|
+
] }),
|
|
39
|
+
/* @__PURE__ */ e("div", { className: "mb-3 h-1.5 overflow-hidden rounded-full bg-zinc-800/80", children: /* @__PURE__ */ e(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
className: "h-full rounded-full bg-linear-to-r from-cyan-400 to-emerald-400 transition-all duration-500",
|
|
43
|
+
style: { width: `${c}%` }
|
|
44
|
+
}
|
|
45
|
+
) }),
|
|
46
|
+
/* @__PURE__ */ e("ul", { className: "space-y-1.5", children: t.map((n) => {
|
|
47
|
+
const i = x[n.status], a = i.icon;
|
|
48
|
+
return /* @__PURE__ */ s(
|
|
49
|
+
"li",
|
|
50
|
+
{
|
|
51
|
+
className: "group flex items-center gap-2 rounded-lg border border-zinc-800/80 bg-zinc-900/45 px-2.5 py-2 transition-colors duration-200 hover:border-zinc-700/80",
|
|
52
|
+
children: [
|
|
53
|
+
/* @__PURE__ */ e(a, { className: `h-3.5 w-3.5 flex-shrink-0 ${i.iconClass}` }),
|
|
54
|
+
/* @__PURE__ */ e("span", { className: `line-clamp-1 text-xs ${i.textClass}`, children: n.content })
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
n.id
|
|
58
|
+
);
|
|
59
|
+
}) })
|
|
60
|
+
] });
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
h as default
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=TodoList.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TodoList.es.js","sources":["../../src/components/TodoList.tsx"],"sourcesContent":["import type { TodoItem } from \"@/providers/Stream\";\nimport { CheckCircle2, Circle, Loader2, Sparkles } from \"lucide-react\";\n\nconst statusConfig = {\n completed: {\n icon: CheckCircle2,\n iconClass: \"text-emerald-400\",\n textClass: \"text-zinc-400 line-through\",\n },\n in_progress: {\n icon: Loader2,\n iconClass: \"text-blue-400 animate-spin\",\n textClass: \"text-zinc-100\",\n },\n pending: {\n icon: Circle,\n iconClass: \"text-zinc-500\",\n textClass: \"text-zinc-400\",\n },\n} as const;\n\nexport default function TodoList({ todos }: { todos: TodoItem[] }) {\n if (!todos.length) return null;\n\n const completed = todos.filter((t) => t.status === \"completed\").length;\n const inProgress = todos.find((t) => t.status === \"in_progress\");\n const percentage = Math.round((completed / todos.length) * 100);\n\n return (\n <div className=\"mb-3 w-full max-w-full rounded-2xl border border-zinc-700/60 bg-zinc-950/35 px-4 py-3.5 shadow-[0_10px_30px_rgba(0,0,0,0.25)] backdrop-blur-sm\">\n <div className=\"mb-3 flex items-start justify-between gap-3\">\n <div className=\"min-w-0\">\n <div className=\"flex items-center gap-2 text-zinc-200\">\n <Sparkles className=\"h-3.5 w-3.5 text-cyan-300/90\" />\n <span className=\"text-xs font-semibold uppercase tracking-[0.14em] text-zinc-300\">Agent Plan</span>\n </div>\n <p className=\"mt-1 truncate text-xs text-zinc-400\">\n {inProgress ? `Now: ${inProgress.content}` : \"Wrapping up remaining steps\"}\n </p>\n </div>\n <div className=\"rounded-lg border border-zinc-700/80 bg-zinc-900/70 px-2.5 py-1 text-[11px] font-medium text-zinc-300\">\n {completed}/{todos.length} done\n </div>\n </div>\n\n <div className=\"mb-3 h-1.5 overflow-hidden rounded-full bg-zinc-800/80\">\n <div\n className=\"h-full rounded-full bg-linear-to-r from-cyan-400 to-emerald-400 transition-all duration-500\"\n style={{ width: `${percentage}%` }}\n />\n </div>\n\n <ul className=\"space-y-1.5\">\n {todos.map((todo) => {\n const config = statusConfig[todo.status];\n const Icon = config.icon;\n return (\n <li\n key={todo.id}\n className=\"group flex items-center gap-2 rounded-lg border border-zinc-800/80 bg-zinc-900/45 px-2.5 py-2 transition-colors duration-200 hover:border-zinc-700/80\"\n >\n <Icon className={`h-3.5 w-3.5 flex-shrink-0 ${config.iconClass}`} />\n <span className={`line-clamp-1 text-xs ${config.textClass}`}>\n {todo.content}\n </span>\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"names":["statusConfig","CheckCircle2","Loader2","Circle","TodoList","todos","completed","t","inProgress","percentage","jsxs","jsx","Sparkles","todo","config","Icon"],"mappings":";;AAGA,MAAMA,IAAe;AAAA,EACnB,WAAW;AAAA,IACT,MAAMC;AAAA,IACN,WAAW;AAAA,IACX,WAAW;AAAA,EAAA;AAAA,EAEb,aAAa;AAAA,IACX,MAAMC;AAAA,IACN,WAAW;AAAA,IACX,WAAW;AAAA,EAAA;AAAA,EAEb,SAAS;AAAA,IACP,MAAMC;AAAA,IACN,WAAW;AAAA,IACX,WAAW;AAAA,EAAA;AAEf;AAEA,SAAwBC,EAAS,EAAE,OAAAC,KAAgC;AACjE,MAAI,CAACA,EAAM,OAAQ,QAAO;AAE1B,QAAMC,IAAYD,EAAM,OAAO,CAACE,MAAMA,EAAE,WAAW,WAAW,EAAE,QAC1DC,IAAaH,EAAM,KAAK,CAACE,MAAMA,EAAE,WAAW,aAAa,GACzDE,IAAa,KAAK,MAAOH,IAAYD,EAAM,SAAU,GAAG;AAE9D,SACE,gBAAAK,EAAC,OAAA,EAAI,WAAU,kJACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,+CACb,UAAA;AAAA,MAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,WACb,UAAA;AAAA,QAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,yCACb,UAAA;AAAA,UAAA,gBAAAC,EAACC,GAAA,EAAS,WAAU,+BAAA,CAA+B;AAAA,UACnD,gBAAAD,EAAC,QAAA,EAAK,WAAU,mEAAkE,UAAA,aAAA,CAAU;AAAA,QAAA,GAC9F;AAAA,QACA,gBAAAA,EAAC,OAAE,WAAU,uCACV,cAAa,QAAQH,EAAW,OAAO,KAAK,8BAAA,CAC/C;AAAA,MAAA,GACF;AAAA,MACA,gBAAAE,EAAC,OAAA,EAAI,WAAU,yGACZ,UAAA;AAAA,QAAAJ;AAAA,QAAU;AAAA,QAAED,EAAM;AAAA,QAAO;AAAA,MAAA,EAAA,CAC5B;AAAA,IAAA,GACF;AAAA,IAEA,gBAAAM,EAAC,OAAA,EAAI,WAAU,0DACb,UAAA,gBAAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,EAAE,OAAO,GAAGF,CAAU,IAAA;AAAA,MAAI;AAAA,IAAA,GAErC;AAAA,sBAEC,MAAA,EAAG,WAAU,eACX,UAAAJ,EAAM,IAAI,CAACQ,MAAS;AACnB,YAAMC,IAASd,EAAaa,EAAK,MAAM,GACjCE,IAAOD,EAAO;AACpB,aACE,gBAAAJ;AAAA,QAAC;AAAA,QAAA;AAAA,UAEC,WAAU;AAAA,UAEV,UAAA;AAAA,YAAA,gBAAAC,EAACI,GAAA,EAAK,WAAW,6BAA6BD,EAAO,SAAS,IAAI;AAAA,YAClE,gBAAAH,EAAC,UAAK,WAAW,wBAAwBG,EAAO,SAAS,IACtD,YAAK,QAAA,CACR;AAAA,UAAA;AAAA,QAAA;AAAA,QANKD,EAAK;AAAA,MAAA;AAAA,IAShB,CAAC,EAAA,CACH;AAAA,EAAA,GACF;AAEJ;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),B=require("../../utils/tailwindUtil.cjs.js"),E=require("../../utils/utils.cjs.js"),j=require("lucide-react"),R=require("react"),O=require("../TodoList.cjs.js"),$=require("../ui/AgentMarkdown.cjs.js"),J=require("./BranchSwitcher.cjs.js"),U=require("./MessageActions.cjs.js");function W(t){if(!t)return null;const e=t.additional_kwargs;return e&&typeof e.reasoning_content=="string"&&e.reasoning_content.length>0?e.reasoning_content:null}function D({reasoningText:t,toolStatuses:e,isStreaming:s,fontSize:x}){const[g,a]=R.useState(!1);R.useEffect(()=>{a(!!s)},[s]);const y=e&&e.length>0,p=!!t&&t.length>0;return!y&&!p&&!s?null:n.jsxs("div",{className:"my-1",children:[n.jsxs("button",{type:"button",onClick:()=>a(d=>!d),className:"inline-flex items-center gap-1.5 text-xs text-zinc-400/80 transition-colors hover:text-zinc-300",children:[s?n.jsx(j.LoaderCircle,{className:"size-3 animate-spin"}):n.jsx(j.Sparkles,{className:"size-3"}),n.jsx("span",{children:s?"Thinking":"Thought"}),n.jsx(j.ChevronRight,{className:B.cn("size-3 transition-transform duration-200",g&&"rotate-90")})]}),g&&n.jsxs("div",{className:"mt-1.5 border-l-2 border-white/10 pl-4 space-y-1",children:[y&&e.map(d=>n.jsxs("div",{className:"flex items-center gap-2 text-sm text-zinc-300 py-0.5",children:[!d.isCompleted&&n.jsx(j.LoaderCircle,{className:"size-3.5 animate-spin text-zinc-400"}),n.jsx(j.Wrench,{className:"size-3.5 text-zinc-500"}),n.jsx("span",{children:d.label})]},d.key)),p&&n.jsx("div",{className:"text-sm text-zinc-300",children:n.jsx($.AgentMarkdown,{fontSize:x,children:t})})]})]})}function G(t){if(!t||typeof t!="object")return null;const e=t,s=typeof e.visible=="boolean"?e.visible:typeof e.show=="boolean"?e.show:typeof e.display=="boolean"?e.display:typeof e.hidden=="boolean"?!e.hidden:!0;return{id:typeof e.id=="string"?e.id:void 0,name:typeof e.name=="string"?e.name:void 0,label:typeof e.label=="string"?e.label:void 0,event:typeof e.event=="string"?e.event:void 0,visible:s}}function H(t){if(!t)return[];const e=t.additional_kwargs;return!e||!Array.isArray(e.tool_status)?[]:e.tool_status.map(G).filter(s=>s!==null)}function Q(t){if(!t)return!1;const e=t.additional_kwargs;return e?Object.prototype.hasOwnProperty.call(e,"tool_status"):!1}function z(t){return t?t.toLowerCase().replace(/\s+/g," ").replace(/\s*event:\s*metadata\s*$/i,"").trim():""}function V(t){return!(t.visible===!1||z(t.label).length===0||t.event?.toLowerCase()==="metadata"||/\bevent:\s*metadata\b/i.test(t.label??""))}function X(t,e){if(!e)return t;if(typeof e=="string"){const s=e.trim();return s.length===0?t:`${t} ${s.slice(0,80)}${s.length>80?"...":""}`}if(typeof e=="object")try{const s=JSON.stringify(e);return`${t} ${s.length>80?`${s.slice(0,80)}...`:s}`}catch{return t}return t}function Y(t,e,s,x){if(!t||t.length===0)return null;const g=t,a=g.filter(i=>i.type==="tool"),y=g.some(i=>Q(i)),p=new Set(a.map(i=>i.tool_call_id).filter(i=>typeof i=="string"&&i.length>0)),d=new Set(a.map(i=>i.name).filter(i=>typeof i=="string"&&i.length>0)),f=[],u=[],h=[],m=new Set;let c=0;const k=i=>{if(e)for(const o of H(i)){if(!V(o))continue;const r=z(o.label)||z(o.name)||"tool";if(m.has(r))continue;m.add(r);const N=o.label??o.name??"Running tool",b=(o.id?p.has(o.id):!1)||(o.name?d.has(o.name):!1)||!s;f.push({key:r,label:N,isCompleted:b})}};for(const i of g){if(i.type!=="ai")continue;const o=i.content,r=W(i);if(k(i),typeof o=="string"){r?u.push(r):o.length>0&&(h.push(n.jsx("div",{className:"py-1",children:n.jsx($.AgentMarkdown,{fontSize:x,children:o})},`text-content-${i.id??c}`)),c++);continue}if(!Array.isArray(o)){r&&u.push(r);continue}const N=o;let b="",q=!1;const A=()=>{b.length>0&&(h.push(n.jsx("div",{className:"py-1",children:n.jsx($.AgentMarkdown,{fontSize:x,children:b})},`text-${i.id??c}-${c}`)),b="",c++)};for(let v=0;v<N.length;v++){const l=N[v];if(l.type==="text"&&typeof l.text=="string"){b+=l.text;continue}if(l.type==="reasoning"&&typeof l.reasoning=="string"||l.type==="thinking"&&typeof l.thinking=="string"){A(),q=!0;const T=l.reasoning??l.thinking;u.push(T);continue}if(e&&!y&&l.type==="tool_use"){A();const T=typeof l.id=="string"?l.id:void 0,K=typeof l.name=="string"?l.name:"tool",C=z(K)||`tool-${v}`;if(!m.has(C)){m.add(C);const I=X(K,l.input),L=T?p.has(T):!s;f.push({key:C,label:I,isCompleted:L})}}}!q&&r?(b="",u.push(r)):A()}if(e&&!s&&!y&&f.length===0&&h.length===0&&a.length>0)for(const i of a)f.push({key:`tool-msg-${i.id??c}`,label:"Tool call completed",isCompleted:!0}),c++;const w=[],S=h.length>0,_=u.join(`
|
|
2
2
|
|
|
3
|
-
`),F=e&&f.length>0
|
|
3
|
+
`),F=e&&f.length>0||_.length>0,M=!!s&&!S;return(F||M)&&w.push(n.jsx(D,{reasoningText:_||void 0,toolStatuses:e?f:void 0,isStreaming:M,fontSize:x},"agent-activity")),w.push(...h),w.length>0?n.jsx(n.Fragment,{children:w}):null}function Z({agentName:t,fontSize:e,message:s,groupedMessages:x,showToolActivity:g=!0,isStreaming:a=!1,onRegenerate:y,feedback:p,onFeedback:d,branch:f,branchOptions:u,onBranchSelect:h,todos:m}){const c=E.getContentString(s?.content),k=Y(x??[s],g,a,e);return n.jsxs("div",{className:"agent-message flex flex-col gap-1 w-full group",children:[n.jsxs("div",{className:"flex items-center gap-3 w-full",children:[n.jsx("div",{className:"rounded-full size-8 shrink-0 bg-zinc-800 flex items-center justify-center p-2","data-alt":"AI Avatar",children:n.jsx(j.BotMessageSquare,{className:"text-xs",color:"white"})}),n.jsx("span",{className:"text-zinc-500 text-sm",children:t||"Agent"})]}),n.jsxs("div",{className:"flex flex-1 flex-col gap-1 items-start min-w-0",children:[m&&m.length>0&&n.jsx(O,{todos:m}),n.jsx("div",{className:"text-content text-foreground",style:e?{fontSize:e}:void 0,children:k||n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"flex items-center gap-2 text-zinc-500",children:n.jsx("span",{children:"Thinking..."})}),a&&c&&n.jsx("span",{className:"inline-block w-2 h-4 ml-1 bg-zinc-400 animate-pulse"})]})}),!a&&f&&u&&h&&u.length>1&&n.jsx(J.BranchSwitcher,{branch:f,branchOptions:u,onSelect:h,isLoading:a}),!a&&c&&n.jsx(U.MessageActions,{message:s,onRegenerate:y,feedback:p,onFeedback:d,className:""})]})]})}const P=R.memo(Z,(t,e)=>e.isStreaming?!1:t.message.id===e.message.id&&t.groupedMessages?.length===e.groupedMessages?.length&&t.showToolActivity===e.showToolActivity&&t.isStreaming===e.isStreaming&&t.feedback===e.feedback&&t.onRegenerate===e.onRegenerate&&t.onFeedback===e.onFeedback&&t.branch===e.branch&&t.branchOptions?.length===e.branchOptions?.length&&t.onBranchSelect===e.onBranchSelect&&t.todos===e.todos);module.exports=P;
|
|
4
4
|
//# sourceMappingURL=AgentMessage.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentMessage.cjs.js","sources":["../../../src/components/messages/AgentMessage.tsx"],"sourcesContent":["import { cn } from \"@/utils/tailwindUtil\";\nimport { getContentString } from \"@/utils/utils\";\nimport type { Message } from \"@langchain/langgraph-sdk\";\nimport { BotMessageSquare, ChevronRight, LoaderCircle, Sparkles, Wrench } from \"lucide-react\";\nimport React, { useEffect, useState } from \"react\";\nimport { AgentMarkdown } from \"../ui/AgentMarkdown\";\nimport { BranchSwitcher } from \"./BranchSwitcher\";\nimport { MessageActions, type MessageFeedback } from \"./MessageActions\";\n\ntype ToolStatusEntry = {\n id?: string;\n name?: string;\n label?: string;\n event?: string;\n visible?: boolean;\n};\n\nfunction getReasoningFromKwargs(message: Message | undefined): string | null {\n if (!message) return null;\n const ak = (message as Record<string, unknown>).additional_kwargs as\n | Record<string, unknown>\n | undefined;\n if (\n ak &&\n typeof ak.reasoning_content === \"string\" &&\n ak.reasoning_content.length > 0\n ) {\n return ak.reasoning_content;\n }\n return null;\n}\n\nfunction AgentActivity({\n reasoningText,\n toolStatuses,\n isStreaming,\n fontSize,\n}: {\n reasoningText?: string;\n toolStatuses?: Array<{ key: string; label: string; isCompleted: boolean }>;\n isStreaming?: boolean;\n fontSize?: string;\n}) {\n const [expanded, setExpanded] = useState(false);\n\n useEffect(() => {\n setExpanded(!!isStreaming);\n }, [isStreaming]);\n\n const hasTools = toolStatuses && toolStatuses.length > 0;\n const hasReasoning = !!reasoningText && reasoningText.length > 0;\n\n if (!hasTools && !hasReasoning && !isStreaming) return null;\n\n return (\n <div className=\"my-1\">\n <button\n type=\"button\"\n onClick={() => setExpanded((p) => !p)}\n className=\"inline-flex items-center gap-1.5 text-xs text-zinc-400/80 transition-colors hover:text-zinc-300\"\n >\n {isStreaming ? (\n <LoaderCircle className=\"size-3 animate-spin\" />\n ) : (\n <Sparkles className=\"size-3\" />\n )}\n <span>{isStreaming ? \"Thinking\" : \"Thought\"}</span>\n <ChevronRight\n className={cn(\n \"size-3 transition-transform duration-200\",\n expanded && \"rotate-90\",\n )}\n />\n </button>\n {expanded && (\n <div className=\"mt-1.5 border-l-2 border-white/10 pl-4 space-y-1\">\n {hasTools && toolStatuses!.map((ts) => (\n <div key={ts.key} className=\"flex items-center gap-2 text-sm text-zinc-300 py-0.5\">\n {!ts.isCompleted && (\n <LoaderCircle className=\"size-3.5 animate-spin text-zinc-400\" />\n )}\n <Wrench className=\"size-3.5 text-zinc-500\" />\n <span>{ts.label}</span>\n </div>\n ))}\n {hasReasoning && (\n <div className=\"text-sm text-zinc-300\">\n <AgentMarkdown fontSize={fontSize}>{reasoningText!}</AgentMarkdown>\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n\nfunction toToolStatusEntry(value: unknown): ToolStatusEntry | null {\n if (!value || typeof value !== \"object\") return null;\n const v = value as Record<string, unknown>;\n\n const visible =\n typeof v.visible === \"boolean\"\n ? v.visible\n : typeof v.show === \"boolean\"\n ? v.show\n : typeof v.display === \"boolean\"\n ? v.display\n : typeof v.hidden === \"boolean\"\n ? !v.hidden\n : true;\n\n return {\n id: typeof v.id === \"string\" ? v.id : undefined,\n name: typeof v.name === \"string\" ? v.name : undefined,\n label: typeof v.label === \"string\" ? v.label : undefined,\n event: typeof v.event === \"string\" ? v.event : undefined,\n visible,\n };\n}\n\nfunction getToolStatusFromKwargs(message: Message | undefined): ToolStatusEntry[] {\n if (!message) return [];\n const ak = (message as Record<string, unknown>).additional_kwargs as\n | Record<string, unknown>\n | undefined;\n\n if (!ak || !Array.isArray(ak.tool_status)) return [];\n\n return (ak.tool_status as unknown[])\n .map(toToolStatusEntry)\n .filter((s): s is ToolStatusEntry => s !== null);\n}\n\nfunction hasToolStatusFieldInKwargs(message: Message | undefined): boolean {\n if (!message) return false;\n const ak = (message as Record<string, unknown>).additional_kwargs as\n | Record<string, unknown>\n | undefined;\n if (!ak) return false;\n return Object.prototype.hasOwnProperty.call(ak, \"tool_status\");\n}\n\nfunction normalizeSemanticKey(value: string | undefined): string {\n if (!value) return \"\";\n return value\n .toLowerCase()\n .replace(/\\s+/g, \" \")\n .replace(/\\s*event:\\s*metadata\\s*$/i, \"\")\n .trim();\n}\n\nfunction shouldRenderToolStatus(status: ToolStatusEntry): boolean {\n if (status.visible === false) return false;\n\n const labelKey = normalizeSemanticKey(status.label);\n if (labelKey.length === 0) return false;\n\n // Filter transport/debug noise like \"event: metadata\".\n if (status.event?.toLowerCase() === \"metadata\") return false;\n if (/\\bevent:\\s*metadata\\b/i.test(status.label ?? \"\")) return false;\n\n return true;\n}\n\nfunction normalizeToolLabel(name: string, input: unknown): string {\n if (!input) return name;\n if (typeof input === \"string\") {\n const trimmed = input.trim();\n if (trimmed.length === 0) return name;\n return `${name} ${trimmed.slice(0, 80)}${trimmed.length > 80 ? \"...\" : \"\"}`;\n }\n if (typeof input === \"object\") {\n try {\n const json = JSON.stringify(input);\n return `${name} ${json.length > 80 ? `${json.slice(0, 80)}...` : json}`;\n } catch {\n return name;\n }\n }\n return name;\n}\n\nfunction renderContentInline(\n groupedMessages: Message[] | undefined,\n showToolActivity: boolean,\n isActivelyStreaming?: boolean,\n fontSize?: string,\n) {\n if (!groupedMessages || groupedMessages.length === 0) return null;\n\n const timeline = groupedMessages;\n const toolMessages = timeline.filter((m) => m.type === \"tool\");\n const hasBackendToolStatus = timeline.some((m) => hasToolStatusFieldInKwargs(m));\n\n const completedToolIds = new Set(\n toolMessages\n .map((m) => (m as Record<string, unknown>).tool_call_id)\n .filter((id): id is string => typeof id === \"string\" && id.length > 0),\n );\n const completedToolNames = new Set(\n toolMessages\n .map((m) => (m as Record<string, unknown>).name)\n .filter((name): name is string => typeof name === \"string\" && name.length > 0),\n );\n\n // ── Collect activity (reasoning + tool statuses) and text content separately ──\n const collectedToolStatuses: Array<{ key: string; label: string; isCompleted: boolean }> = [];\n const reasoningTexts: string[] = [];\n const textParts: React.ReactNode[] = [];\n const renderedToolKeys = new Set<string>();\n let textIdx = 0;\n\n const collectToolStatusFromKwargs = (message: Message) => {\n if (!showToolActivity) return;\n for (const status of getToolStatusFromKwargs(message)) {\n if (!shouldRenderToolStatus(status)) continue;\n const semanticKey =\n normalizeSemanticKey(status.label) || normalizeSemanticKey(status.name) || \"tool\";\n if (renderedToolKeys.has(semanticKey)) continue;\n renderedToolKeys.add(semanticKey);\n const label = status.label ?? status.name ?? \"Running tool\";\n const isCompleted =\n (status.id ? completedToolIds.has(status.id) : false) ||\n (status.name ? completedToolNames.has(status.name) : false) ||\n !isActivelyStreaming;\n collectedToolStatuses.push({ key: semanticKey, label, isCompleted });\n }\n };\n\n for (const message of timeline) {\n if (message.type !== \"ai\") continue;\n\n const content = message.content;\n const kwargsReasoning = getReasoningFromKwargs(message);\n\n // Collect tool statuses from kwargs\n collectToolStatusFromKwargs(message);\n\n if (typeof content === \"string\") {\n if (kwargsReasoning) {\n // When reasoning_content exists in kwargs, the string content is the\n // same thinking text (set by messages-tuple before wrapModelCall clears\n // it). Capture it only as reasoning to avoid duplication.\n reasoningTexts.push(kwargsReasoning);\n } else if (content.length > 0) {\n textParts.push(\n <div key={`text-content-${message.id ?? textIdx}`} className=\"py-1\">\n <AgentMarkdown fontSize={fontSize}>{content}</AgentMarkdown>\n </div>,\n );\n textIdx++;\n }\n continue;\n }\n\n if (!Array.isArray(content)) {\n if (kwargsReasoning) reasoningTexts.push(kwargsReasoning);\n continue;\n }\n\n const blocks = content as Record<string, unknown>[];\n let textAccum = \"\";\n let hasReasoningBlock = false;\n\n const flushText = () => {\n if (textAccum.length > 0) {\n textParts.push(\n <div key={`text-${message.id ?? textIdx}-${textIdx}`} className=\"py-1\">\n <AgentMarkdown fontSize={fontSize}>{textAccum}</AgentMarkdown>\n </div>,\n );\n textAccum = \"\";\n textIdx++;\n }\n };\n\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i];\n if (block.type === \"text\" && typeof block.text === \"string\") {\n textAccum += block.text;\n continue;\n }\n\n if (\n (block.type === \"reasoning\" && typeof block.reasoning === \"string\") ||\n (block.type === \"thinking\" && typeof block.thinking === \"string\")\n ) {\n flushText();\n hasReasoningBlock = true;\n const text = (block.reasoning ?? block.thinking) as string;\n reasoningTexts.push(text);\n continue;\n }\n\n if (showToolActivity && !hasBackendToolStatus && block.type === \"tool_use\") {\n flushText();\n const toolId = typeof block.id === \"string\" ? block.id : undefined;\n const toolName = typeof block.name === \"string\" ? block.name : \"tool\";\n const semanticKey = normalizeSemanticKey(toolName) || `tool-${i}`;\n if (!renderedToolKeys.has(semanticKey)) {\n renderedToolKeys.add(semanticKey);\n const label = normalizeToolLabel(toolName, (block as Record<string, unknown>).input);\n const isCompleted = toolId ? completedToolIds.has(toolId) : !isActivelyStreaming;\n collectedToolStatuses.push({ key: semanticKey, label, isCompleted });\n }\n }\n }\n\n if (!hasReasoningBlock && kwargsReasoning) {\n // Same as the string-content case: kwargs reasoning duplicates the\n // text blocks, so discard accumulated text and capture as reasoning only.\n textAccum = \"\";\n reasoningTexts.push(kwargsReasoning);\n } else {\n flushText();\n }\n }\n\n // Fallback for legacy payloads without backend tool_status (only after streaming completes)\n if (showToolActivity && !isActivelyStreaming && !hasBackendToolStatus && collectedToolStatuses.length === 0 && textParts.length === 0 && toolMessages.length > 0) {\n for (const toolMessage of toolMessages) {\n collectedToolStatuses.push({\n key: `tool-msg-${toolMessage.id ?? textIdx}`,\n label: \"Tool call completed\",\n isCompleted: true,\n });\n textIdx++;\n }\n }\n\n // ── Assemble output: AgentActivity block first, then text content ──\n const parts: React.ReactNode[] = [];\n const hasTextContent = textParts.length > 0;\n const combinedReasoning = reasoningTexts.join(\"\\n\\n\");\n const hasActivity =\n (showToolActivity && collectedToolStatuses.length > 0) ||\n combinedReasoning.length > 0;\n const activityIsStreaming = !!isActivelyStreaming && !hasTextContent;\n\n if (hasActivity || activityIsStreaming) {\n parts.push(\n <AgentActivity\n key=\"agent-activity\"\n reasoningText={combinedReasoning || undefined}\n toolStatuses={showToolActivity ? collectedToolStatuses : undefined}\n isStreaming={activityIsStreaming}\n fontSize={fontSize}\n />,\n );\n }\n\n parts.push(...textParts);\n\n return parts.length > 0 ? <>{parts}</> : null;\n}\n\nfunction AgentMessage({\n agentName,\n fontSize,\n message,\n groupedMessages,\n showToolActivity = true,\n isStreaming = false,\n onRegenerate,\n feedback,\n onFeedback,\n branch,\n branchOptions,\n onBranchSelect,\n}: {\n agentName?: string;\n fontSize?: string;\n message: Message;\n groupedMessages?: Message[];\n showToolActivity?: boolean;\n isStreaming?: boolean;\n onRegenerate?: (parentCheckpoint: any | null | undefined, messageId: string, currentMessage: any) => void;\n feedback?: MessageFeedback;\n onFeedback?: (messageId: string, feedback: MessageFeedback) => void;\n branch?: string;\n branchOptions?: string[];\n onBranchSelect?: (branch: string) => void;\n}) {\n const content = getContentString(message?.content);\n const inlineContent = renderContentInline(groupedMessages ?? [message], showToolActivity, isStreaming, fontSize);\n\n return (\n <div className=\"agent-message flex flex-col gap-1 w-full group\">\n <div className=\"flex items-center gap-3 w-full\">\n <div\n className=\"rounded-full size-8 shrink-0 bg-zinc-800 flex items-center justify-center p-2\"\n data-alt=\"AI Avatar\"\n >\n <BotMessageSquare className=\"text-xs\" color=\"white\" />\n </div>\n <span className=\"text-zinc-500 text-sm\">{agentName || \"Agent\"}</span>\n </div>\n <div className=\"flex flex-1 flex-col gap-1 items-start min-w-0\">\n <div className=\"text-content text-foreground\" style={fontSize ? { fontSize } : undefined}>\n {inlineContent ? (\n inlineContent\n ) : (\n <>\n <div className=\"flex items-center gap-2 text-zinc-500\">\n {/* <Loader2 className=\"animate-spin\" size={16} /> */}\n <span>Thinking...</span>\n </div>\n {isStreaming && content && (\n <span className=\"inline-block w-2 h-4 ml-1 bg-zinc-400 animate-pulse\" />\n )}\n </>\n )}\n </div>\n\n {/* Branch switcher - show when multiple branches exist */}\n {!isStreaming && branch && branchOptions && onBranchSelect && branchOptions.length > 1 && (\n <BranchSwitcher\n branch={branch}\n branchOptions={branchOptions}\n onSelect={onBranchSelect}\n isLoading={isStreaming}\n />\n )}\n\n {/* Show actions only when not streaming and content exists */}\n {!isStreaming && content && (\n <MessageActions\n message={message}\n onRegenerate={onRegenerate}\n feedback={feedback}\n onFeedback={onFeedback}\n className=\"\"\n />\n )}\n </div>\n </div>\n );\n}\n\n// Memoize - only re-render if message ID changes or streaming state changes\nexport default React.memo(AgentMessage, (prevProps, nextProps) => {\n // If it's streaming, we need to re-render to show updates\n if (nextProps.isStreaming) {\n return false; // Always re-render when streaming\n }\n\n // Otherwise, only re-render if the message ID, feedback, branch, or callbacks changed\n return (\n prevProps.message.id === nextProps.message.id &&\n prevProps.groupedMessages?.length === nextProps.groupedMessages?.length &&\n prevProps.showToolActivity === nextProps.showToolActivity &&\n prevProps.isStreaming === nextProps.isStreaming &&\n prevProps.feedback === nextProps.feedback &&\n prevProps.onRegenerate === nextProps.onRegenerate &&\n prevProps.onFeedback === nextProps.onFeedback &&\n prevProps.branch === nextProps.branch &&\n prevProps.branchOptions?.length === nextProps.branchOptions?.length &&\n prevProps.onBranchSelect === nextProps.onBranchSelect\n );\n});\n"],"names":["getReasoningFromKwargs","message","ak","AgentActivity","reasoningText","toolStatuses","isStreaming","fontSize","expanded","setExpanded","useState","useEffect","hasTools","hasReasoning","jsxs","p","jsx","LoaderCircle","Sparkles","ChevronRight","cn","ts","Wrench","AgentMarkdown","toToolStatusEntry","value","v","visible","getToolStatusFromKwargs","hasToolStatusFieldInKwargs","normalizeSemanticKey","shouldRenderToolStatus","status","normalizeToolLabel","name","input","trimmed","json","renderContentInline","groupedMessages","showToolActivity","isActivelyStreaming","timeline","toolMessages","m","hasBackendToolStatus","completedToolIds","id","completedToolNames","collectedToolStatuses","reasoningTexts","textParts","renderedToolKeys","textIdx","collectToolStatusFromKwargs","semanticKey","label","isCompleted","content","kwargsReasoning","blocks","textAccum","hasReasoningBlock","flushText","i","block","text","toolId","toolName","toolMessage","parts","hasTextContent","combinedReasoning","hasActivity","activityIsStreaming","Fragment","AgentMessage","agentName","onRegenerate","feedback","onFeedback","branch","branchOptions","onBranchSelect","getContentString","inlineContent","BotMessageSquare","BranchSwitcher","MessageActions","React","prevProps","nextProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgentMessage.cjs.js","sources":["../../../src/components/messages/AgentMessage.tsx"],"sourcesContent":["import { cn } from \"@/utils/tailwindUtil\";\nimport type { TodoItem } from \"@/providers/Stream\";\nimport { getContentString } from \"@/utils/utils\";\nimport type { Message } from \"@langchain/langgraph-sdk\";\nimport { BotMessageSquare, ChevronRight, LoaderCircle, Sparkles, Wrench } from \"lucide-react\";\nimport React, { useEffect, useState } from \"react\";\nimport TodoList from \"../TodoList\";\nimport { AgentMarkdown } from \"../ui/AgentMarkdown\";\nimport { BranchSwitcher } from \"./BranchSwitcher\";\nimport { MessageActions, type MessageFeedback } from \"./MessageActions\";\n\ntype ToolStatusEntry = {\n id?: string;\n name?: string;\n label?: string;\n event?: string;\n visible?: boolean;\n};\n\nfunction getReasoningFromKwargs(message: Message | undefined): string | null {\n if (!message) return null;\n const ak = (message as Record<string, unknown>).additional_kwargs as\n | Record<string, unknown>\n | undefined;\n if (\n ak &&\n typeof ak.reasoning_content === \"string\" &&\n ak.reasoning_content.length > 0\n ) {\n return ak.reasoning_content;\n }\n return null;\n}\n\nfunction AgentActivity({\n reasoningText,\n toolStatuses,\n isStreaming,\n fontSize,\n}: {\n reasoningText?: string;\n toolStatuses?: Array<{ key: string; label: string; isCompleted: boolean }>;\n isStreaming?: boolean;\n fontSize?: string;\n}) {\n const [expanded, setExpanded] = useState(false);\n\n useEffect(() => {\n setExpanded(!!isStreaming);\n }, [isStreaming]);\n\n const hasTools = toolStatuses && toolStatuses.length > 0;\n const hasReasoning = !!reasoningText && reasoningText.length > 0;\n\n if (!hasTools && !hasReasoning && !isStreaming) return null;\n\n return (\n <div className=\"my-1\">\n <button\n type=\"button\"\n onClick={() => setExpanded((p) => !p)}\n className=\"inline-flex items-center gap-1.5 text-xs text-zinc-400/80 transition-colors hover:text-zinc-300\"\n >\n {isStreaming ? (\n <LoaderCircle className=\"size-3 animate-spin\" />\n ) : (\n <Sparkles className=\"size-3\" />\n )}\n <span>{isStreaming ? \"Thinking\" : \"Thought\"}</span>\n <ChevronRight\n className={cn(\n \"size-3 transition-transform duration-200\",\n expanded && \"rotate-90\",\n )}\n />\n </button>\n {expanded && (\n <div className=\"mt-1.5 border-l-2 border-white/10 pl-4 space-y-1\">\n {hasTools && toolStatuses!.map((ts) => (\n <div key={ts.key} className=\"flex items-center gap-2 text-sm text-zinc-300 py-0.5\">\n {!ts.isCompleted && (\n <LoaderCircle className=\"size-3.5 animate-spin text-zinc-400\" />\n )}\n <Wrench className=\"size-3.5 text-zinc-500\" />\n <span>{ts.label}</span>\n </div>\n ))}\n {hasReasoning && (\n <div className=\"text-sm text-zinc-300\">\n <AgentMarkdown fontSize={fontSize}>{reasoningText!}</AgentMarkdown>\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n\nfunction toToolStatusEntry(value: unknown): ToolStatusEntry | null {\n if (!value || typeof value !== \"object\") return null;\n const v = value as Record<string, unknown>;\n\n const visible =\n typeof v.visible === \"boolean\"\n ? v.visible\n : typeof v.show === \"boolean\"\n ? v.show\n : typeof v.display === \"boolean\"\n ? v.display\n : typeof v.hidden === \"boolean\"\n ? !v.hidden\n : true;\n\n return {\n id: typeof v.id === \"string\" ? v.id : undefined,\n name: typeof v.name === \"string\" ? v.name : undefined,\n label: typeof v.label === \"string\" ? v.label : undefined,\n event: typeof v.event === \"string\" ? v.event : undefined,\n visible,\n };\n}\n\nfunction getToolStatusFromKwargs(message: Message | undefined): ToolStatusEntry[] {\n if (!message) return [];\n const ak = (message as Record<string, unknown>).additional_kwargs as\n | Record<string, unknown>\n | undefined;\n\n if (!ak || !Array.isArray(ak.tool_status)) return [];\n\n return (ak.tool_status as unknown[])\n .map(toToolStatusEntry)\n .filter((s): s is ToolStatusEntry => s !== null);\n}\n\nfunction hasToolStatusFieldInKwargs(message: Message | undefined): boolean {\n if (!message) return false;\n const ak = (message as Record<string, unknown>).additional_kwargs as\n | Record<string, unknown>\n | undefined;\n if (!ak) return false;\n return Object.prototype.hasOwnProperty.call(ak, \"tool_status\");\n}\n\nfunction normalizeSemanticKey(value: string | undefined): string {\n if (!value) return \"\";\n return value\n .toLowerCase()\n .replace(/\\s+/g, \" \")\n .replace(/\\s*event:\\s*metadata\\s*$/i, \"\")\n .trim();\n}\n\nfunction shouldRenderToolStatus(status: ToolStatusEntry): boolean {\n if (status.visible === false) return false;\n\n const labelKey = normalizeSemanticKey(status.label);\n if (labelKey.length === 0) return false;\n\n // Filter transport/debug noise like \"event: metadata\".\n if (status.event?.toLowerCase() === \"metadata\") return false;\n if (/\\bevent:\\s*metadata\\b/i.test(status.label ?? \"\")) return false;\n\n return true;\n}\n\nfunction normalizeToolLabel(name: string, input: unknown): string {\n if (!input) return name;\n if (typeof input === \"string\") {\n const trimmed = input.trim();\n if (trimmed.length === 0) return name;\n return `${name} ${trimmed.slice(0, 80)}${trimmed.length > 80 ? \"...\" : \"\"}`;\n }\n if (typeof input === \"object\") {\n try {\n const json = JSON.stringify(input);\n return `${name} ${json.length > 80 ? `${json.slice(0, 80)}...` : json}`;\n } catch {\n return name;\n }\n }\n return name;\n}\n\nfunction renderContentInline(\n groupedMessages: Message[] | undefined,\n showToolActivity: boolean,\n isActivelyStreaming?: boolean,\n fontSize?: string,\n) {\n if (!groupedMessages || groupedMessages.length === 0) return null;\n\n const timeline = groupedMessages;\n const toolMessages = timeline.filter((m) => m.type === \"tool\");\n const hasBackendToolStatus = timeline.some((m) => hasToolStatusFieldInKwargs(m));\n\n const completedToolIds = new Set(\n toolMessages\n .map((m) => (m as Record<string, unknown>).tool_call_id)\n .filter((id): id is string => typeof id === \"string\" && id.length > 0),\n );\n const completedToolNames = new Set(\n toolMessages\n .map((m) => (m as Record<string, unknown>).name)\n .filter((name): name is string => typeof name === \"string\" && name.length > 0),\n );\n\n // ── Collect activity (reasoning + tool statuses) and text content separately ──\n const collectedToolStatuses: Array<{ key: string; label: string; isCompleted: boolean }> = [];\n const reasoningTexts: string[] = [];\n const textParts: React.ReactNode[] = [];\n const renderedToolKeys = new Set<string>();\n let textIdx = 0;\n\n const collectToolStatusFromKwargs = (message: Message) => {\n if (!showToolActivity) return;\n for (const status of getToolStatusFromKwargs(message)) {\n if (!shouldRenderToolStatus(status)) continue;\n const semanticKey =\n normalizeSemanticKey(status.label) || normalizeSemanticKey(status.name) || \"tool\";\n if (renderedToolKeys.has(semanticKey)) continue;\n renderedToolKeys.add(semanticKey);\n const label = status.label ?? status.name ?? \"Running tool\";\n const isCompleted =\n (status.id ? completedToolIds.has(status.id) : false) ||\n (status.name ? completedToolNames.has(status.name) : false) ||\n !isActivelyStreaming;\n collectedToolStatuses.push({ key: semanticKey, label, isCompleted });\n }\n };\n\n for (const message of timeline) {\n if (message.type !== \"ai\") continue;\n\n const content = message.content;\n const kwargsReasoning = getReasoningFromKwargs(message);\n\n // Collect tool statuses from kwargs\n collectToolStatusFromKwargs(message);\n\n if (typeof content === \"string\") {\n if (kwargsReasoning) {\n // When reasoning_content exists in kwargs, the string content is the\n // same thinking text (set by messages-tuple before wrapModelCall clears\n // it). Capture it only as reasoning to avoid duplication.\n reasoningTexts.push(kwargsReasoning);\n } else if (content.length > 0) {\n textParts.push(\n <div key={`text-content-${message.id ?? textIdx}`} className=\"py-1\">\n <AgentMarkdown fontSize={fontSize}>{content}</AgentMarkdown>\n </div>,\n );\n textIdx++;\n }\n continue;\n }\n\n if (!Array.isArray(content)) {\n if (kwargsReasoning) reasoningTexts.push(kwargsReasoning);\n continue;\n }\n\n const blocks = content as Record<string, unknown>[];\n let textAccum = \"\";\n let hasReasoningBlock = false;\n\n const flushText = () => {\n if (textAccum.length > 0) {\n textParts.push(\n <div key={`text-${message.id ?? textIdx}-${textIdx}`} className=\"py-1\">\n <AgentMarkdown fontSize={fontSize}>{textAccum}</AgentMarkdown>\n </div>,\n );\n textAccum = \"\";\n textIdx++;\n }\n };\n\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i];\n if (block.type === \"text\" && typeof block.text === \"string\") {\n textAccum += block.text;\n continue;\n }\n\n if (\n (block.type === \"reasoning\" && typeof block.reasoning === \"string\") ||\n (block.type === \"thinking\" && typeof block.thinking === \"string\")\n ) {\n flushText();\n hasReasoningBlock = true;\n const text = (block.reasoning ?? block.thinking) as string;\n reasoningTexts.push(text);\n continue;\n }\n\n if (showToolActivity && !hasBackendToolStatus && block.type === \"tool_use\") {\n flushText();\n const toolId = typeof block.id === \"string\" ? block.id : undefined;\n const toolName = typeof block.name === \"string\" ? block.name : \"tool\";\n const semanticKey = normalizeSemanticKey(toolName) || `tool-${i}`;\n if (!renderedToolKeys.has(semanticKey)) {\n renderedToolKeys.add(semanticKey);\n const label = normalizeToolLabel(toolName, (block as Record<string, unknown>).input);\n const isCompleted = toolId ? completedToolIds.has(toolId) : !isActivelyStreaming;\n collectedToolStatuses.push({ key: semanticKey, label, isCompleted });\n }\n }\n }\n\n if (!hasReasoningBlock && kwargsReasoning) {\n // Same as the string-content case: kwargs reasoning duplicates the\n // text blocks, so discard accumulated text and capture as reasoning only.\n textAccum = \"\";\n reasoningTexts.push(kwargsReasoning);\n } else {\n flushText();\n }\n }\n\n // Fallback for legacy payloads without backend tool_status (only after streaming completes)\n if (showToolActivity && !isActivelyStreaming && !hasBackendToolStatus && collectedToolStatuses.length === 0 && textParts.length === 0 && toolMessages.length > 0) {\n for (const toolMessage of toolMessages) {\n collectedToolStatuses.push({\n key: `tool-msg-${toolMessage.id ?? textIdx}`,\n label: \"Tool call completed\",\n isCompleted: true,\n });\n textIdx++;\n }\n }\n\n // ── Assemble output: AgentActivity block first, then text content ──\n const parts: React.ReactNode[] = [];\n const hasTextContent = textParts.length > 0;\n const combinedReasoning = reasoningTexts.join(\"\\n\\n\");\n const hasActivity =\n (showToolActivity && collectedToolStatuses.length > 0) ||\n combinedReasoning.length > 0;\n const activityIsStreaming = !!isActivelyStreaming && !hasTextContent;\n\n if (hasActivity || activityIsStreaming) {\n parts.push(\n <AgentActivity\n key=\"agent-activity\"\n reasoningText={combinedReasoning || undefined}\n toolStatuses={showToolActivity ? collectedToolStatuses : undefined}\n isStreaming={activityIsStreaming}\n fontSize={fontSize}\n />,\n );\n }\n\n parts.push(...textParts);\n\n return parts.length > 0 ? <>{parts}</> : null;\n}\n\nfunction AgentMessage({\n agentName,\n fontSize,\n message,\n groupedMessages,\n showToolActivity = true,\n isStreaming = false,\n onRegenerate,\n feedback,\n onFeedback,\n branch,\n branchOptions,\n onBranchSelect,\n todos,\n}: {\n agentName?: string;\n fontSize?: string;\n message: Message;\n groupedMessages?: Message[];\n showToolActivity?: boolean;\n isStreaming?: boolean;\n onRegenerate?: (parentCheckpoint: any | null | undefined, messageId: string, currentMessage: any) => void;\n feedback?: MessageFeedback;\n onFeedback?: (messageId: string, feedback: MessageFeedback) => void;\n branch?: string;\n branchOptions?: string[];\n onBranchSelect?: (branch: string) => void;\n todos?: TodoItem[];\n}) {\n const content = getContentString(message?.content);\n const inlineContent = renderContentInline(groupedMessages ?? [message], showToolActivity, isStreaming, fontSize);\n\n return (\n <div className=\"agent-message flex flex-col gap-1 w-full group\">\n <div className=\"flex items-center gap-3 w-full\">\n <div\n className=\"rounded-full size-8 shrink-0 bg-zinc-800 flex items-center justify-center p-2\"\n data-alt=\"AI Avatar\"\n >\n <BotMessageSquare className=\"text-xs\" color=\"white\" />\n </div>\n <span className=\"text-zinc-500 text-sm\">{agentName || \"Agent\"}</span>\n </div>\n <div className=\"flex flex-1 flex-col gap-1 items-start min-w-0\">\n {todos && todos.length > 0 && <TodoList todos={todos} />}\n <div className=\"text-content text-foreground\" style={fontSize ? { fontSize } : undefined}>\n {inlineContent ? (\n inlineContent\n ) : (\n <>\n <div className=\"flex items-center gap-2 text-zinc-500\">\n {/* <Loader2 className=\"animate-spin\" size={16} /> */}\n <span>Thinking...</span>\n </div>\n {isStreaming && content && (\n <span className=\"inline-block w-2 h-4 ml-1 bg-zinc-400 animate-pulse\" />\n )}\n </>\n )}\n </div>\n\n {/* Branch switcher - show when multiple branches exist */}\n {!isStreaming && branch && branchOptions && onBranchSelect && branchOptions.length > 1 && (\n <BranchSwitcher\n branch={branch}\n branchOptions={branchOptions}\n onSelect={onBranchSelect}\n isLoading={isStreaming}\n />\n )}\n\n {/* Show actions only when not streaming and content exists */}\n {!isStreaming && content && (\n <MessageActions\n message={message}\n onRegenerate={onRegenerate}\n feedback={feedback}\n onFeedback={onFeedback}\n className=\"\"\n />\n )}\n </div>\n </div>\n );\n}\n\n// Memoize - only re-render if message ID changes or streaming state changes\nexport default React.memo(AgentMessage, (prevProps, nextProps) => {\n // If it's streaming, we need to re-render to show updates\n if (nextProps.isStreaming) {\n return false; // Always re-render when streaming\n }\n\n // Otherwise, only re-render if the message ID, feedback, branch, or callbacks changed\n return (\n prevProps.message.id === nextProps.message.id &&\n prevProps.groupedMessages?.length === nextProps.groupedMessages?.length &&\n prevProps.showToolActivity === nextProps.showToolActivity &&\n prevProps.isStreaming === nextProps.isStreaming &&\n prevProps.feedback === nextProps.feedback &&\n prevProps.onRegenerate === nextProps.onRegenerate &&\n prevProps.onFeedback === nextProps.onFeedback &&\n prevProps.branch === nextProps.branch &&\n prevProps.branchOptions?.length === nextProps.branchOptions?.length &&\n prevProps.onBranchSelect === nextProps.onBranchSelect &&\n prevProps.todos === nextProps.todos\n );\n});\n"],"names":["getReasoningFromKwargs","message","ak","AgentActivity","reasoningText","toolStatuses","isStreaming","fontSize","expanded","setExpanded","useState","useEffect","hasTools","hasReasoning","jsxs","p","jsx","LoaderCircle","Sparkles","ChevronRight","cn","ts","Wrench","AgentMarkdown","toToolStatusEntry","value","v","visible","getToolStatusFromKwargs","hasToolStatusFieldInKwargs","normalizeSemanticKey","shouldRenderToolStatus","status","normalizeToolLabel","name","input","trimmed","json","renderContentInline","groupedMessages","showToolActivity","isActivelyStreaming","timeline","toolMessages","m","hasBackendToolStatus","completedToolIds","id","completedToolNames","collectedToolStatuses","reasoningTexts","textParts","renderedToolKeys","textIdx","collectToolStatusFromKwargs","semanticKey","label","isCompleted","content","kwargsReasoning","blocks","textAccum","hasReasoningBlock","flushText","i","block","text","toolId","toolName","toolMessage","parts","hasTextContent","combinedReasoning","hasActivity","activityIsStreaming","Fragment","AgentMessage","agentName","onRegenerate","feedback","onFeedback","branch","branchOptions","onBranchSelect","todos","getContentString","inlineContent","BotMessageSquare","TodoList","BranchSwitcher","MessageActions","React","prevProps","nextProps"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { TodoItem } from '../../providers/Stream';
|
|
1
2
|
import { Message } from '@langchain/langgraph-sdk';
|
|
2
3
|
import { default as React } from 'react';
|
|
3
4
|
import { MessageFeedback } from './MessageActions';
|
|
4
|
-
declare function AgentMessage({ agentName, fontSize, message, groupedMessages, showToolActivity, isStreaming, onRegenerate, feedback, onFeedback, branch, branchOptions, onBranchSelect, }: {
|
|
5
|
+
declare function AgentMessage({ agentName, fontSize, message, groupedMessages, showToolActivity, isStreaming, onRegenerate, feedback, onFeedback, branch, branchOptions, onBranchSelect, todos, }: {
|
|
5
6
|
agentName?: string;
|
|
6
7
|
fontSize?: string;
|
|
7
8
|
message: Message;
|
|
@@ -14,6 +15,7 @@ declare function AgentMessage({ agentName, fontSize, message, groupedMessages, s
|
|
|
14
15
|
branch?: string;
|
|
15
16
|
branchOptions?: string[];
|
|
16
17
|
onBranchSelect?: (branch: string) => void;
|
|
18
|
+
todos?: TodoItem[];
|
|
17
19
|
}): import("react/jsx-runtime").JSX.Element;
|
|
18
20
|
declare const _default: React.MemoExoticComponent<typeof AgentMessage>;
|
|
19
21
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AgentMessage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AgentMessage.d.ts","sourceRoot":"","sources":["../../../src/components/messages/AgentMessage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA6VxE,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,OAAO,EACP,eAAe,EACf,gBAAuB,EACvB,WAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,MAAM,EACN,aAAa,EACb,cAAc,EACd,KAAK,GACN,EAAE;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1G,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACpB,2CAwDA;;AAGD,wBAoBG"}
|