@blade-hq/agent-react 2610.0.1 → 2612.0.0-beta.1

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 (180) hide show
  1. package/README.md +88 -258
  2. package/dist/chat/AgentLoopBlock.d.ts +14 -0
  3. package/dist/{components → chat}/AskUserQuestionBlock.d.ts +3 -7
  4. package/dist/chat/AssistantTurnBlock.d.ts +50 -0
  5. package/dist/chat/AttachmentPreviewDialog.d.ts +26 -0
  6. package/dist/chat/ChatPanel.d.ts +64 -0
  7. package/dist/chat/CompactionCard.d.ts +6 -0
  8. package/dist/chat/ConnectionBanner.d.ts +10 -0
  9. package/dist/chat/CurrentPlanPanel.d.ts +20 -0
  10. package/dist/chat/FileDeliveryCards.d.ts +26 -0
  11. package/dist/chat/FinalArtifactCards.d.ts +8 -0
  12. package/dist/chat/ImageLightbox.d.ts +11 -0
  13. package/dist/chat/LightComposer.d.ts +7 -0
  14. package/dist/chat/LiteMessageList.d.ts +82 -0
  15. package/dist/chat/MessageActions.d.ts +6 -0
  16. package/dist/chat/MessageContextPills.d.ts +6 -0
  17. package/dist/chat/MessageFileAttachmentList.d.ts +13 -0
  18. package/dist/chat/MessageList.d.ts +54 -0
  19. package/dist/chat/PostChatFollowupBlock.d.ts +11 -0
  20. package/dist/{components → chat}/RenderErrorBoundary.d.ts +0 -1
  21. package/dist/chat/ResultFeedback.d.ts +11 -0
  22. package/dist/chat/SessionReplayBar.d.ts +12 -0
  23. package/dist/chat/TextAttachmentPills.d.ts +10 -0
  24. package/dist/chat/ToolCallBlock.d.ts +48 -0
  25. package/dist/chat/ToolUiCard.d.ts +6 -0
  26. package/dist/chat/TurnNavRail.d.ts +17 -0
  27. package/dist/chat/UserMessageBubble.d.ts +20 -0
  28. package/dist/chat/WorkflowRunBlock.d.ts +13 -0
  29. package/dist/chat/ai-elements/reasoning.d.ts +32 -0
  30. package/dist/chat/ai-elements/shimmer.d.ts +15 -0
  31. package/dist/chat/assistant-turn-questions.d.ts +14 -0
  32. package/dist/chat/card/CardContext.d.ts +7 -0
  33. package/dist/chat/chat-theme.d.ts +19 -0
  34. package/dist/chat/customization.d.ts +214 -0
  35. package/dist/chat/display-utils.d.ts +48 -0
  36. package/dist/{components/PostChatFollowupBlock.d.ts → chat/followup-interaction.d.ts} +5 -17
  37. package/dist/chat/index.d.ts +100 -0
  38. package/dist/chat/lib/citations.d.ts +30 -0
  39. package/dist/chat/lib/code-language.d.ts +5 -0
  40. package/dist/chat/lib/loopback.d.ts +8 -0
  41. package/dist/chat/lib/markdown-asset-url.d.ts +5 -0
  42. package/dist/chat/lib/preview-dispatch.d.ts +24 -0
  43. package/dist/chat/lib/skill-name.d.ts +9 -0
  44. package/dist/chat/lib/skill-visibility.d.ts +8 -0
  45. package/dist/chat/lib/ui-meta.d.ts +5 -0
  46. package/dist/chat/lib/use-async-value.d.ts +8 -0
  47. package/dist/chat/markdown/ExternalAnchor.d.ts +9 -0
  48. package/dist/chat/markdown/MarkdownContent.d.ts +40 -0
  49. package/dist/chat/markdown/text.d.ts +11 -0
  50. package/dist/chat/message-list-blocks.d.ts +92 -0
  51. package/dist/chat/plan/PlanSummaryCard.d.ts +10 -0
  52. package/dist/chat/plan/extract-plan-messages.d.ts +4 -0
  53. package/dist/chat/plan/parse-plan-messages.d.ts +10 -0
  54. package/dist/chat/plan/parse-plan-tree.d.ts +16 -0
  55. package/dist/chat/plan/types.d.ts +56 -0
  56. package/dist/chat/reasoning-visibility.d.ts +2 -0
  57. package/dist/chat/runtime/actions.d.ts +22 -0
  58. package/dist/chat/runtime/background-task-dismissals.d.ts +10 -0
  59. package/dist/chat/runtime/composer-channels.d.ts +46 -0
  60. package/dist/chat/runtime/environment.d.ts +152 -0
  61. package/dist/chat/runtime/input-cache-reset.d.ts +8 -0
  62. package/dist/chat/runtime/input-services.d.ts +111 -0
  63. package/dist/chat/runtime/session-source.d.ts +49 -0
  64. package/dist/chat/runtime/use-chat-actions.d.ts +19 -0
  65. package/dist/chat/runtime/use-session-replay.d.ts +16 -0
  66. package/dist/chat/scroll-anchor.d.ts +46 -0
  67. package/dist/chat/tool-renderers/BashRenderer.d.ts +2 -0
  68. package/dist/chat/tool-renderers/FileEditRenderer.d.ts +2 -0
  69. package/dist/chat/tool-renderers/FileReadRenderer.d.ts +2 -0
  70. package/dist/chat/tool-renderers/KbSearchRenderer.d.ts +2 -0
  71. package/dist/chat/tool-renderers/SearchRenderer.d.ts +2 -0
  72. package/dist/chat/tool-renderers/SubmitResultRenderer.d.ts +2 -0
  73. package/dist/chat/tool-renderers/kb-search-result.d.ts +19 -0
  74. package/dist/chat/tool-renderers/registry.d.ts +5 -0
  75. package/dist/chat/tool-renderers/shared.d.ts +30 -0
  76. package/dist/chat/tool-renderers/write-preview-scroll.d.ts +5 -0
  77. package/dist/chat-OCLOVB3H.css +175 -0
  78. package/dist/chat.css +175 -0
  79. package/dist/chunk-6ZDOQEWK.js +49365 -0
  80. package/dist/chunk-6ZDOQEWK.js.map +1 -0
  81. package/dist/chunk-FQQJP2GJ.js +26986 -0
  82. package/dist/chunk-FQQJP2GJ.js.map +1 -0
  83. package/dist/{chunk-G3PMV62Z.js → chunk-PR4QN5HX.js} +9 -2
  84. package/dist/chunk-WCMGQJLE.js +258 -0
  85. package/dist/chunk-WCMGQJLE.js.map +1 -0
  86. package/dist/components/AgentChat.d.ts +3 -3
  87. package/dist/components/ChatView.d.ts +2 -2
  88. package/dist/components/ConnectorPanel.d.ts +1 -1
  89. package/dist/components/ContextCard.d.ts +1 -1
  90. package/dist/components/LlmChat.d.ts +1 -1
  91. package/dist/components/McpAppCard.d.ts +1 -1
  92. package/dist/components/PlanUpdateBlock.d.ts +0 -8
  93. package/dist/components/PluginConnectorList.d.ts +1 -1
  94. package/dist/components/ReplayBar.d.ts +1 -1
  95. package/dist/components/SessionPluginConfigDialog.d.ts +1 -1
  96. package/dist/components/SessionPluginConfigForm.d.ts +1 -1
  97. package/dist/components/SessionPluginIcon.d.ts +1 -1
  98. package/dist/components/SessionPluginSelector.d.ts +1 -1
  99. package/dist/components/SessionQueuePanel.d.ts +1 -1
  100. package/dist/components/ToolUiCardView.d.ts +1 -1
  101. package/dist/components/plugin-config-draft.d.ts +1 -1
  102. package/dist/components/plugin-config-schema.d.ts +1 -1
  103. package/dist/components/plugin-connector.d.ts +1 -1
  104. package/dist/components/use-session-plugin-activation.d.ts +1 -1
  105. package/dist/context.d.ts +11 -2
  106. package/dist/embed/blade-chat-element.d.ts +14 -1
  107. package/dist/embed/entry.d.ts +8 -78
  108. package/dist/hooks/use-replay.d.ts +1 -1
  109. package/dist/hooks/use-turn-navigation.d.ts +1 -1
  110. package/dist/host.d.ts +54 -0
  111. package/dist/index.d.ts +11 -69
  112. package/dist/index.js +12 -63525
  113. package/dist/index.js.map +1 -1
  114. package/dist/internal.d.ts +60 -0
  115. package/dist/internal.js +656 -0
  116. package/dist/internal.js.map +1 -0
  117. package/dist/lib/mount-renderers.d.ts +25 -0
  118. package/dist/lib/use-effect-event.d.ts +3 -0
  119. package/dist/rich-input/BackgroundTasksPill.d.ts +3 -0
  120. package/dist/rich-input/ChatInput.d.ts +59 -0
  121. package/dist/rich-input/ComposerAttachmentViewport.d.ts +3 -0
  122. package/dist/rich-input/ConnectButton.d.ts +24 -0
  123. package/dist/rich-input/FileCompletionMenu.d.ts +44 -0
  124. package/dist/rich-input/FileSizeLimitDialog.d.ts +9 -0
  125. package/dist/rich-input/ModelSelector.d.ts +10 -0
  126. package/dist/rich-input/PlanningToggle.d.ts +7 -0
  127. package/dist/rich-input/ProgressCircle.d.ts +12 -0
  128. package/dist/rich-input/ReasoningModeSelect.d.ts +9 -0
  129. package/dist/rich-input/SkillCompletionMenu.d.ts +9 -0
  130. package/dist/rich-input/SkillStatusBar.d.ts +15 -0
  131. package/dist/rich-input/extensions/file-mention.d.ts +12 -0
  132. package/dist/rich-input/extensions/kb-mention.d.ts +18 -0
  133. package/dist/rich-input/extensions/skill-mention.d.ts +48 -0
  134. package/dist/rich-input/extensions/workflow-mention.d.ts +10 -0
  135. package/dist/rich-input/index.d.ts +48 -0
  136. package/dist/rich-input/input-keyboard.d.ts +13 -0
  137. package/dist/rich-input/lib/attachment-upload.d.ts +10 -0
  138. package/dist/rich-input/lib/background-tasks-view.d.ts +31 -0
  139. package/dist/rich-input/lib/client-query.d.ts +32 -0
  140. package/dist/rich-input/lib/composer-content.d.ts +42 -0
  141. package/dist/rich-input/lib/image-input-availability.d.ts +3 -0
  142. package/dist/rich-input/lib/kb-suggestions.d.ts +37 -0
  143. package/dist/rich-input/lib/reasoning-levels.d.ts +1 -0
  144. package/dist/rich-input/lib/session-data.d.ts +20 -0
  145. package/dist/rich-input/lib/skill-suggestions.d.ts +19 -0
  146. package/dist/rich-input/lib/token-estimate.d.ts +2 -0
  147. package/dist/rich-input/lib/token-pressure.d.ts +8 -0
  148. package/dist/rich-input/lib/upload-results.d.ts +8 -0
  149. package/dist/rich-input/lib/user-home.d.ts +33 -0
  150. package/dist/rich-input/model/model-data.d.ts +6 -0
  151. package/dist/rich-input/model/resolve-model.d.ts +59 -0
  152. package/dist/rich-input/model/use-composer-model.d.ts +24 -0
  153. package/dist/rich-input/services.d.ts +22 -0
  154. package/dist/rich-input/use-dismiss-skill-suggestions-on-mode-change.d.ts +3 -0
  155. package/dist/rich-input/use-input-history.d.ts +14 -0
  156. package/dist/rich-input/voice/VoiceWaveform.d.ts +10 -0
  157. package/dist/rich-input/voice/use-tiptap-voice-input.d.ts +47 -0
  158. package/dist/rich-input/voice/use-voice-input.d.ts +2 -0
  159. package/dist/rich-input/voice/voice-input-support.d.ts +5 -0
  160. package/dist/rich-input.js +29853 -0
  161. package/dist/rich-input.js.map +1 -0
  162. package/dist/style.css +30 -64
  163. package/dist/style.full.css +210 -65
  164. package/dist/{webapi-W3IB5DO4.js → webapi-E7K2CNM7.js} +2 -2
  165. package/package.json +12 -3
  166. package/public-api.md +206 -3603
  167. package/dist/components/AgentLoopBlock.d.ts +0 -8
  168. package/dist/components/AgentTaskCard.d.ts +0 -12
  169. package/dist/components/AssistantTurnBlock.d.ts +0 -36
  170. package/dist/components/ChatSurface.d.ts +0 -199
  171. package/dist/components/ConnectionBanner.d.ts +0 -8
  172. package/dist/components/MarkdownContent.d.ts +0 -30
  173. package/dist/components/MessageList.d.ts +0 -62
  174. package/dist/components/Shimmer.d.ts +0 -7
  175. package/dist/components/ToolCallBlock.d.ts +0 -41
  176. package/dist/components/TurnNavRail.d.ts +0 -23
  177. package/dist/components/UserMessageBubble.d.ts +0 -25
  178. package/dist/components/display-utils.d.ts +0 -4
  179. /package/dist/{chunk-G3PMV62Z.js.map → chunk-PR4QN5HX.js.map} +0 -0
  180. /package/dist/{webapi-W3IB5DO4.js.map → webapi-E7K2CNM7.js.map} +0 -0
