@chat-lab/ui 0.1.0-beta.62 → 0.1.0-beta.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/assets/ComposerAdd.cjs +10 -0
  2. package/dist/assets/ComposerAdd.cjs.map +1 -0
  3. package/dist/assets/ComposerAdd.d.ts +3 -0
  4. package/dist/assets/ComposerAdd.d.ts.map +1 -0
  5. package/dist/assets/ComposerAdd.js +8 -0
  6. package/dist/assets/ComposerAdd.js.map +1 -0
  7. package/dist/components/Chatkit/index.cjs +13 -10
  8. package/dist/components/Chatkit/index.cjs.map +1 -1
  9. package/dist/components/Chatkit/index.d.ts.map +1 -1
  10. package/dist/components/Chatkit/index.js +13 -10
  11. package/dist/components/Chatkit/index.js.map +1 -1
  12. package/dist/components/Chatkit/types.d.ts +6 -4
  13. package/dist/components/Chatkit/types.d.ts.map +1 -1
  14. package/dist/components/assistant-ui/attachment.cjs +23 -14
  15. package/dist/components/assistant-ui/attachment.cjs.map +1 -1
  16. package/dist/components/assistant-ui/attachment.d.ts +1 -0
  17. package/dist/components/assistant-ui/attachment.d.ts.map +1 -1
  18. package/dist/components/assistant-ui/attachment.js +24 -15
  19. package/dist/components/assistant-ui/attachment.js.map +1 -1
  20. package/dist/components/assistant-ui/reasoning.cjs +15 -15
  21. package/dist/components/assistant-ui/reasoning.cjs.map +1 -1
  22. package/dist/components/assistant-ui/reasoning.d.ts.map +1 -1
  23. package/dist/components/assistant-ui/reasoning.js +15 -15
  24. package/dist/components/assistant-ui/reasoning.js.map +1 -1
  25. package/dist/components/assistant-ui/thread.cjs +22 -59
  26. package/dist/components/assistant-ui/thread.cjs.map +1 -1
  27. package/dist/components/assistant-ui/thread.d.ts.map +1 -1
  28. package/dist/components/assistant-ui/thread.js +22 -59
  29. package/dist/components/assistant-ui/thread.js.map +1 -1
  30. package/dist/contexts/ChatkitContext.cjs.map +1 -1
  31. package/dist/contexts/ChatkitContext.d.ts +4 -3
  32. package/dist/contexts/ChatkitContext.d.ts.map +1 -1
  33. package/dist/contexts/ChatkitContext.js.map +1 -1
  34. package/dist/hooks/useClawChat/ClawProtocolAdaptor.cjs +2 -2
  35. package/dist/hooks/useClawChat/ClawProtocolAdaptor.cjs.map +1 -1
  36. package/dist/hooks/useClawChat/ClawProtocolAdaptor.js +2 -2
  37. package/dist/hooks/useClawChat/ClawProtocolAdaptor.js.map +1 -1
  38. package/dist/hooks/useClawChat/clawCompletion.cjs +4 -1
  39. package/dist/hooks/useClawChat/clawCompletion.cjs.map +1 -1
  40. package/dist/hooks/useClawChat/clawCompletion.d.ts +1 -1
  41. package/dist/hooks/useClawChat/clawCompletion.d.ts.map +1 -1
  42. package/dist/hooks/useClawChat/clawCompletion.js +4 -1
  43. package/dist/hooks/useClawChat/clawCompletion.js.map +1 -1
  44. package/dist/hooks/useClawChat/convertHistoryMessage.cjs +25 -16
  45. package/dist/hooks/useClawChat/convertHistoryMessage.cjs.map +1 -1
  46. package/dist/hooks/useClawChat/convertHistoryMessage.d.ts.map +1 -1
  47. package/dist/hooks/useClawChat/convertHistoryMessage.js +25 -16
  48. package/dist/hooks/useClawChat/convertHistoryMessage.js.map +1 -1
  49. package/dist/hooks/useClawChat/index.cjs +5 -1
  50. package/dist/hooks/useClawChat/index.cjs.map +1 -1
  51. package/dist/hooks/useClawChat/index.d.ts +1 -1
  52. package/dist/hooks/useClawChat/index.d.ts.map +1 -1
  53. package/dist/hooks/useClawChat/index.js +5 -1
  54. package/dist/hooks/useClawChat/index.js.map +1 -1
  55. package/dist/index.css +1 -1
  56. package/dist/utils/convertToAssistantMessage.cjs +2 -1
  57. package/dist/utils/convertToAssistantMessage.cjs.map +1 -1
  58. package/dist/utils/convertToAssistantMessage.d.ts +1 -0
  59. package/dist/utils/convertToAssistantMessage.d.ts.map +1 -1
  60. package/dist/utils/convertToAssistantMessage.js +2 -1
  61. package/dist/utils/convertToAssistantMessage.js.map +1 -1
  62. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"convertToAssistantMessage.js","sources":["../../src/utils/convertToAssistantMessage.ts"],"sourcesContent":["import {\n CompleteAttachment,\n MessageStatus,\n ReasoningMessagePart,\n ThreadAssistantMessagePart,\n ThreadMessageLike,\n ToolCallMessagePart,\n} from '@assistant-ui/react';\nimport {\n ChatMessage,\n MessageStatus as MessageStatusEnum,\n} from '@chat-lab/core';\nimport {\n compact, keys, last, uniq, uniqueId, without,\n} from 'lodash-es';\n\ntype Mutable<T> = {\n -readonly [K in keyof T]: T[K]; // -readonly 表示移除 readonly 修饰符\n};\n\nconst convertToAssistantMessage = (\n messages: Readonly<ChatMessage>[],\n options: { toolDisplay?: 'group' | 'none' | 'step' } = {\n toolDisplay: 'group',\n },\n) => {\n const authors = without(\n uniq(\n messages\n .map((message) => compact(\n message?.content?.map(\n (part) => part.type === 'text' && (part as any)?.author,\n ),\n ))\n .flat(),\n ),\n 'user',\n );\n\n const uiMessages = messages.map<ThreadMessageLike>((cur) => {\n let status: MessageStatus | undefined;\n if (cur.role === 'assistant') {\n status = ![MessageStatusEnum.PENDING, MessageStatusEnum.SENDING].includes(\n cur.status,\n )\n ? { type: 'complete', reason: 'stop' }\n : { type: 'running' };\n }\n\n const toolGroup: ToolCallMessagePart<Record<string, any>, null> = {\n type: 'tool-call',\n toolCallId: `tool-group-${cur.id}`,\n toolName: 'tool-group',\n args: {},\n argsText: JSON.stringify({}),\n };\n\n const reasoningParts: (Mutable<ReasoningMessagePart> & {\n author: string;\n authorIdx: number;\n })[] = [];\n\n const authorFirstMessage = new Set();\n\n const attaches: CompleteAttachment[] = [];\n const content = [...cur.content]\n .sort((a, b) => {\n const aAuthor = (a as any).author;\n const bAuthor = (b as any).author;\n if (aAuthor && bAuthor) {\n return authors.indexOf(aAuthor) - authors.indexOf(bAuthor);\n }\n return 0;\n })\n .reduce((acc, part, index) => {\n const lastPart = last(acc);\n const { author } = (part as any);\n const authorIdx = authors.indexOf(author);\n const showAvatar = authors.length >= 2 && !authorFirstMessage.has(author);\n const marginLeft = authors.length >= 2 && authorFirstMessage.has(author);\n\n if (author && showAvatar) {\n authorFirstMessage.add(author);\n }\n\n if (part.type === 'text') {\n try {\n const { text } = part;\n if (\n text?.[0] === '['\n && text?.[text.length - 1] === ']'\n && cur.role === 'user'\n ) {\n const files = text.slice(1, -1).split(',');\n files.forEach((file) => {\n attaches.push({\n id: uniqueId(),\n type: 'file',\n status: {\n type: 'complete',\n },\n contentType: 'plain/text',\n name: file,\n content: [],\n });\n });\n\n return acc;\n }\n } catch (e) {}\n if (\n lastPart\n && lastPart.type === 'text'\n && (lastPart as any).author === author\n ) {\n lastPart.text += `\\n${part.text}`;\n } else {\n acc.push({\n type: part.type,\n text: part.text,\n author,\n authorIdx,\n ...(authors.length >= 2 && { showAvatar, marginLeft }),\n });\n }\n } else if (part.type === 'reasoning') {\n const lastReasoningPart = last(reasoningParts);\n if (\n lastReasoningPart\n && (lastReasoningPart as any).author === author\n ) {\n lastReasoningPart.text += part.text;\n } else {\n reasoningParts.push({\n type: 'reasoning',\n text: part.text,\n author,\n authorIdx,\n ...(authors.length > 2 && { showAvatar, marginLeft }),\n });\n }\n } else if (part.type === 'image') {\n attaches.push({\n type: part.type,\n image: part.imageUrl.url,\n ...(authors.length > 2 && { showAvatar, marginLeft }),\n });\n } else if (part.type === 'file') {\n const data = part.fileUrl\n || `data:${part.mimeType};base64,${part.fileData}`\n || '';\n attaches.push({\n type: part.type,\n data,\n filename: part.name,\n mimeType: part.mimeType,\n // ...(authors.length > 2 && { showAvatar, marginLeft }),\n });\n } else if (part.type === 'tool_call') {\n if (options.toolDisplay === 'group') {\n toolGroup.args[part.toolCallId] = {\n type: 'tool-call',\n index,\n toolCallId: part.toolCallId,\n toolName: part.toolCallName,\n args: part.toolCallArgs as Record<string, string>,\n argsText: JSON.stringify(part.toolCallArgs),\n result: part.content,\n author,\n authorIdx,\n ...(authors.length >= 2 && { showAvatar, marginLeft }),\n };\n } else if (options.toolDisplay === 'step') {\n acc.push({\n type: 'tool-call',\n toolCallId: part.toolCallId,\n toolName: part.toolCallName,\n args: part.toolCallArgs as Record<string, string>,\n argsText: JSON.stringify(part.toolCallArgs),\n result: part.content,\n author,\n authorIdx,\n ...(authors.length >= 2 && { showAvatar, marginLeft }),\n });\n }\n }\n return acc;\n }, [] as any[]);\n\n if (cur.status === MessageStatusEnum.ERROR || cur.error) {\n return {\n id: cur.id,\n role: cur.role,\n status: {\n type: 'incomplete',\n reason: 'error',\n error:\n (cur?.error as { message?: string })?.message || (cur.error as any),\n },\n content: compact([\n cur.role === 'assistant'\n && options.toolDisplay === 'group'\n && keys(toolGroup.args).length > 0\n ? toolGroup\n : undefined,\n ...(content as ThreadAssistantMessagePart[]),\n ]),\n metadata: cur.metadata,\n };\n }\n\n const uiMessage: Mutable<\n Omit<ThreadMessageLike, 'content'> & {\n content: Exclude<ThreadMessageLike['content'], string>;\n }\n > = {\n id: cur.id,\n role: cur.role,\n status,\n attachments: [\n ...((cur.attaches?.map((item) => ({\n status: { type: 'complete' },\n id: item.id,\n name: item.id,\n type: 'file',\n contentType: item.mimeType,\n content: [\n {\n type: item.type,\n image: item.url,\n },\n ],\n })) || []) as CompleteAttachment[]),\n ...attaches,\n ],\n content: compact([\n ...reasoningParts,\n cur.role === 'assistant'\n && options.toolDisplay === 'group'\n && keys(toolGroup.args).length > 0\n ? toolGroup\n : undefined,\n ...(content as ThreadAssistantMessagePart[]),\n ]),\n metadata: {\n ...cur.metadata,\n invocationIds:\n keys(toolGroup.args).length > 0 ? keys(toolGroup.args) : undefined,\n } as any,\n };\n return uiMessage;\n });\n\n return { uiMessages, authors };\n};\n\nexport default convertToAssistantMessage;\n"],"names":["MessageStatusEnum"],"mappings":"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"}
