@blade-hq/agent-react 2612.0.0-beta.27 → 2612.0.0-beta.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.
Files changed (50) hide show
  1. package/dist/chat/AgentLoopBlock.d.ts +0 -2
  2. package/dist/chat/AssistantTurnBlock.d.ts +0 -8
  3. package/dist/chat/AttachmentPreviewDialog.d.ts +0 -1
  4. package/dist/chat/CurrentPlanPanel.d.ts +0 -3
  5. package/dist/chat/FileDeliveryCards.d.ts +0 -4
  6. package/dist/chat/FinalArtifactCards.d.ts +0 -1
  7. package/dist/chat/LiteMessageList.d.ts +1 -3
  8. package/dist/chat/MessageFileAttachmentList.d.ts +0 -5
  9. package/dist/chat/SessionReplayBar.d.ts +0 -1
  10. package/dist/chat/TextAttachmentPills.d.ts +0 -3
  11. package/dist/chat/TurnNavRail.d.ts +0 -3
  12. package/dist/chat/WorkflowRunBlock.d.ts +0 -2
  13. package/dist/chat/ai-elements/shimmer.d.ts +0 -4
  14. package/dist/chat/message-list-blocks.d.ts +0 -1
  15. package/dist/chat/runtime/actions.d.ts +1 -2
  16. package/dist/chat/runtime/background-task-dismissals.d.ts +0 -1
  17. package/dist/chat/runtime/composer-channels.d.ts +0 -3
  18. package/dist/chat/runtime/input-cache-reset.d.ts +0 -5
  19. package/dist/chat/runtime/session-source.d.ts +0 -5
  20. package/dist/chat/runtime/use-chat-actions.d.ts +0 -4
  21. package/dist/{chat-OCLOVB3H.css → chat-IHPRU35X.css} +5 -18
  22. package/dist/chat.css +5 -18
  23. package/dist/{chunk-66V4EOSO.js → chunk-M5NAFIU4.js} +340 -399
  24. package/dist/chunk-M5NAFIU4.js.map +1 -0
  25. package/dist/{chunk-PAZSK73V.js → chunk-PHWYZP6F.js} +3 -8
  26. package/dist/chunk-PHWYZP6F.js.map +1 -0
  27. package/dist/{chunk-PPREDKQ2.js → chunk-XTYNDVUV.js} +15 -3
  28. package/dist/chunk-XTYNDVUV.js.map +1 -0
  29. package/dist/components/ChatInput.d.ts +1 -15
  30. package/dist/components/LlmAdvancedSettings.d.ts +0 -1
  31. package/dist/components/PlanUpdateBlock.d.ts +0 -1
  32. package/dist/embed/blade-chat-element.d.ts +0 -8
  33. package/dist/embed/entry.d.ts +1 -13
  34. package/dist/hooks/use-message-pin.d.ts +1 -1
  35. package/dist/index.js +2 -2
  36. package/dist/internal.js +4 -6
  37. package/dist/internal.js.map +1 -1
  38. package/dist/lib/message-shortcuts.d.ts +5 -0
  39. package/dist/rich-input/ConnectButton.d.ts +0 -2
  40. package/dist/rich-input/SkillStatusBar.d.ts +0 -6
  41. package/dist/rich-input/lib/reference-candidates.d.ts +0 -1
  42. package/dist/rich-input/voice/VoiceWaveform.d.ts +0 -3
  43. package/dist/rich-input.js +90 -110
  44. package/dist/rich-input.js.map +1 -1
  45. package/dist/style.css +16 -55
  46. package/dist/style.full.css +23 -77
  47. package/package.json +2 -2
  48. package/dist/chunk-66V4EOSO.js.map +0 -1
  49. package/dist/chunk-PAZSK73V.js.map +0 -1
  50. package/dist/chunk-PPREDKQ2.js.map +0 -1
package/dist/style.css CHANGED
@@ -98,15 +98,8 @@
98
98
  * CSS 不分层,仍然赢过这里所有层。 */
