@qwen-code/web-shell 0.24.1-preview.1 → 0.24.3

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 (78) hide show
  1. package/README.md +51 -4
  2. package/dist/daemon-react-sdk.js +1 -1
  3. package/dist/index.js +54062 -49941
  4. package/dist/sw.js +1 -1
  5. package/dist/{toolNames-DgCpmhML.js → toolNames-DQad2xSu.js} +6114 -5488
  6. package/dist/transcript.js +10297 -9531
  7. package/dist/types/App.d.ts +13 -2
  8. package/dist/types/adapters/messageTypes.d.ts +12 -1
  9. package/dist/types/adapters/reported-artifacts.d.ts +2 -0
  10. package/dist/types/adapters/transcriptToMessages.d.ts +16 -0
  11. package/dist/types/assistant-turn-settlement.d.ts +12 -0
  12. package/dist/types/components/BranchPickerPopover.d.ts +3 -1
  13. package/dist/types/components/ChatContextHeader.d.ts +10 -1
  14. package/dist/types/components/ChatEditor.d.ts +10 -0
  15. package/dist/types/components/GoalStatusStrip.d.ts +12 -0
  16. package/dist/types/components/MessageItem.d.ts +7 -1
  17. package/dist/types/components/SplitView.d.ts +3 -1
  18. package/dist/types/components/StandaloneAuth.d.ts +3 -1
  19. package/dist/types/components/artifacts/ArtifactPanel.d.ts +22 -1
  20. package/dist/types/components/artifacts/TrajectoryPanel.d.ts +14 -0
  21. package/dist/types/components/artifacts/TurnOutputs.d.ts +7 -0
  22. package/dist/types/components/artifacts/artifactUtils.d.ts +1 -1
  23. package/dist/types/components/composer/AddMenu.d.ts +24 -2
  24. package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +11 -1
  25. package/dist/types/components/dialogs/DaemonStatusDialog.d.ts +4 -0
  26. package/dist/types/components/dialogs/WorkspaceAddStatusDialog.d.ts +11 -0
  27. package/dist/types/components/messages/AssistantMessage.d.ts +5 -1
  28. package/dist/types/components/messages/SettingsMessage.d.ts +4 -1
  29. package/dist/types/components/messages/tools/ShellToolOutput.d.ts +4 -0
  30. package/dist/types/components/messages/tools/shellLiveOutput.d.ts +13 -0
  31. package/dist/types/components/panels/EnvironmentPanel.d.ts +2 -1
  32. package/dist/types/components/sidebar/WorkspaceSection.d.ts +2 -1
  33. package/dist/types/components/ui/alert-dialog.d.ts +1 -1
  34. package/dist/types/components/ui/field.d.ts +1 -1
  35. package/dist/types/components/ui/toggle-group.d.ts +1 -1
  36. package/dist/types/components/workspaces/CapacityRecoveryDialog.d.ts +11 -0
  37. package/dist/types/config/daemon.d.ts +3 -1
  38. package/dist/types/config/remote-connections.d.ts +18 -0
  39. package/dist/types/config/remote-workspace-add.d.ts +17 -0
  40. package/dist/types/customization.d.ts +59 -1
  41. package/dist/types/daemon/session/DaemonSessionProvider.d.ts +3 -2
  42. package/dist/types/daemon/session/actions.d.ts +1 -1
  43. package/dist/types/daemon/session/httpErrors.d.ts +1 -0
  44. package/dist/types/daemon/session/types.d.ts +30 -1
  45. package/dist/types/daemon/workspace/hooks/useDaemonMemory.d.ts +3 -1
  46. package/dist/types/daemon/workspace/types.d.ts +8 -1
  47. package/dist/types/hooks/useAssistantFeedback.d.ts +16 -0
  48. package/dist/types/hooks/useCapacityRecovery.d.ts +8 -0
  49. package/dist/types/hooks/useComposerCore.d.ts +6 -1
  50. package/dist/types/hooks/useContextCompressionReconcile.d.ts +38 -0
  51. package/dist/types/hooks/useQueuedPrompts.d.ts +2 -1
  52. package/dist/types/hooks/useReportedArtifactRegistration.d.ts +20 -0
  53. package/dist/types/hooks/useSessionArtifacts.d.ts +2 -1
  54. package/dist/types/index.d.ts +1 -1
  55. package/dist/types/live/LiveLevelMeter.d.ts +31 -0
  56. package/dist/types/live/LiveVoiceButton.d.ts +7 -1
  57. package/dist/types/live/LiveVoiceMenuItem.d.ts +9 -0
  58. package/dist/types/live/live-model-options.d.ts +24 -0
  59. package/dist/types/live/messages.d.ts +16 -0
  60. package/dist/types/live/messages.transcript-stub.d.ts +12 -0
  61. package/dist/types/live/pcm-player.d.ts +34 -0
  62. package/dist/types/live/screen-share.d.ts +25 -0
  63. package/dist/types/live/useLiveBrowserHost.d.ts +92 -0
  64. package/dist/types/live/useLiveVoice.d.ts +6 -0
  65. package/dist/types/session-catalog/session-catalog-store.d.ts +9 -0
  66. package/dist/types/settings.d.ts +6 -4
  67. package/dist/types/trajectory/buildTrajectory.d.ts +15 -0
  68. package/dist/types/trajectory/projectTrajectoryWindow.d.ts +23 -0
  69. package/dist/types/trajectory/transcriptPageLoader.d.ts +31 -0
  70. package/dist/types/trajectory/types.d.ts +130 -0
  71. package/dist/types/trajectory/useTrajectoryWindow.d.ts +75 -0
  72. package/dist/types/utils/assistantFeedback.d.ts +71 -0
  73. package/dist/types/utils/commitGraph.d.ts +39 -0
  74. package/dist/types/utils/contextCompression.d.ts +38 -0
  75. package/dist/types/utils/sessionPreparation.d.ts +3 -1
  76. package/dist/types/voice/capture-utils.d.ts +22 -0
  77. package/dist/types/voice/useVoiceCapture.d.ts +2 -1
  78. package/package.json +9 -3