package/dist/style.css CHANGED
@@ -4,7 +4,7 @@
4
4
  * 这份文件只放 Tailwind 工具类表达不了的东西,其余视觉一律由组件上的 Tailwind
5
5
  * class 定义一次(R1:一个视觉效果只在一处定义):
6
6
  *
7
- * - CSS 变量(主题、圆角、gutter)与 `:host` 尺寸默认值;
7
+ * - 布局变量(gutter、轮次间距)与 `:host` 尺寸默认值;
8
8
  * - 容器查询(`@container`):按「容器宽度」而不是视口伸缩的内边距与断点;
9
9
  * - Markdown 排版:正文是 streamdown 生成的 HTML,没有类名可挂,只能在这里写;
10
10
  * - 无 Tailwind 预检时组件仍需要的少量 rest(按钮游标、textarea 去边框);
@@ -52,11 +52,8 @@
52
52
  * blade-chat-context-title
53
53
  * blade-chat-empty
54
54
  * blade-chat-error-bar
55
- * blade-chat-error-block
56
55
  * blade-chat-error-row
57
56
  * blade-chat-file-card
58
- * blade-chat-file-card-icon
59
- * blade-chat-file-card-name
60
57
  * blade-chat-followup
61
58
  * blade-chat-followup-action
62
59
  * blade-chat-host