99
99
  @layer properties, theme, base, components, utilities, blade-chat-overrides;
100
100
 
101
- /* 主题变量(--background、--primary 等)不在这里:唯一来源是 packages/ui/src/styles/tokens.css,
102
- * 由两个 Tailwind 入口按挂载点编进产物——Shadow DOM 版只挂 :host(宿主在 blade-chat 元素上的
103
- * 覆盖深浅主题都生效),npm 版挂 .blade-chat(不碰宿主的 :root)。 */
104
-
105
101
  @layer components {
106
- /* -------------------------------------------------------------- 布局骨架 */
107
102
 
108
- /* <blade-chat> 宿主默认块级 + 默认高度;页面对元素写的任何尺寸规则都会覆盖
109
- * :host 默认值。host 容器把高度传导给内部 flex 链,消息区撑满、输入框钉底。 */
110
103
  :host {
111
104
  display: block;
112
105
  height: 560px;
@@ -118,8 +111,7 @@
118
111
  flex-direction: column;
119
112
  }
120
113
 
121
- /* 弹层根:<blade-chat> 在 shadow root 顶层建的弹层挂载点(见 embed/blade-chat-element.tsx),
122
- * 在聊天根节点外面,字体与文字色要单独给,弹层内容才和聊天区一致。 */
114
+
123
115
  [data-blade-overlay-root] {
124
116
  color: hsl(var(--foreground));
125
117
  font-family:
@@ -139,8 +131,7 @@
139
131
  * 容器一个确定宽度(flex/grid 拉伸或显式宽度都可以)。
140
132
  * 底色与文字色也从这里给:根节点上没有对应的 Tailwind class。 */
141
133
  .blade-chat {
142
- /* 具名容器:宿主或以后的子组件万一在中间又建了个匿名 query container,
143
- * 下面的 @container 查询不会悄悄改成以那个为基准。 */
134
+
144
135
  container: blade-chat / inline-size;
145
136
  min-width: 0;
146
137
  --blade-chat-gutter: 1rem;
@@ -175,35 +166,27 @@
175
166
  align-items: center;
176
167
  justify-content: center;
177
168
  gap: 0.75rem;
178
- /* 这里的双写是有效降级:cqi 出现在属性值里,旧浏览器会丢掉整条声明并回落到上一条。 */
169
+
179
170
  padding: 4rem 0;
180
171
  padding: clamp(2.5rem, 12cqi, 6rem) 0;
181
172
  color: hsl(var(--muted-foreground));
182
173
  }
183
174
 
184
- /* -------------------------------------------------------------- 输入区 */
185
175
 
186
- /* 左右内边距和消息区共用同一个 gutter,否则输入框与消息文字左边缘对不齐。
187
- * 上下留白由组件上的 py-3 / pt-0 给。 */
188
176
  .blade-chat-input {
189
- /* 队列面板占位时组件会加上 border-t-0 收起这条线,所以这里不能写死:写死会
190
- 盖过那个切换。用变量保留默认值,外层仍按原样渲染一条分隔线。 */
177
+
191
178
  border-top: var(--blade-chat-input-top-border, 1px solid hsl(var(--border)));
192
179
  padding-left: var(--blade-chat-gutter);
193
180
  padding-right: var(--blade-chat-gutter);
194
181
  }
195
182
 
196
- /* 队列面板的外层左右留白:必须跟下面输入框一致,两边各自居中才不会错位。
197
- * 默认跟随本包输入框用的同一个 gutter 变量;宿主输入框用别的留白时(内置 Web
198
- * 的输入框外层是 px-5),在自己的样式里覆盖 --blade-chat-queue-gutter 即可。 */
183
+
199
184
  .blade-chat-queue {
200
185
  --blade-chat-queue-gutter: var(--blade-chat-gutter, 1rem);
201
186
  padding-left: var(--blade-chat-queue-gutter);
202
187
  padding-right: var(--blade-chat-queue-gutter);
203
188
  }
204
189
 
205
- /* ------------------------------------------------- 无 preflight 时的控件复位 */
206
-
207
190
  /* 组件上的工具类不负责这些:宿主只用 style.css 且自己的 Tailwind 关了 preflight 时,
208
191
  输入框和按钮会退回浏览器默认外观(原生边框、原生按钮底色)。 */
209
192
  .blade-chat-textarea {
@@ -219,10 +202,7 @@
219
202
  background-color: transparent;
220
203
  }
221
204
 
222
- /* ------------------------------------------------------------ 出错条配色 */
223
205
 
224
- /* 配色由 .blade-chat-error-bar 的 --destructive 变量给,别写死 red-*:
225
- * Tailwind 的 dark: 变体跟的是系统偏好,会和 data-theme 主题打架。 */
226
206
  .blade-chat-error-bar {
227
207
  border-bottom-color: hsl(var(--destructive) / 0.3);
228
208
  background: hsl(var(--destructive) / 0.08);
@@ -231,9 +211,7 @@
231
211
  }
232
212
 
233
213
  @layer blade-chat-overrides {
234
- /* 消息区的留白与轮次间距按容器宽度伸缩(见 .blade-chat 的说明)。消息列表组件上还带着内置 Web
235
- * 用的 px-* / gap-* 工具类,这两条必须压过它们,所以归 blade-chat-overrides;
236
- * 底部那份补白是消息顶置功能的 spacer(--blade-chat-pin-spacer)。 */
214
+
237
215
  .blade-chat-messages-scroll {
238
216
  padding: calc(var(--blade-chat-gutter) * 1.4) var(--blade-chat-gutter)
239
217
  calc(var(--blade-chat-gutter) * 1.1 + var(--blade-chat-pin-spacer, 0px));
@@ -243,9 +221,6 @@
243
221
  gap: var(--blade-chat-turn-gap);
244
222
  }
245
223
 
246
- /* ------------------------------------------------- 窄容器与移动端的手感 */
247
- /* 需要跳变而非连续伸缩的值才用 @container:窄容器里 72% 只剩 250px 左右,
248
- * 一句话就折三行。这条必须压过组件上的 max-w-[72%],所以归 blade-chat-overrides。 */
249
224
  @container blade-chat (max-width: 480px) {
250
225
  .blade-chat-user-col {
251
226
  max-width: 88%;
@@ -272,8 +247,6 @@
272
247
  }
273
248
  }
274
249
 
275
- /* ------------------------------------------------------------- Markdown */
276
-
277
250
  /* 正文是 streamdown 生成的 HTML,元素上没有类名可挂,排版只能写在这里。
278
251
  * 反过来,带 Tailwind class 的那几个外壳(codeblock、prose 容器)不在这里重复。 */
279
252
  .blade-chat-markdown {
@@ -311,16 +284,13 @@
311
284
  height: auto;
312
285
  }
313
286
 
314
- /* 长 URL 和长内联代码是撑宽的另外两个常见肇事者。用 anywhere 而不是 break-word:
315
- * 只有 anywhere 参与 min-content 计算,break-word 挡不住 flex item 被顶宽。 */
287
+
316
288
  .blade-chat-markdown :not(pre) > code,
317
289
  .blade-chat-markdown a {
318
290
  overflow-wrap: anywhere;
319
291
  }
320
292
 
321
- /* 未闭合的加粗/斜体/行内代码,在闭合符真正到达前先按最终标签
322
- * 渲染、只用透明度标出"待确认"——内容和标签结构全程不变,闭合符到达后
323
- * 这条规则自然不再匹配,恢复完全不透明,DOM 节点没有被替换过。 */
293
+
324
294
  .blade-chat-markdown [data-markdown-pending="true"] {
325
295
  opacity: 0.6;
326
296
  }
@@ -403,8 +373,7 @@
403
373
  text-align: left;
404
374
  }
405
375
 
406
- /* 代码块正文(<pre>)的排版:外层 codeblock 外壳与滚动由组件上的类给,
407
- * 这里只补等宽字体和底色。 */
376
+
408
377
  .blade-chat-codeblock-body {
409
378
  background: hsl(var(--muted) / 0.25);
410
379
  padding: 0.875rem 1rem;
@@ -413,14 +382,12 @@
413
382
  line-height: 1.7;
414
383
  }
415
384
 
416
- /* 代码块里的内联 code 不再套一层底色和留白。 */
385
+
417
386
  .blade-chat-codeblock-body code {
418
387
  background: transparent;
419
388
  padding: 0;
420
389
  }
421
390
 
422
- /* ---------------------------------------------------------------- 动效 */
423
-
424
391
  .blade-shimmer-text {
425
392
  background: linear-gradient(
426
393
  90deg,
@@ -446,10 +413,7 @@
446
413
  }
447
414
  }
448
415
 
449
- /* ------------------------------------------------------------ 消息导航轨 */
450
416
 
451
- /* 右侧的发言刻度轨。定位绝对:悬停才展开的目录不能占布局宽度,否则同一行的
452
- * 内容会被挤窄,而不悬停时那块空间永远是空的。 */
453
417
  .blade-turn-nav {
454
418
  position: absolute;
455
419
  right: 0.5rem;
@@ -463,8 +427,7 @@
463
427
  flex-direction: column;
464
428
  align-items: flex-end;
465
429
  max-height: 20rem;
466
- /* 条数超过可视高度时要能滚:固定 hidden 会让后面的刻度永远点不到。
467
- 滚动条本身藏掉,它只是给长会话兜底。 */
430
+
468
431
  overflow-y: auto;
469
432
  scrollbar-width: none;
470
433
  padding: 0.375rem 0.375rem 0.375rem 0;
@@ -521,7 +484,7 @@
521
484
  background: hsl(var(--foreground));
522
485
  }
523
486
 
524
- /* 定位的进度与失败提示:贴在刻度轨左侧,不随面板开合。 */
487
+
525
488
  .blade-turn-nav-status {
526
489
  position: absolute;
527
490
  right: 100%;
@@ -554,8 +517,7 @@
554
517
  .blade-turn-nav-panel {
555
518
  position: absolute;
556
519
  right: 100%;
557
- /* 与刻度轨同心:顶对齐会让一个接近上限高度的面板整条往下长,聊天区是 overflow: hidden,
558
- 视口矮一点下面的条目就被裁掉、连滚都滚不到(滚动容器以为自己有完整高度)。 */
520
+
559
521
  top: 50%;
560
522
  transform: translateY(-50%);
561
523
  padding-right: 0.5rem;
@@ -565,7 +527,7 @@
565
527
  display: flex;
566
528
  flex-direction: column;
567
529
  width: 20rem;
568
- /* 高度上限同时受视口约束,短视口里面板整体缩进去而不是被裁掉。 */
530
+
569
531
  max-height: min(28rem, 60vh);
570
532
  overflow-y: auto;
571
533
  padding: 0.25rem 0;
@@ -595,14 +557,13 @@
595
557
  background: hsl(var(--accent));
596
558
  }
597
559
 
598
- /* 定位到某条发言后的短暂高亮。加到消息行本身(data-entry-id 那一层),
599
- * 到点由 hook 摘掉类名,不改变滚动位置。内置 Web 的 app.css 有同名镜像。 */
560
+
600
561
  .blade-turn-nav-flash {
601
562
  animation: blade-turn-nav-flash 1.6s ease-out both;
602
563
  border-radius: 0.5rem;
603
564
  }
604
565
 
605
- /* 减少动效:保留高亮但不动画,用户仍然看得见"定位到哪一条"。 */
566
+
606
567
  @media (prefers-reduced-motion: reduce) {
607
568
  .blade-turn-nav-flash {
608
569
  animation: none;