package/README.md CHANGED
@@ -368,6 +368,35 @@ const projection = projectChatRecordsToDaemonTranscript(records);
368
368
  | `restartSseOnPrompt` | `boolean` | 每次 prompt 被 daemon 接收后重建存活 SSE 流;流断开时提交 prompt 总会立即重建(与此开关无关);默认关闭 |
369
369
  | `settings` | `WebShellSettingsOptions` | 可选。控制原生 `/settings` 页面的呈现;见 [原生设置呈现](#原生设置呈现)。 |
370
370
 
371
+ ### Workspace 会话创建超时
372
+
373
+ Workspace 创建由 SDK 分别约束能力查询和创建请求,WebShell 另设 75 秒的
374
+ 兜底总超时,覆盖常见的单次能力预检与创建两个默认 30 秒请求,并留出 15 秒余量。冷缓存或缓存过期时,
375
+ 能力查询 20 秒、创建请求 15 秒可以在约 35 秒后成功,无需调整配置。
376
+ 此规则也适用于已有会话时创建新会话;SDK standalone 创建保持原有超时行为。
377
+ 并发能力刷新可能取代原预检并延长请求链;即使每个请求都未超过自身截止时间,
378
+ 创建动作仍可能先触及 75 秒上限。
379
+
380
+ | 配置/机制 | 默认值 | 作用与边界 |
381
+ | --------------------------- | ---------- | -------------------------------------------------------------------- |
382
+ | WebShell workspace 创建动作 | `75000` ms | 兜底限制不响应 SDK 取消信号的传输;超时后成功返回的会话会被 detach。 |
383
+ | `onSessionCreated` 回调 | `30000` ms | 创建完成后才开始计时的独立宿主回调限制;没有公开的超时配置属性。 |
384
+
385
+ WebShell Provider 不透传 SDK 的
386
+ [`fetchTimeoutMs`](../../docs/developers/daemon/13-sdk-daemon-client.md#configuration),
387
+ 能力预检和创建请求使用 SDK 默认请求预算;提高 daemon 的初始化超时不会提高这两类请求的 SDK 超时。
388
+ load/resume 使用独立预算;服务端优先级、客户端覆盖顺序、能力缓存前提和缺失时的回退值见
389
+ [restore 超时契约](../../docs/design/2026-08-07-safe-session-restore-timeout.md#timeout-contract),
390
+ SDK 和 WebShell 的 restore 余量见
391
+ [serve 协议文档](../../docs/developers/qwen-serve-protocol.md#capabilities)。
392
+
393
+ SDK `query()` 的 `timeout.controlRequest` 等参数属于
394
+ 子进程接口,不控制 daemon HTTP 请求。兜底超时限制 WebShell 的等待时间,不保证
395
+ 底层传输立即取消;迟到结果仍按原有机制清理。其他动作、会话清理和回调仍使用各自的超时。
396
+
397
+ daemon 参数的完整含义和配置方式见
398
+ [daemon 配置文档](../../docs/developers/daemon/17-configuration.md)。
399
+
371
400
  ### WebShell
372
401
 
373
402
  | 属性 | 类型 | 说明 |
@@ -384,6 +413,7 @@ const projection = projectChatRecordsToDaemonTranscript(records);
384
413
  | `onBrandResolved` | `(brand: WebShellResolvedBrand) => void` | 品牌解析完成后触发,载荷只含 `name` 与 `logoDataUri`(不含 `logo` 节点),供宿主应用到自己的文档;shell 自身从不写 `document.title` 或 favicon |
385
414
  | `onSlashCommand` | `(command: WebShellSlashCommand) => boolean \| void` | 斜杠命令进入默认处理前触发;返回 `true` 时由宿主接管并跳过默认行为 |
386
415
  | `onSessionArtifactsChange` | `(change: WebShellSessionArtifactsChange) => void` | Session Artifact 初始恢复或变化后返回当前完整快照与 turn 投影 |
416
+ | `onAssistantTurnSettled` | `(event: WebShellAssistantTurnSettledEvent) => void` | daemon 权威终态提交后触发;多个 provider 可能重复上报,宿主按 `(sessionId, promptId)` 去重 |
387
417
  | `settings` | `WebShellSettingsOptions` | 可选。控制原生 `/settings` 页面的呈现;见 [原生设置呈现](#原生设置呈现)。 |
388
418
 
389
419
  宿主可以通过 `onContextUsageOpen?: (sessionId: string) => void` 接管上下文
@@ -536,13 +566,30 @@ daemon 不净化它读到的文件。该配置只从 User / System / SystemDefau
536
566
  />
537
567
  ```
538
568
 
539
- `WebShellSettingsOptions.excludeItems` 接受 `WebShellSettingItemId` 值。可导入 `WEB_SHELL_SETTING_ITEM_IDS` 获取受支持的只读列表。这些 ID 是经过整理的别名,而不是 daemon 的配置路径:`setting:language` 对应语言控件,`setting:fast-model` 对应快速模型选择器。即使内部 schema 路径变化,别名也保持稳定。新增的上游设置默认仍然可见;未知的运行时 ID 会被忽略。
569
+ 也可以只开放少量条目,未列出的设置(包括上游新增设置)默认隐藏:
570
+
571
+ ```tsx
572
+ <WebShellWithProviders
573
+ settings={{
574
+ includeItems: ['setting:language', 'builtin:chat-width'],
575
+ }}
576
+ />
577
+ ```
578
+
579
+ `WebShellSettingsOptions.includeItems` 与 `excludeItems` 接受 `WebShellSettingItemId` 值。可导入 `WEB_SHELL_SETTING_ITEM_IDS` 获取受支持的只读列表。这些 ID 是经过整理的别名,而不是 daemon 的配置路径:`setting:language` 对应语言控件,`setting:fast-model` 对应快速模型选择器。即使内部 schema 路径变化,别名也保持稳定。未知的运行时 ID 不匹配任何条目;配置白名单后,尚无公开别名的字段也会隐藏。
580
+
581
+ 前端内置块有自己的 ID:`builtin:chat-width`、`builtin:browser-notifications`、`builtin:live-setup`、`builtin:local-control`、`builtin:connections` 和 `builtin:model-management`。`builtin:connections` 区块仅在 standalone 构建中渲染,而 standalone 入口不接收 `settings` 呈现配置,因此该 ID 目前对嵌入方没有作用。模型管理块与普通 Model 字段独立过滤;仅排除普通 Model 字段时,模型列表与选择仍然可用;配置白名单时需包含 `builtin:model-management` 才会显示该块。浏览器通知与聊天宽度相互独立。既有的能力和隐藏限制仍然适用,白名单不能强制显示不可用的控件,也不会改变排序。
582
+
583
+ - 未传 `includeItems` 时保持现有展示逻辑,仅应用 `excludeItems`;新增的上游设置默认仍然可见。
584
+ - `includeItems: []` 隐藏全部原生设置条目;它与未传入白名单不同。
585
+ - 同时传入两个列表时,排除优先:仅展示白名单中且未被排除的条目。
586
+ - 不传 `settings`、传入 `{}` 或仅传 `excludeItems: []` 时,保持默认呈现。
540
587
 
541
- 前端内置块有自己的 ID:`builtin:chat-width`、`builtin:browser-notifications`、`builtin:live-setup`、`builtin:local-control` 和 `builtin:model-management`。隐藏普通 Model 字段时,模型列表与选择仍然可用;如需隐藏模型管理块,需显式排除 `builtin:model-management`。浏览器通知与聊天宽度相互独立。既有的能力限制仍然适用。
588
+ 过滤在工作区与用户两个作用域中都生效。被排空的分类会消失,分类导航回退到可用分类;全部隐藏则显示现有空状态。从设置面板打开的选择器会在来源条目不再可见时关闭,包括动态修改白名单的情况。
542
589
 
543
- 不传 `settings`、不传 `excludeItems` 或传入空列表,都会保持现有呈现。排除在两个设置作用域(工作区与用户)中都生效。被排空的分类会消失,分类导航回退到可用分类;排除全部条目则显示现有的空状态。从设置面板打开的选择器会在其来源条目被排除时关闭。
590
+ **呈现限制不是访问控制。** 白名单与排除列表只影响原生设置页展示,不启用或关闭底层功能,不改写已保存的配置,也不限制 daemon 写入、斜杠命令、其他入口的模型管理或直接文件访问。该选项不提供作用域策略、字段覆盖或条目级深链。
544
591
 
545
- **呈现限制不是访问控制。** 排除不会改写已保存的配置,也不限制 daemon 写入、斜杠命令、其他入口的模型管理或直接文件访问。该选项不提供白名单、作用域策略、字段覆盖或条目级深链。
592
+ 设计与验证范围见 [English](../../docs/design/web-shell-settings-allowlists.md) / [简体中文](../../docs/design/web-shell-settings-allowlists.zh-CN.md)。
546
593
 
547
594
  ## Markdown 图表接入
548
595
 
@@ -1,4 +1,4 @@
1
- import { A as a, D as o, a as n, b as t, c as u, g as i, d as r, i as S, e as c, s as p, f as g, u as P, h as m, j as d, k as A, l as T, m as l, n as D, o as E, p as v, q as O, r as M, t as N, v as k, w as _, x as b, y as L, z as W, B as h, C, E as F, F as G, G as R, H as V, I as f, J as w, K as x, L as y, M as B, N as H, O as I, P as U, Q as j, R as K, S as q, T as z, U as J, V as Q } from "./toolNames-DgCpmhML.js";
1
+ import { A as a, D as o, a as n, b as t, c as u, g as i, d as r, i as S, e as c, s as p, f as g, u as P, h as m, j as d, k as A, l as T, m as l, n as D, o as E, p as v, q as O, r as M, t as N, v as k, w as _, x as b, y as L, z as W, B as h, C, E as F, F as G, G as R, H as V, I as f, J as w, K as x, L as y, M as B, N as H, O as I, P as U, Q as j, R as K, S as q, T as z, U as J, V as Q } from "./toolNames-DQad2xSu.js";
2
2
  import { DAEMON_APPROVAL_MODES as Y } from "@qwen-code/sdk/daemon";
3
3
  export {
4
4
  a as AGENT_TOOL_NAME,