@@ -101,55 +98,9 @@
101
98
  * CSS 不分层,仍然赢过这里所有层。 */
102
99
  @layer properties, theme, base, components, utilities, blade-chat-overrides;
103
100
 
104
- /* 变量不分层:它是主题契约,接入方在页面或祖先元素上重设同名变量即可换肤,
105
- * 分层反而让"谁覆盖谁"取决于产物拼接顺序。 */
106
- :root,
107
- :host {
108
- --background: 0 0% 100%;
109
- --foreground: 215 13% 15%;
110
- --card: 0 0% 100%;
111
- --card-foreground: 215 13% 15%;
112
- --popover: 0 0% 100%;
113
- --popover-foreground: 215 13% 15%;
114
- --primary: 223 100% 54%;
115
- --primary-foreground: 0 0% 100%;
116
- --muted: 220 40% 95%;
117
- --muted-foreground: 220 9% 52%;
118
- --accent: 220 100% 92%;
119
- --accent-foreground: 215 13% 15%;
120
- --destructive: 0 100% 50%;
121
- --destructive-foreground: 0 0% 100%;
122
- --border: 220 20% 90%;
123
- --input: 220 20% 96%;
124
- --ring: 223 100% 54%;
125
- --radius: 0.4rem;
126
- --user-msg-bg: 220 9% 95%;
127
- --user-msg-fg: 215 13% 15%;
128
- --user-msg-border: 220 15% 88%;
129
- }
130
-
131
- [data-theme="dark"] {
132
- --background: 222 22% 5%;
133
- --foreground: 210 18% 88%;
134
- --card: 222 20% 8%;
135
- --card-foreground: 210 18% 88%;
136
- --popover: 222 18% 10%;
137
- --popover-foreground: 210 18% 88%;
138
- --primary: 38 88% 60%;
139
- --primary-foreground: 222 22% 6%;
140
- --muted: 222 16% 11%;
141
- --muted-foreground: 220 8% 48%;
142
- --accent: 222 16% 13%;
143
- --accent-foreground: 210 18% 88%;
144
- --destructive: 0 65% 55%;
145
- --destructive-foreground: 210 18% 95%;
146
- --border: 222 12% 17%;
147
- --input: 222 12% 13%;
148
- --ring: 38 88% 60%;
149
- --user-msg-bg: 38 22% 12%;
150
- --user-msg-fg: 38 65% 80%;
151
- --user-msg-border: 38 30% 19%;
152
- }
101
+ /* 主题变量(--background、--primary 等)不在这里:唯一来源是 packages/ui/src/styles/tokens.css,
102
+ * 由两个 Tailwind 入口按挂载点编进产物——Shadow DOM 版只挂 :host(宿主在 blade-chat 元素上的
103
+ * 覆盖深浅主题都生效),npm 版挂 .blade-chat(不碰宿主的 :root)。 */
153
104
 