1
+ {"version":3,"file":"convertToAssistantMessage.js","sources":["../../src/utils/convertToAssistantMessage.ts"],"sourcesContent":["import {\n CompleteAttachment,\n MessageStatus,\n ReasoningMessagePart,\n ThreadAssistantMessagePart,\n ThreadMessageLike,\n ToolCallMessagePart,\n} from '@assistant-ui/react';\nimport {\n ChatMessage,\n MessageStatus as MessageStatusEnum,\n} from '@chat-lab/core';\nimport {\n compact, keys, last, uniq, uniqueId, without,\n} from 'lodash-es';\n\ntype Mutable<T> = {\n -readonly [K in keyof T]: T[K]; // -readonly 表示移除 readonly 修饰符\n};\n\nconst convertToAssistantMessage = (\n messages: Readonly<ChatMessage>[],\n options: { toolDisplay?: 'group' | 'none' | 'step'; showReasoning?: boolean } = {\n toolDisplay: 'group',\n showReasoning: true,\n },\n) => {\n const authors = without(\n uniq(\n messages\n .map((message) => compact(\n message?.content?.map(\n (part) => part.type === 'text' && (part as any)?.author,\n ),\n ))\n .flat(),\n ),\n 'user',\n );\n\n const uiMessages = messages.map<ThreadMessageLike>((cur) => {\n let status: MessageStatus | undefined;\n if (cur.role === 'assistant') {\n status = ![MessageStatusEnum.PENDING, MessageStatusEnum.SENDING].includes(\n cur.status,\n )\n ? { type: 'complete', reason: 'stop' }\n : { type: 'running' };\n }\n\n const toolGroup: ToolCallMessagePart<Record<string, any>, null> = {\n type: 'tool-call',\n toolCallId: `tool-group-${cur.id}`,\n toolName: 'tool-group',\n args: {},\n argsText: JSON.stringify({}),\n };\n\n const reasoningParts: (Mutable<ReasoningMessagePart> & {\n author: string;\n authorIdx: number;\n })[] = [];\n\n const authorFirstMessage = new Set();\n\n const attaches: CompleteAttachment[] = [];\n const content = [...cur.content]\n .sort((a, b) => {\n const aAuthor = (a as any).author;\n const bAuthor = (b as any).author;\n if (aAuthor && bAuthor) {\n return authors.indexOf(aAuthor) - authors.indexOf(bAuthor);\n }\n return 0;\n })\n .reduce((acc, part, index) => {\n const lastPart = last(acc);\n const { author } = (part as any);\n const authorIdx = authors.indexOf(author);\n const showAvatar = authors.length >= 2 && !authorFirstMessage.has(author);\n const marginLeft = authors.length >= 2 && authorFirstMessage.has(author);\n\n if (author && showAvatar) {\n authorFirstMessage.add(author);\n }\n\n if (part.type === 'text') {\n try {\n const { text } = part;\n if (\n text?.[0] === '['\n && text?.[text.length - 1] === ']'\n && cur.role === 'user'\n ) {\n const files = text.slice(1, -1).split(',');\n files.forEach((file) => {\n attaches.push({\n id: uniqueId(),\n type: 'file',\n status: {\n type: 'complete',\n },\n contentType: 'plain/text',\n name: file,\n content: [],\n });\n });\n\n return acc;\n }\n } catch (e) {}\n if (\n lastPart\n && lastPart.type === 'text'\n && (lastPart as any).author === author\n ) {\n lastPart.text += `\\n${part.text}`;\n } else {\n acc.push({\n type: part.type,\n text: part.text,\n author,\n authorIdx,\n ...(authors.length >= 2 && { showAvatar, marginLeft }),\n });\n }\n } else if (part.type === 'reasoning' && options.showReasoning) {\n const lastReasoningPart = last(reasoningParts);\n if (\n lastReasoningPart\n && (lastReasoningPart as any).author === author\n ) {\n lastReasoningPart.text += part.text;\n } else {\n reasoningParts.push({\n type: 'reasoning',\n text: part.text,\n author,\n authorIdx,\n ...(authors.length > 2 && { showAvatar, marginLeft }),\n });\n }\n } else if (part.type === 'image') {\n attaches.push({\n type: part.type,\n image: part.imageUrl.url,\n ...(authors.length > 2 && { showAvatar, marginLeft }),\n });\n } else if (part.type === 'file') {\n const data = part.fileUrl\n || `data:${part.mimeType};base64,${part.fileData}`\n || '';\n attaches.push({\n type: part.type,\n data,\n filename: part.name,\n mimeType: part.mimeType,\n // ...(authors.length > 2 && { showAvatar, marginLeft }),\n });\n } else if (part.type === 'tool_call') {\n if (options.toolDisplay === 'group') {\n toolGroup.args[part.toolCallId] = {\n type: 'tool-call',\n index,\n toolCallId: part.toolCallId,\n toolName: part.toolCallName,\n args: part.toolCallArgs as Record<string, string>,\n argsText: JSON.stringify(part.toolCallArgs),\n result: part.content,\n author,\n authorIdx,\n ...(authors.length >= 2 && { showAvatar, marginLeft }),\n };\n } else if (options.toolDisplay === 'step') {\n acc.push({\n type: 'tool-call',\n toolCallId: part.toolCallId,\n toolName: part.toolCallName,\n args: part.toolCallArgs as Record<string, string>,\n argsText: JSON.stringify(part.toolCallArgs),\n result: part.content,\n author,\n authorIdx,\n ...(authors.length >= 2 && { showAvatar, marginLeft }),\n });\n }\n }\n return acc;\n }, [] as any[]);\n\n if (cur.status === MessageStatusEnum.ERROR || cur.error) {\n return {\n id: cur.id,\n role: cur.role,\n status: {\n type: 'incomplete',\n reason: 'error',\n error:\n (cur?.error as { message?: string })?.message || (cur.error as any),\n },\n content: compact([\n cur.role === 'assistant'\n && options.toolDisplay === 'group'\n && keys(toolGroup.args).length > 0\n ? toolGroup\n : undefined,\n ...(content as ThreadAssistantMessagePart[]),\n ]),\n metadata: cur.metadata,\n };\n }\n\n const uiMessage: Mutable<\n Omit<ThreadMessageLike, 'content'> & {\n content: Exclude<ThreadMessageLike['content'], string>;\n }\n > = {\n id: cur.id,\n role: cur.role,\n status,\n attachments: [\n ...((cur.attaches?.map((item) => ({\n status: { type: 'complete' },\n id: item.id,\n name: item.id,\n type: 'file',\n contentType: item.mimeType,\n content: [\n {\n type: item.type,\n image: item.url,\n },\n ],\n })) || []) as CompleteAttachment[]),\n ...attaches,\n ],\n content: compact([\n ...reasoningParts,\n cur.role === 'assistant'\n && options.toolDisplay === 'group'\n && keys(toolGroup.args).length > 0\n ? toolGroup\n : undefined,\n ...(content as ThreadAssistantMessagePart[]),\n ]),\n metadata: {\n ...cur.metadata,\n invocationIds:\n keys(toolGroup.args).length > 0 ? keys(toolGroup.args) : undefined,\n } as any,\n };\n return uiMessage;\n });\n\n return { uiMessages, authors };\n};\n\nexport default convertToAssistantMessage;\n"],"names":["MessageStatusEnum"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chat-lab/ui",
3
- "version": "0.1.0-beta.62",
3
+ "version": "0.1.0-beta.64",
4
4
  "type": "module",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -100,6 +100,7 @@
100
100
  "mdast": "^3.0.0",
101
101
  "postcss": "^8.5.6",
102
102
  "postcss-prefix-selector": "^2.1.1",
103
+ "postcss-rem-to-pixel": "^4.1.2",
103
104
  "rollup": "^3.0.0",
104
105
  "rollup-plugin-copy": "^3.5.0",
105
106
  "rollup-plugin-peer-deps-external": "^2.2.4",