diff --git a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml index a54457715b..92ea844d93 100644 --- a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml +++ b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write .agents/notes/implemented/architecture/2026-06-13-capability-seams.md -2026-06-13-capability-seams.md: 3c552c474b499b9f1c9f60242f4773750faadafb -2026-06-13-capability-seams.zh.md: 4e6100a2ce557d91fa18b5630c267f37f1bc0f00 +2026-06-13-capability-seams.md: 798739b7ef203b10ea657f9e1c178ea7eab094ad +2026-06-13-capability-seams.zh.md: c8f568aa569fe74146f1e7fcc46e00774a39fb84 diff --git a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md index 3c552c474b..798739b7ef 100644 --- a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md +++ b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md @@ -8,7 +8,7 @@ English | [中文](2026-06-13-capability-seams.zh.md) The harness has swappable capabilities, including shell execution and model providers. A capability has three concerns that change at different rates and for different reasons: the *contract* (what the capability is), the *implementation* (how it runs), and the *consumer API* (what the model and other plugins program against). Bundling them in one package couples those rates of change — swapping a local executor for a sandboxed one would churn the tool schemas the model sees, even though the model-facing contract never changed. -This is distinct from "who provides vs. needs a capability at runtime", which Cordis already answers with services + `inject` (a provider registers `ctx.shell`; a consumer declares `inject: ['bash']` and its fiber pends until the service exists). That mechanism is necessary but doesn't dictate package boundaries; this Agent Note does. +This is distinct from "who provides vs. needs a capability at runtime", which Cordis already answers with services + `inject` (a provider registers `ctx.shell`; a consumer declares `inject: ['shell']` and its fiber pends until the service exists). That mechanism is necessary but doesn't dictate package boundaries; this Agent Note does. ## Decision diff --git a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md index 4e6100a2ce..c8f568aa56 100644 --- a/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md +++ b/.agents/notes/implemented/architecture/2026-06-13-capability-seams.zh.md @@ -8,7 +8,7 @@ Status: implemented harness 具有可替换的能力,包括 shell 执行和模型提供方。一项能力涉及三个关注点,它们以不同速率、因不同原因变化:*约定*(这项能力是什么)、*实现*(它如何运行)、*消费方 API*(模型和其他插件面向什么编程)。将三者捆绑在一个包中会耦合这些变化速率——把本地执行器换成沙箱化执行器时,模型看到的工具 schema 也会被搅动,尽管面向模型的约定从未改变。 -这与「谁在运行时提供、谁需要一项能力」是不同的问题,后者 Cordis 已通过服务 + `inject` 解决(提供方注册 `ctx.shell`;消费方声明 `inject: ['bash']`,其 fiber 挂起直到服务存在)。该机制是必要的,但不决定包的边界;本 Agent Note 决定的是包的边界。 +这与「谁在运行时提供、谁需要一项能力」是不同的问题,后者 Cordis 已通过服务 + `inject` 解决(提供方注册 `ctx.shell`;消费方声明 `inject: ['shell']`,其 fiber 挂起直到服务存在)。该机制是必要的,但不决定包的边界;本 Agent Note 决定的是包的边界。 ## 决策 diff --git a/docs/subsystems/README.i18n.yaml b/docs/subsystems/README.i18n.yaml index f518237ae3..bb6ea9e291 100644 --- a/docs/subsystems/README.i18n.yaml +++ b/docs/subsystems/README.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write docs/subsystems/README.md -README.md: fb2bb403671df89877c62b188c0ef3b6c6cbb829 -README.zh.md: 5449a198e21bac98ab7f5c14a81264584ffee2a2 +README.md: f56e0a48f59ce8e014991a25fd75c0fb081ca5dd +README.zh.md: 8625f0f100bef2df5b7df43f77eb49f8e233e8b1 diff --git a/docs/subsystems/README.md b/docs/subsystems/README.md index fb2bb40367..f56e0a48f5 100644 --- a/docs/subsystems/README.md +++ b/docs/subsystems/README.md @@ -28,7 +28,7 @@ One page per subsystem of the DeepSeek Harness: what it is, the data structures | [user-questions.md](user-questions.md) | the UI-backed human question/answer seam: `AskUserQuestionRequest`, answer/options vocabulary, provider API, error taxonomy | | [approval.md](approval.md) | the one-shot user-approval seam: `ApprovalRequest`, `ApprovalOutcome`, per-session policy, audit events, and answerer contracts | | [attachment.md](attachment.md) | durable image identity and metadata, validation inputs, verified reads, and the `AttachmentStore` seam | -| [shell.md](shell.md) | the bash executor seam: `ShellExecRequest`/`Spec`, `ShellRunResult`, background `ShellProcess` handles | +| [shell.md](shell.md) | the shell executor seam: `ShellExecRequest`/`Spec`, `ShellRunResult`, background `ShellProcess` handles | | [subprocess.md](subprocess.md) | the subprocess seam: fully-explicit `SubprocessSpawnSpec`, offset-based output readers, unclassified `SubprocessOutcome`, and the managed `DSH_*` environment vocabulary | | [ssh.md](ssh.md) | the POSIX SSH connection and remote filesystem, subprocess and sandbox providers | | [terminal.md](terminal.md) | persistent terminal ids, backend/session contracts, send readiness, bounded reads, and owner-visible snapshots | diff --git a/docs/subsystems/README.zh.md b/docs/subsystems/README.zh.md index 5449a198e2..8625f0f100 100644 --- a/docs/subsystems/README.zh.md +++ b/docs/subsystems/README.zh.md @@ -28,7 +28,7 @@ | [user-questions.md](user-questions.zh.md) | UI 支持的人工问答 seam:`AskUserQuestionRequest`、answer/options 词汇、提供方 API、错误分类体系 | | [approval.md](approval.zh.md) | 一次性用户审批 seam:`ApprovalRequest`、`ApprovalOutcome`、逐会话策略、审计事件和 answerer 约定 | | [attachment.md](attachment.zh.md) | 持久图片标识与元数据、校验输入、经校验读取,以及 `AttachmentStore` seam | -| [shell.md](shell.zh.md) | bash 执行器 seam:`ShellExecRequest`/`Spec`、`ShellRunResult`、后台 `ShellProcess` 句柄 | +| [shell.md](shell.zh.md) | shell 执行器 seam:`ShellExecRequest`/`Spec`、`ShellRunResult`、后台 `ShellProcess` 句柄 | | [subprocess.md](subprocess.zh.md) | 子进程 seam:完全显式的 `SubprocessSpawnSpec`、基于偏移的输出读取器、不含分类的 `SubprocessOutcome`,以及受管 `DSH_*` 环境词汇 | | [ssh.md](ssh.zh.md) | POSIX SSH 连接与远程文件系统、子进程和沙箱提供方 | | [terminal.md](terminal.zh.md) | 持久化终端 ID、后端/会话约定、发送就绪状态、有界读取与 owner 可见快照 | diff --git a/docs/subsystems/jobs.i18n.yaml b/docs/subsystems/jobs.i18n.yaml index 53ba3397ea..20d4e50962 100644 --- a/docs/subsystems/jobs.i18n.yaml +++ b/docs/subsystems/jobs.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write docs/subsystems/jobs.md -jobs.md: 092da7b6f7e10c5713d3d6c9c5c46f925084f86a +jobs.md: 4be335207b7dd94f08015ecda595a6b1cc301a7f jobs.zh.md: 9dc390eb30901664edb47c6727a54ddd83839fa7 diff --git a/docs/subsystems/jobs.md b/docs/subsystems/jobs.md index 092da7b6f7..4be335207b 100644 --- a/docs/subsystems/jobs.md +++ b/docs/subsystems/jobs.md @@ -1,4 +1,4 @@ -# Background Task Runtime +# Background Job Runtime English | [中文](jobs.zh.md) diff --git a/docs/subsystems/shell.i18n.yaml b/docs/subsystems/shell.i18n.yaml index 6fe4308db2..be9a099f49 100644 --- a/docs/subsystems/shell.i18n.yaml +++ b/docs/subsystems/shell.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write docs/subsystems/shell.md -shell.md: 9a8c28d306dc089762d2162d1933e86077cf34ff -shell.zh.md: c67c39e656c37363f020d310ed541a7570fea6bf +shell.md: de04083093a1e53aedd310f388f778638d858ce7 +shell.zh.md: d68b1b2cfba3214a23e9120f19fc9a029a181a18 diff --git a/docs/subsystems/shell.md b/docs/subsystems/shell.md index 9a8c28d306..de04083093 100644 --- a/docs/subsystems/shell.md +++ b/docs/subsystems/shell.md @@ -1,8 +1,8 @@ -# Bash Executor +# Shell Executor English | [中文](shell.zh.md) -The bash execution seam is split across a Service Definition ([dsh-shell](../../packages/shell/shell), `ctx.shell`), Service Providers ([dsh-bash-local](../../packages/shell/bash-local) and [dsh-bash-sandbox](../../packages/shell/bash-sandbox)), and Consumer ([dsh-tool-bash](../../packages/shell/tool-bash), the `bash` schema). Generic background-job ids, ownership, and controls live in [jobs.md](jobs.md); this seam returns a task-free process handle. Managed-range mechanics live behind the [subprocess seam](subprocess.md). +The shell execution seam uses [dsh-shell](../../packages/shell/shell) as its Service Definition on `ctx.shell`. The [shell package group](../../packages/shell/README.md) lists its Bash and PowerShell providers and model-facing Consumers. Generic background-job ids, ownership, and controls live in [jobs.md](jobs.md); this seam returns a process handle without job registration. Managed-range mechanics live behind the [subprocess seam](subprocess.md). Source: [`packages/shell/shell/src/types.ts`](../../packages/shell/shell/src/types.ts) diff --git a/docs/subsystems/shell.zh.md b/docs/subsystems/shell.zh.md index c67c39e656..d68b1b2cfb 100644 --- a/docs/subsystems/shell.zh.md +++ b/docs/subsystems/shell.zh.md @@ -1,8 +1,8 @@ -# Bash 执行器 +# Shell 执行器 [English](shell.md) | 中文 -bash 执行 seam 分为 Service Definition([dsh-shell](../../packages/shell/shell),`ctx.shell`)、Service Provider([dsh-bash-local](../../packages/shell/bash-local) 与 [dsh-bash-sandbox](../../packages/shell/bash-sandbox))和 Consumer([dsh-tool-bash](../../packages/shell/tool-bash),即 `bash` schema)。通用后台任务的 job id、所有权与控制位于 [jobs.md](jobs.zh.md);本 seam 返回一个不含任务概念的进程句柄。managed-range 机制封装在[子进程 seam](subprocess.zh.md)之后。 +shell 执行 seam 由 [dsh-shell](../../packages/shell/shell) 在 `ctx.shell` 上提供 Service Definition。[shell 包组](../../packages/shell/README.zh.md)列出其 Bash 与 PowerShell 提供方以及面向模型的 Consumer。通用后台任务的 id、所有权与控制位于 [jobs.md](jobs.zh.md);本 seam 返回进程句柄,不注册后台任务。managed-range 机制封装在[子进程 seam](subprocess.zh.md)之后。 源码:[`packages/shell/shell/src/types.ts`](../../packages/shell/shell/src/types.ts) diff --git a/packages/README.i18n.yaml b/packages/README.i18n.yaml index 55aab7ca97..4d2db90fdf 100644 --- a/packages/README.i18n.yaml +++ b/packages/README.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write packages/README.md -README.md: 219a2e8fb848b2b6a03cb38af2c5d73adb6e44a0 -README.zh.md: 0177fd73b89b1ad59dc026db5179efe45dcfc5a0 +README.md: eaea9ac6c9c18ebba9e01bcbaff3ae070b9a78de +README.zh.md: 7941839c7fb924baaeb7df227c085265b66dac76 diff --git a/packages/README.md b/packages/README.md index 219a2e8fb8..eaea9ac6c9 100644 --- a/packages/README.md +++ b/packages/README.md @@ -62,6 +62,7 @@ Every package lives in exactly one group; new packages join existing groups, and | [`guard/`](guard/README.md) | Loop-hygiene guards: advisory repeat-call reminders + the `tools/execute` deadline enforcer | | [`bundle/`](bundle/README.md) | Installable `dsh --profile` patch layers | | [`extensions/`](extensions/README.md) | Agent runtime self-modification: live plugin/service inspection and model-written mount/unmount | +| [`mcp/`](mcp/README.md) | External Model Context Protocol servers exposed as native tools | | [`hooks/`](hooks/README.md) | Hook bridges + the shared Claude Code / Codex wire-protocol library | | [`session/`](session/README.md) | Durable session data plane: persistence seam + backends, projection seam, log-backed titles, session reporting | | [`session-query/`](session-query/README.md) | Session retrieval family: logical corpus, bounded reads, lineage, semantic filtering, SQLite full-text search | @@ -75,7 +76,7 @@ Every package lives in exactly one group; new packages join existing groups, and | [`boot/`](boot/README.md) | Shared app-bin boot glue | | [`host/`](host/README.md) | Web-GUI host half: API gateway + HTTP route server | | [`client/`](client/README.md) | Web-GUI browser half: shell, wire, object services, slots, `ui-*` plugins | -| [`test-support/`](test-support/README.md) | Support infrastructure (testkits, invariants, replay, Loader smokes) | +| [`test-support/`](test-support/README.md) | Test infrastructure (testkits, replay, Loader smokes) | | [`runtime-diagnostics/`](runtime-diagnostics/README.md) | Runtime diagnostics: package-owned invariant checks and reports | | [`util/`](util/README.md) | Low-level zero-dependency utilities shared across groups (`Branded`, home/path helpers, timeout, retention) | diff --git a/packages/README.zh.md b/packages/README.zh.md index 0177fd73b8..7941839c7f 100644 --- a/packages/README.zh.md +++ b/packages/README.zh.md @@ -62,6 +62,7 @@ harness 由 `packages/` 下的 npm 包组装而成,按能力系列分组:会 | [`guard/`](guard/README.zh.md) | 循环卫生守卫:建议性重复调用提醒 + `tools/execute` 截止时间强制执行器 | | [`bundle/`](bundle/README.zh.md) | 可安装的 `dsh --profile` 补丁层 | | [`extensions/`](extensions/README.zh.md) | agent 运行时自修改:实时插件/服务检查与模型所写挂载/卸载 | +| [`mcp/`](mcp/README.zh.md) | 将外部 Model Context Protocol 服务器的工具接入为原生工具 | | [`hooks/`](hooks/README.zh.md) | 钩子桥接 + 共享的 Claude Code/Codex 线协议库 | | [`session/`](session/README.zh.md) | 持久会话数据平面:持久化 seam + 后端、投影 seam、基于日志的标题、会话上报 | | [`session-query/`](session-query/README.zh.md) | 会话检索系列:逻辑语料库、有界读取、血缘、语义过滤、SQLite 全文搜索 | @@ -75,7 +76,7 @@ harness 由 `packages/` 下的 npm 包组装而成,按能力系列分组:会 | [`boot/`](boot/README.zh.md) | 共享的 app bin 启动粘合层 | | [`host/`](host/README.zh.md) | web GUI 宿主半侧:API 网关 + HTTP 路由服务器 | | [`client/`](client/README.zh.md) | web GUI 浏览器半侧:shell、协议层、对象服务、slot、`ui-*` 插件 | -| [`test-support/`](test-support/README.zh.md) | 支持基础设施(testkit、不变式、回放、Loader 冒烟测试) | +| [`test-support/`](test-support/README.zh.md) | 测试基础设施(testkit、回放、Loader 冒烟测试) | | [`runtime-diagnostics/`](runtime-diagnostics/README.zh.md) | 运行时诊断:按包归属的运行时不变式检查与报告 | | [`util/`](util/README.zh.md) | 组间共享的低层零依赖工具(`Branded`、home/路径辅助函数、超时、留存) | diff --git a/packages/client/README.i18n.yaml b/packages/client/README.i18n.yaml index fe288b59a1..729dcb388e 100644 --- a/packages/client/README.i18n.yaml +++ b/packages/client/README.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write packages/client/README.md -README.md: 0894d4e0ef5e45876a58abea40cdad840e7dfacd -README.zh.md: 8183ef33ca7e08bec2533eb2e21486809c94cedd +README.md: 75b33f62031fdd02e1594bbe6042df4735362183 +README.zh.md: 3cbd63f46ee3f0177b5b31715448a79187df1b02 diff --git a/packages/client/README.md b/packages/client/README.md index 0894d4e0ef..75b33f6203 100644 --- a/packages/client/README.md +++ b/packages/client/README.md @@ -41,7 +41,10 @@ The kernel packages boot and serve the page; the UI feature packages present it. | [`ui-primitives/`](ui-primitives/README.md) | Provides shared React controls, icons, and content renderers | — | | [`ui-attachment/`](ui-attachment/README.md) | Registers composer and message-image attachment presentation | — | | [`ui-layout/`](ui-layout/README.md) | Arranges the main application regions | — | +| [`ui-dockkit/`](ui-dockkit/README.md) | Provides docking layout operations and React components | — | | [`ui-sidebar/`](ui-sidebar/README.md) | Presents workspace and session navigation | — | +| [`ui-sidebar-right/`](ui-sidebar-right/README.md) | Owns the right Sidebar and its tab types | `ctx.sidebarRight`, `ctx.sidebarRightTabs` | +| [`ui-sidebar-documentpreview/`](ui-sidebar-documentpreview/README.md) | Displays documents in right Sidebar tabs | `ctx.documentPreviews` | | [`resources/`](resources/README.md) | Unified resource model: protocol providers behind the `useResource` session standard hook | `ctx.resources` | | [`ui-sidebar-files/`](ui-sidebar-files/README.md) | Right-Sidebar workspace file tree tab type | — | | [`ui-brand-official/`](ui-brand-official/README.md) | Fills the generic browser-brand slots with the official name and marks | — | diff --git a/packages/client/README.zh.md b/packages/client/README.zh.md index 8183ef33ca..3cbd63f46e 100644 --- a/packages/client/README.zh.md +++ b/packages/client/README.zh.md @@ -41,7 +41,10 @@ kind: "package-group" | [`ui-primitives/`](ui-primitives/README.zh.md) | 提供共享 React 控件、图标与内容渲染器 | — | | [`ui-attachment/`](ui-attachment/README.zh.md) | 注册输入框与消息图片的附件呈现 | — | | [`ui-layout/`](ui-layout/README.zh.md) | 排列应用的主要区域 | — | +| [`ui-dockkit/`](ui-dockkit/README.zh.md) | 提供停靠布局操作与 React 组件 | — | | [`ui-sidebar/`](ui-sidebar/README.zh.md) | 展示工作区与会话导航 | — | +| [`ui-sidebar-right/`](ui-sidebar-right/README.zh.md) | 管理右侧 Sidebar 及其 tab 类型 | `ctx.sidebarRight`, `ctx.sidebarRightTabs` | +| [`ui-sidebar-documentpreview/`](ui-sidebar-documentpreview/README.zh.md) | 在右侧 Sidebar 的 tab 中显示文档 | `ctx.documentPreviews` | | [`resources/`](resources/README.zh.md) | 统一资源模型:`useResource` 会话标准钩子背后的协议提供方 | `ctx.resources` | | [`ui-sidebar-files/`](ui-sidebar-files/README.zh.md) | 右侧 Sidebar 的工作区文件树 tab 类型 | — | | [`ui-brand-official/`](ui-brand-official/README.zh.md) | 用官方名称与标记填充通用浏览器品牌 slot | — | diff --git a/packages/client/hmr/src/index.ts b/packages/client/hmr/src/index.ts index b06d3fa418..4f1bf799a4 100644 --- a/packages/client/hmr/src/index.ts +++ b/packages/client/hmr/src/index.ts @@ -2,7 +2,7 @@ * HMR plugin, node half: the host end of the dev reload chain. One interval * stat-polls every graph row's client bundle (polling by design: network mounts * deliver no inotify events), reports changes through - * `clientModuleHost.rebuilt(id)`, and serves the `/plugins/events` SSE channel + * `clientModules.rebuilt(id)`, and serves the `/plugins/events` SSE channel * broadcasting graph/rebuilt frames to the browser half (src/client/). * The web bundle mounts this row unconditionally: without a rebuild * watcher rewriting client bundles, the poll observes no changes and the @@ -12,7 +12,7 @@ import { statSync } from 'node:fs' import type { ServerResponse } from 'node:http' import type { Context } from '@deepseek-ai/cordis' import z from '@deepseek-ai/schemastery' -// Empty type imports carry the clientModuleHost/webServer Context merges. +// Type imports carry the clientModules/webServer Context merges. import type { ClientArtifactBaseline } from '@deepseek-ai/dsh-client-modules' import type {} from '@deepseek-ai/dsh-host-webserver' import type { PluginsEventFrame } from './events.ts' @@ -62,7 +62,7 @@ function sameBundleStat(left: WatchedBundleStat, right: WatchedBundleStat): bool /** * Mount the dev chain: bundle watches, rebuilt reporting, and the SSE channel. - * @param ctx - host plugin context carrying clientModuleHost and webServer. + * @param ctx - host plugin context carrying clientModules and webServer. * @param config - validated {@link Config}. */ export function apply(ctx: Context, config: Config): void { diff --git a/packages/client/modules/src/index.ts b/packages/client/modules/src/index.ts index a9c1988745..4ce759a2b8 100644 --- a/packages/client/modules/src/index.ts +++ b/packages/client/modules/src/index.ts @@ -6,7 +6,7 @@ * combo scripts plus their source maps, * contributes the registration facade, application preloads, bootstrap scripts, * and graph to the webserver's index injection table, and provides the - * `clientModuleHost` service (the HMR node half's registration/notification + * `clientModules` service (the HMR node half's registration/notification * face). * * Scanning is incremental per package — there is no full-rescan code path. diff --git a/packages/client/ui-renderer/src/client/registry.ts b/packages/client/ui-renderer/src/client/registry.ts index 728cbdcb21..89e68846d2 100644 --- a/packages/client/ui-renderer/src/client/registry.ts +++ b/packages/client/ui-renderer/src/client/registry.ts @@ -371,7 +371,7 @@ export class SlotRegistry extends Service { * Shadowing winners per cell for a key: the first live (non-abdicated) * entry of each cell in priority order — what outlets render; chain keys * pass through unchanged (election consumes every entry). The raw - * {@link SlotsService.entries} view stays the inspection surface. Fresh + * {@link SlotRegistry.entries} view stays the inspection surface. Fresh * array per call, not a uSES getSnapshot source. * @param key - SlotMap key. * @returns the winning entry per occupied cell. @@ -395,7 +395,7 @@ export class SlotRegistry extends Service { * plugins mirroring contribution health. Fires synchronously per report, * after the registry mutated for abdicating crashes. Callers own the * disposer (wire it through ctx.effect for fiber-lifetime cleanup, as with - * {@link SlotsService.subscribe}). + * {@link SlotRegistry.subscribe}). * @param fn - called with the slot key, the crashed entry, the crash * cause, and `abdicated`: whether the crash retired the entry from its cell. * @returns unsubscribe. diff --git a/packages/client/ui-theme/src/client/index.ts b/packages/client/ui-theme/src/client/index.ts index 48ace2efa0..9997d3f291 100644 --- a/packages/client/ui-theme/src/client/index.ts +++ b/packages/client/ui-theme/src/client/index.ts @@ -96,7 +96,7 @@ export interface ThemeSnapshot { /** One theme token exposed to pre-definition Cordis inspection. */ export interface ThemeTokenInspection { - /** Token name accepted by {@link ThemeService.overrideTokens}. */ + /** Token name accepted by {@link ThemeRuntime.overrideTokens}. */ name: string /** Intended visual role. */ description: string diff --git a/packages/test-support/README.i18n.yaml b/packages/test-support/README.i18n.yaml index d123f288aa..3ddf790562 100644 --- a/packages/test-support/README.i18n.yaml +++ b/packages/test-support/README.i18n.yaml @@ -2,5 +2,5 @@ # side as of the last confirmed-consistent state. Both languages carry equal authority; # after editing either side, bring the other along and re-record with: # pnpm run verify-translation-pairing --write packages/test-support/README.md -README.md: d3bd4bbff218227d4b0423f7f1287368e7f87a99 -README.zh.md: db451041f9a3cd3459aa8e591e10f1720e358557 +README.md: 88dfcb941aaac3e7c36ddb484b655b37e6bb9c2a +README.zh.md: 8034b8fb79bc229d79f15a11a683346d8d1582b4 diff --git a/packages/test-support/README.md b/packages/test-support/README.md index d3bd4bbff2..88dfcb941a 100644 --- a/packages/test-support/README.md +++ b/packages/test-support/README.md @@ -38,7 +38,7 @@ The test-support group gives repository tests deterministic, keyless ways to exe ## Related documentation - [Testing policy](../../docs/testing.md) — the keyless snapshot tier these harnesses serve and when it is required. -- [Runtime invariants subsystem](../../docs/subsystems/invariants.md) — the package-owned runtime checks each test-support package ships as `./invariant`. +- [Runtime invariants subsystem](../../docs/subsystems/invariants.md) — registration and execution of package-owned runtime checks. - [Package groups](../README.md) — how support groups relate to the product groups. ----- diff --git a/packages/test-support/README.zh.md b/packages/test-support/README.zh.md index db451041f9..8034b8fb79 100644 --- a/packages/test-support/README.zh.md +++ b/packages/test-support/README.zh.md @@ -38,7 +38,7 @@ test-support 组为仓库测试提供确定且无须密钥的真实产品测试 ## 相关文档 - [测试策略](../../docs/testing.zh.md)——这些 harness 所服务的无密钥快照层,以及何时必须使用该层。 -- [运行时不变式子系统](../../docs/subsystems/invariants.zh.md)——每个 test-support 包以 `./invariant` 形式随附的包自有运行时检查。 +- [运行时不变式子系统](../../docs/subsystems/invariants.zh.md)——包自有运行时检查的注册与执行。 - [包组](../README.zh.md)——支持组与产品组的关系。 -----