154
105
  @layer components {
155
106
  /* -------------------------------------------------------------- 布局骨架 */
@@ -167,6 +118,20 @@
167
118
  flex-direction: column;
168
119
  }
169
120
 
121
+ /* 弹层根:<blade-chat> 在 shadow root 顶层建的弹层挂载点(见 embed/blade-chat-element.tsx),
122
+ * 在聊天根节点外面,字体与文字色要单独给,弹层内容才和聊天区一致。 */
123
+ [data-blade-overlay-root] {
124
+ color: hsl(var(--foreground));
125
+ font-family:
126
+ system-ui,
127
+ -apple-system,
128
+ "Segoe UI",
129
+ Roboto,
130
+ "PingFang SC",
131
+ "Microsoft YaHei",
132
+ sans-serif;
133
+ }
134
+
170
135
  /* 聊天根容器。SDK 常被嵌进只有 300-400px 宽的侧栏,而宿主页面视口是全宽的,
171
136
  * 所以内边距一律按「容器宽度」伸缩,不能用视口断点——那会在窄容器里反向命中最大值。
172
137
  * container-type 建在这里(而不是消息区),是为了让消息区和输入区共享同一个 cqi
@@ -203,17 +168,6 @@
203
168
  }
204
169
  }
205
170
 
206
- /* 滚动内容的内边距。左右按上面的 gutter 变量走,宿主没装 Tailwind 时消息也不会贴边;
207
- * 底部那份补白是消息顶置功能的 spacer(--blade-chat-pin-spacer 由组件写行内变量)。 */
208
- .blade-chat-messages-scroll {
209
- padding: calc(var(--blade-chat-gutter) * 1.4) var(--blade-chat-gutter)
210
- calc(var(--blade-chat-gutter) * 1.1 + var(--blade-chat-pin-spacer, 0px));
211
- }
212
-
213
- /* 轮次之间的间距用容器宽度算(见 .blade-chat 的说明),挂在内层容器上。 */
214
- .blade-chat-messages-content > div {
215
- gap: var(--blade-chat-turn-gap);
216
- }
217
171
 
