super-agent-sdk 1.0.11 → 1.0.12

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 CHANGED
@@ -34,6 +34,7 @@ Super Agent Web SDK —— 为 `super-agent-service` 提供的一站式浏览器
34
34
  - **纯 API 模式**:`createSuperAgent()` 返回轻量 SDK 实例,提供流式聊天、会话列表、历史消息、Token 刷新等能力。
35
35
  - **嵌入式组件**:`mount()` 挂载 React 聊天组件。
36
36
  - **两种展示模式**:`floating`(右下角气泡 + 弹窗面板)与 `fullpage`(整页 DeepSeek 风格布局)。
37
+ - **Markdown 渲染**:内置 `react-markdown` + GFM(表格 / 任务列表 / 删除线),Claude 风格排版,默认转义防 XSS(见 [6.3](#63-markdown-渲染ai-消息))。
37
38
  - **会话持久化**:自动加载会话列表、`localStorage` 记住最近会话、刷新后自动恢复。
38
39
  - **附件上传(NOS 直传)**:内置 NOS 直传(分片 + 断点续传 + 进度),📎 选文件随消息发送,沙箱 Agent 可读取文件内容(详见 [5.12](#512-createnosuploader) / [6.1](#61-mount))。
39
40
 
@@ -542,7 +543,7 @@ mount("#chat-root", {
542
543
  });
543
544
  ```
544
545
 
545
- 内置行为:📎 选文件(≤10 个)→ chip 实时显示上传百分比 → 上传完成显示文件大小(可点击下载)→ 随消息发送 → 沙箱 Agent 读取(仅沙箱模式 Agent 支持,其他模式后端 400)。上传中禁止发送,失败 chip 红标可移除重选;regenerate 会连同附件一起重发。
546
+ 内置行为:📎 按钮(输入框左下角,绝对定位)选文件(≤10 个)→ 待发送附件以 chip 托盘显示在**输入框上方**(不占输入框内部空间),实时显示上传百分比 → 上传完成显示文件大小(可点击下载)→ 随消息发送 → 沙箱 Agent 读取(仅沙箱模式 Agent 支持,其他模式后端 400)。上传中禁止发送,失败 chip 红标可移除重选;regenerate 会连同附件一起重发。
546
547
 
547
548
  ### 6.2 源码接入(monorepo alias)注意事项
548
549
 
@@ -566,6 +567,17 @@ export default {
566
567
 
567
568
  2. 无需在宿主 config 中镜像 SDK 的 `important: '[data-super-agent-widget]'`(那会把宿主自己的 utility 也锁进 widget 容器内);宿主管线生成的 utility 为普通类,widget DOM 照常命中,动画/自定义类由 SDK 自带的 `tailwind.css`(运行时注入)保证。
568
569
 
570
+ ### 6.3 Markdown 渲染(AI 消息)
571
+
572
+ AI 文本消息(`text` part)按 Markdown 渲染,内置 `react-markdown` + `remark-gfm`(**随 SDK 打包,宿主无需额外安装**):
573
+
574
+ - **语法**:CommonMark 全集 + GFM 扩展(表格、任务列表 `- [ ]`、删除线 `~~x~~`、自动链接)
575
+ - **排版**:Claude 风格,色值对齐前端设计 tokens(`frontend/src/theme/tokens.ts`)——链接品牌橙 `#d97757`(hover 加深)、行内代码 `parchment #e8e6dc` 底、代码块 `card #efede6` 底 + `border #e3e1d8` hairline 边框(浅色暖调、横向滚动)、引用块 `clay` 左点缀、表头 `parchment` 底
576
+ - **安全**:默认 HTML 转义 + URL 清洗(`urlTransform`),Markdown 注入不会产生 XSS
577
+ - **流式友好**:未闭合语法(输出中的代码块 / 表格)渐进渲染不跳版
578
+
579
+ 如需完全自定义渲染,通过 `slots.TextPart` 替换(见 [8.3 组件插槽](#83-组件插槽slots));`renderMode === "html"` 的工具结果不受影响,仍走 DOMPurify 内联渲染。
580
+
569
581
  ---
570
582
 
571
583
  ## 7. 展示模式
@@ -1601,6 +1613,8 @@ mount("#chat", { sdk }).open();
1601
1613
  // 遇到 interrupt 时:自动渲染卡片 → 用户点击 → 自动 respondInterrupt → Agent 继续
1602
1614
  ```
1603
1615
 
1616
+ > interrupt 帧是流的**暂停点**(后端不发 `done`),`respondInterrupt()` 后的续事件在同一 SSE 流上返回;续流结束(或嵌套 interrupt 再次暂停)后,输入框均可正常继续发送——挂起/续流状态由 Widget 自动管理。
1617
+
1604
1618
  也可通过插槽自定义中断卡片:
1605
1619
 
1606
1620
  ```ts
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { c as J } from "./nosUploader-C94D61NK.js";
1
+ import { c as J } from "./nosUploader-BkBtdrMs.js";
2
2
  function h(r) {
3
3
  if (Array.isArray(r)) return r.map((e) => h(e));
4
4
  if (r && typeof r == "object" && r.constructor === Object) {
@@ -1,4 +1,4 @@
1
- import { g as pi, a as Dn, b as rn } from "./nosUploader-C94D61NK.js";
1
+ import { g as pi, b as Dn, a as rn } from "./nosUploader-BkBtdrMs.js";
2
2
  function gi(pn, _n) {
3
3
  for (var C = 0; C < _n.length; C++) {
4
4
  const ie = _n[C];
@@ -4705,8 +4705,8 @@ function ui(fe) {
4705
4705
  };
4706
4706
  }
4707
4707
  export {
4708
- Gr as a,
4709
- dt as b,
4708
+ dt as a,
4709
+ Gr as b,
4710
4710
  ui as c,
4711
4711
  $n as g
4712
4712
  };