218
172
  .blade-chat-empty {
219
173
  display: flex;
@@ -277,6 +231,18 @@
277
231
  }
278
232
 
279
233
  @layer blade-chat-overrides {
234
+ /* 消息区的留白与轮次间距按容器宽度伸缩(见 .blade-chat 的说明)。消息列表组件上还带着内置 Web
235
+ * 用的 px-* / gap-* 工具类,这两条必须压过它们,所以归 blade-chat-overrides;
236
+ * 底部那份补白是消息顶置功能的 spacer(--blade-chat-pin-spacer)。 */
237
+ .blade-chat-messages-scroll {
238
+ padding: calc(var(--blade-chat-gutter) * 1.4) var(--blade-chat-gutter)
239
+ calc(var(--blade-chat-gutter) * 1.1 + var(--blade-chat-pin-spacer, 0px));
240
+ }
241
+
242
+ .blade-chat-messages-content > div {
243
+ gap: var(--blade-chat-turn-gap);
244
+ }
245
+
280
246
  /* ------------------------------------------------- 窄容器与移动端的手感 */
281
247
  /* 需要跳变而非连续伸缩的值才用 @container:窄容器里 72% 只剩 250px 左右,
282
248
  * 一句话就折三行。这条必须压过组件上的 max-w-[72%],所以归 blade-chat-overrides。 */