diff --git a/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.i18n.yaml b/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.i18n.yaml index fed0dee4ba..08b086f3f4 100644 --- a/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.i18n.yaml +++ b/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.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/feature/2026-08-11-web-export-command-and-dialog.md -2026-08-11-web-export-command-and-dialog.md: db4d63331282fbe06e87b282f9056187f2cd3e5e -2026-08-11-web-export-command-and-dialog.zh.md: 971749963d309008a3b7727b7b485d1094ea7911 +2026-08-11-web-export-command-and-dialog.md: d28925500a45111d348b6151df9d4c62cc6de54b +2026-08-11-web-export-command-and-dialog.zh.md: a9a9c4a5cc019a3242561e0cc5f8445625c7cb86 diff --git a/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.md b/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.md index db4d633312..d28925500a 100644 --- a/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.md +++ b/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.md @@ -10,7 +10,7 @@ Session export needs a stable Session-level visible action and an equivalent sla ## Decision -`@deepseek-ai/dsh-session-log-download` registers a Web-only `/export` human command and provides the browser `ctx.sessionLogDownload` controller. The command records an ordinary `command/run` and `command/done`; after `command.execute` returns a successful result, `dsh-client-ui-commands` emits a local acknowledgment that asks this browser's controller to download ApiProxy's existing `GET /api/session.export` ZIP. Other clients render the broadcast command nodes without repeating the browser side effect. The 111×32 `Session log` capsule in the Session Header calls that controller directly. Both paths use a `HEAD` preflight for preparation errors, then hand the GET URL to the browser download manager so JavaScript never buffers the ZIP; they share the same in-flight state and Modal. +`@deepseek-ai/dsh-session-log-export` registers a Web-only `/export` human command and provides the browser `ctx.sessionLogDownload` controller. The command records an ordinary `command/run` and `command/done`; after `command.execute` returns a successful result, `dsh-client-ui-commands` emits a local acknowledgment that asks this browser's controller to download ApiProxy's existing `GET /api/session.export` ZIP. Other clients render the broadcast command nodes without repeating the browser side effect. The 111×32 `Session log` capsule in the Session Header calls that controller directly. Both paths use a `HEAD` preflight for preparation errors, then hand the GET URL to the browser download manager so JavaScript never buffers the ZIP; they share the same in-flight state and Modal. The Header contribution occupies the right-aligned `conversation.session.header.utilities` list and renders the `Session log` text capsule with its trailing download icon plus the shared Modal. The title-adjacent `conversation.session.header.actions` list continues to own mode, Subagent, and Task entries, so mounting Session export does not reorder or move them. The export contribution does not observe Session history. A per-Session controller collapses concurrent gestures, aborts active preflights when its plugin disposes, ignores late requests after disposal, and preserves a user's closed state when the request later completes. diff --git a/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.zh.md b/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.zh.md index 971749963d..a9a9c4a5cc 100644 --- a/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.zh.md +++ b/.agents/notes/implemented/feature/2026-08-11-web-export-command-and-dialog.zh.md @@ -10,7 +10,7 @@ Session 导出需要一个稳定的 Session 级外显入口,以及语义等价 ## Decision -`@deepseek-ai/dsh-session-log-download` 注册 Web 专用的 `/export` 用户命令,并提供浏览器 `ctx.sessionLogDownload` 控制器。该命令记录普通的 `command/run` 和 `command/done`;`command.execute` 返回成功结果后,`dsh-client-ui-commands` 会发布本地确认,请求当前浏览器的控制器下载 ApiProxy 现有的 `GET /api/session.export` ZIP。其他客户端会渲染广播的命令节点,但不会重复执行浏览器副作用。Session Header 中 111×32 的 `Session log` 胶囊按钮会直接调用该控制器。两种入口通过 `HEAD` 预检获得准备阶段错误,再把 GET URL 交给浏览器下载管理器,因此 JavaScript 不会缓冲 ZIP;两种入口共用进行中状态和 Modal。 +`@deepseek-ai/dsh-session-log-export` 注册 Web 专用的 `/export` 用户命令,并提供浏览器 `ctx.sessionLogDownload` 控制器。该命令记录普通的 `command/run` 和 `command/done`;`command.execute` 返回成功结果后,`dsh-client-ui-commands` 会发布本地确认,请求当前浏览器的控制器下载 ApiProxy 现有的 `GET /api/session.export` ZIP。其他客户端会渲染广播的命令节点,但不会重复执行浏览器副作用。Session Header 中 111×32 的 `Session log` 胶囊按钮会直接调用该控制器。两种入口通过 `HEAD` 预检获得准备阶段错误,再把 GET URL 交给浏览器下载管理器,因此 JavaScript 不会缓冲 ZIP;两种入口共用进行中状态和 Modal。 Header 贡献占用最右侧的 `conversation.session.header.utilities` 列表,渲染带尾部下载图标的 `Session log` 文字 capsule 和共享 Modal。标题旁的 `conversation.session.header.actions` 列表继续承载模式、Subagent 和 Task 配置项,挂载 Session export 不会改变它们的顺序或位置。导出贡献不观察 Session 历史。逐 Session 控制器会折叠并发操作,在插件释放时取消活动预检,忽略释放后的迟到请求,并在请求后来完成时保留用户已经关闭弹窗的状态。 diff --git a/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.i18n.yaml b/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.i18n.yaml index 4d0d08fa33..36e8bb9536 100644 --- a/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.i18n.yaml +++ b/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.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/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md -2026-08-11-repository-naming-contract-and-rename-ledger.md: 440ab360e0bd34071de244120aca75116a56ff30 -2026-08-11-repository-naming-contract-and-rename-ledger.zh.md: e5f8d37bdee790b374ecf18be41c04ad8588da46 +2026-08-11-repository-naming-contract-and-rename-ledger.md: ad5a2061c40011b3f8c32ecbb62a0b545f82f9f6 +2026-08-11-repository-naming-contract-and-rename-ledger.zh.md: 8f1b3505f0cc16a6e3e6429b5924cabda231f00f diff --git a/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md b/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md index 440ab360e0..ad5a2061c4 100644 --- a/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md +++ b/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.md @@ -208,7 +208,7 @@ Keep `/compact`, the command package, and the rejected decision to preserve sepa | `AgentDefaultModelService` | `AgentDefaultModelConfig` | The object stores one default model selection. It does not run a service or general registry. Keep its package, key, settings namespace, and type. | | `SessionReferenceService`, `ctx.sessionReferences` | `SessionReferenceResolver`, `ctx.sessionReferenceResolver` | It resolves one session reference from a URI or input. It does not own a reference collection. | | `SessionQueryService`, `SessionQuerySqlite` | `SessionQueryEngine`, `SqliteSessionQueryEngine` | The classes execute a query model and its SQLite implementation. Keep package names, key, and tool. | -| `@deepseek-ai/dsh-session-export`, `session-export/`, Loader id `session-export`, `ctx.sessionExport` | `@deepseek-ai/dsh-session-log-download`, `session-log-download/`, Loader id `session-log-download`, `ctx.sessionLogDownload` | This package does not implement general Session export. It controls the Web download of one Host-streamed Session-log ZIP. The subject and browser side effect must be in its name. | +| `@deepseek-ai/dsh-session-export`, `session-export/`, Loader id `session-export`, `ctx.sessionExport` | `@deepseek-ai/dsh-session-log-export`, `session-log-export/`, Loader id `session-log-download`, `ctx.sessionLogDownload` | The npm package names the Session-log export because npm rejects `download` in package names. The Loader id and browser API retain `download` because they describe the browser side effect. | | `SessionExportDownloadController`, other `SessionExport*` browser types, `useSessionExport`, `SessionExportHeader` | `SessionLogDownloadController`, corresponding `SessionLogDownload*` types, `useSessionLogDownload`, `SessionLogDownloadHeaderAction` | The controller owns preflight, duplicate-request collapse, modal state, and browser save. `ExportDownload` repeats the action, and the component contributes one Header action rather than the Header. | | `CommandService` in the host command package | `CommandRuntime` | The object registers and executes host commands across live calls. Keep its package, key, types, and events. | | `TokenMeterService` | `TokenMeter` | The object measures token use. `Service` adds no scope. | diff --git a/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md b/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md index e5f8d37bde..8f1b3505f0 100644 --- a/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md +++ b/.agents/notes/proposed/architecture/2026-08-11-repository-naming-contract-and-rename-ledger.zh.md @@ -208,7 +208,7 @@ PascalCase 标识符中的首字母缩略词使用首字母大写格式:`Ui` | `AgentDefaultModelService` | `AgentDefaultModelConfig` | 该对象存储一项默认模型选择。它不运行服务,也不是通用注册表。保留其包、键、设置命名空间和类型。 | | `SessionReferenceService`, `ctx.sessionReferences` | `SessionReferenceResolver`, `ctx.sessionReferenceResolver` | 它从 URI 或输入解析一个会话引用,并不拥有引用集合。 | | `SessionQueryService`, `SessionQuerySqlite` | `SessionQueryEngine`, `SqliteSessionQueryEngine` | 这些类执行查询模型及其 SQLite 实现。保留包名、键和工具。 | -| `@deepseek-ai/dsh-session-export`, `session-export/`, Loader id `session-export`, `ctx.sessionExport` | `@deepseek-ai/dsh-session-log-download`, `session-log-download/`, Loader id `session-log-download`, `ctx.sessionLogDownload` | 该包不实现通用 Session 导出。它控制 Web 下载一个由 Host 流式输出的 Session 日志 ZIP。名称必须说明对象和浏览器副作用。 | +| `@deepseek-ai/dsh-session-export`, `session-export/`, Loader id `session-export`, `ctx.sessionExport` | `@deepseek-ai/dsh-session-log-export`, `session-log-export/`, Loader id `session-log-download`, `ctx.sessionLogDownload` | npm 包名使用 Session 日志导出语义,因为 npm 禁止包名包含 `download`。Loader id 与浏览器 API 保留 `download`,因为它们描述浏览器副作用。 | | `SessionExportDownloadController`, 其他 `SessionExport*` 浏览器类型、`useSessionExport`、`SessionExportHeader` | `SessionLogDownloadController`, 对应的 `SessionLogDownload*` 类型、`useSessionLogDownload`、`SessionLogDownloadHeaderAction` | 该 controller 拥有预检、重复请求合并、弹窗状态和浏览器保存。`ExportDownload` 重复表达同一动作,该组件贡献的是一个 Header action,不是整个 Header。 | | 宿主命令包中的 `CommandService` | `CommandRuntime` | 该对象跨实时调用注册并执行宿主命令。保留其包、键、类型和事件。 | | `TokenMeterService` | `TokenMeter` | 该对象测量 token 用量。`Service` 没有补充作用域信息。 | diff --git a/apps/web/tests/assembled-boot.ts b/apps/web/tests/assembled-boot.ts index c4a5b4262e..52c0658e4e 100644 --- a/apps/web/tests/assembled-boot.ts +++ b/apps/web/tests/assembled-boot.ts @@ -43,7 +43,7 @@ const PLUGINS: readonly (WebBootEntry & { bundlePath: string })[] = [ '@deepseek-ai/dsh-client-ui-sidebar', ], }, - { id: '@deepseek-ai/dsh-session-log-download', bundlePath: 'packages/session-query/session-log-download/lib/client.js', url: '/plugins/session-log-download.js', rev: 'fx', inject: ['@deepseek-ai/dsh-client-ui-commands', '@deepseek-ai/dsh-client-ui-conversation'] }, + { id: '@deepseek-ai/dsh-session-log-export', bundlePath: 'packages/session-query/session-log-export/lib/client.js', url: '/plugins/session-log-download.js', rev: 'fx', inject: ['@deepseek-ai/dsh-client-ui-commands', '@deepseek-ai/dsh-client-ui-conversation'] }, { id: '@deepseek-ai/dsh-client-ui-trajectory', bundlePath: 'packages/client/ui-trajectory/lib/client.js', url: '/plugins/ui-trajectory.js', rev: 'fx', inject: ['@deepseek-ai/dsh-client-ui-conversation'] }, ] diff --git a/apps/web/tests/smoke-real.e2e.ts b/apps/web/tests/smoke-real.e2e.ts index f6873778ab..2784b66d07 100644 --- a/apps/web/tests/smoke-real.e2e.ts +++ b/apps/web/tests/smoke-real.e2e.ts @@ -144,7 +144,7 @@ async function detailsTrack(page: Page): Promise { const UI_PLUGIN_DIRS = [ 'connection', 'runtime', 'ui-theme', 'locale', 'ui-layout', 'ui-sidebar', 'ui-settings', 'ui-settings-general', 'ui-settings-models', 'ui-conversation', - 'ui-model-selection', 'ui-user-questions', 'ui-trajectory', '../session-query/session-log-download', + 'ui-model-selection', 'ui-user-questions', 'ui-trajectory', '../session-query/session-log-export', ] const ROUND_DONE_MARKER = 'WEB_ROUND_DONE' const notReady = UI_PLUGIN_DIRS.filter((dir) => { diff --git a/docs/config-catalog.i18n.yaml b/docs/config-catalog.i18n.yaml index 047306e37f..96397ace10 100644 --- a/docs/config-catalog.i18n.yaml +++ b/docs/config-catalog.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/config-catalog.md -config-catalog.md: 25a9b02f91bd7c5a3fef49e6e61dd34dd7afea57 -config-catalog.zh.md: 674c60e74aaa1a65838da78bb290c4159b6fe63b +config-catalog.md: 09c6064c2c6bb3c1da6283a885db33a5b4a674df +config-catalog.zh.md: 0bd95a5ab24b7acf85ba7ca00125ea9135e7dd82 diff --git a/docs/config-catalog.md b/docs/config-catalog.md index 25a9b02f91..09c6064c2c 100644 --- a/docs/config-catalog.md +++ b/docs/config-catalog.md @@ -2847,7 +2847,7 @@ These load from a `cordis.yml` entry with no `config:` block; they declare no co - `@deepseek-ai/dsh-schedule` — requires `agents` · `sessions` · `tools` · `sessionPersistence` ([`packages/schedule/schedule/src/index.ts`](../packages/schedule/schedule/src/index.ts)) - `@deepseek-ai/dsh-session` ([`packages/core/session/src/index.ts`](../packages/core/session/src/index.ts)) - `@deepseek-ai/dsh-session-checkpoint-policy` — requires `llm` · `sessionPersistence` · `sessions` · `tools` ([`packages/session/session-checkpoint-policy/src/index.ts`](../packages/session/session-checkpoint-policy/src/index.ts)) -- `@deepseek-ai/dsh-session-log-download` — requires `commands` ([`packages/session-query/session-log-download/src/index.ts`](../packages/session-query/session-log-download/src/index.ts)) +- `@deepseek-ai/dsh-session-log-export` — requires `commands` ([`packages/session-query/session-log-export/src/index.ts`](../packages/session-query/session-log-export/src/index.ts)) - `@deepseek-ai/dsh-session-projection` ([`packages/session/session-projection/src/index.ts`](../packages/session/session-projection/src/index.ts)) - `@deepseek-ai/dsh-session-stats` — requires `sessionProjections` ([`packages/session/session-stats/src/index.ts`](../packages/session/session-stats/src/index.ts)) - `@deepseek-ai/dsh-skill-badge` — requires `skills` ([`packages/skill/skill-badge/src/index.ts`](../packages/skill/skill-badge/src/index.ts)) diff --git a/docs/config-catalog.zh.md b/docs/config-catalog.zh.md index 674c60e74a..0bd95a5ab2 100644 --- a/docs/config-catalog.zh.md +++ b/docs/config-catalog.zh.md @@ -2849,7 +2849,7 @@ export interface Config { - `@deepseek-ai/dsh-schedule` — 需要 `agents` · `sessions` · `tools` · `sessionPersistence`([`packages/schedule/schedule/src/index.ts`](../packages/schedule/schedule/src/index.ts)) - `@deepseek-ai/dsh-session`([`packages/core/session/src/index.ts`](../packages/core/session/src/index.ts)) - `@deepseek-ai/dsh-session-checkpoint-policy` — 需要 `llm` · `sessionPersistence` · `sessions` · `tools`([`packages/session/session-checkpoint-policy/src/index.ts`](../packages/session/session-checkpoint-policy/src/index.ts)) -- `@deepseek-ai/dsh-session-log-download` — 需要 `commands`([`packages/session-query/session-log-download/src/index.ts`](../packages/session-query/session-log-download/src/index.ts)) +- `@deepseek-ai/dsh-session-log-export` — 需要 `commands`([`packages/session-query/session-log-export/src/index.ts`](../packages/session-query/session-log-export/src/index.ts)) - `@deepseek-ai/dsh-session-projection`([`packages/session/session-projection/src/index.ts`](../packages/session/session-projection/src/index.ts)) - `@deepseek-ai/dsh-session-stats` — 需要 `sessionProjections`([`packages/session/session-stats/src/index.ts`](../packages/session/session-stats/src/index.ts)) - `@deepseek-ai/dsh-skill-badge` — 需要 `skills`([`packages/skill/skill-badge/src/index.ts`](../packages/skill/skill-badge/src/index.ts)) diff --git a/docs/module-graph.i18n.yaml b/docs/module-graph.i18n.yaml index cf3beb798d..353df8d744 100644 --- a/docs/module-graph.i18n.yaml +++ b/docs/module-graph.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/module-graph.md -module-graph.md: d8b80d228251eddad4c91f73748a853207dce86e -module-graph.zh.md: 1085b6f7adc1226502ef599387be6f5b3ec92bda +module-graph.md: 24ee9a4815b4236336ae37f6c926dba4718dafb9 +module-graph.zh.md: d87feb946a43a2f9d391e7894b4a143af4e18406 diff --git a/docs/module-graph.md b/docs/module-graph.md index d8b80d2282..24ee9a4815 100644 --- a/docs/module-graph.md +++ b/docs/module-graph.md @@ -92,7 +92,7 @@ flowchart TD pkg_hooks_codex["hooks-codex"] end subgraph group_session_query["packages/session-query"] - pkg_session_log_download["session-log-download"] + pkg_session_log_export["session-log-export"] pkg_session_query["session-query"] pkg_session_query_sqlite["session-query-sqlite"] pkg_tool_session_query["tool-session-query"] @@ -1363,14 +1363,14 @@ flowchart TD pkg_host_directory_picker_auto --> pkg_host_directory_picker_native pkg_host_directory_picker_auto --> pkg_host_webserver pkg_host_directory_picker_auto --> pkg_invariants - pkg_session_log_download --> pkg_client_locale - pkg_session_log_download --> pkg_client_runtime - pkg_session_log_download --> pkg_client_ui_commands - pkg_session_log_download --> pkg_client_ui_conversation - pkg_session_log_download --> pkg_client_ui_primitives - pkg_session_log_download --> pkg_client_ui_slots - pkg_session_log_download --> pkg_commands - pkg_session_log_download --> pkg_invariants + pkg_session_log_export --> pkg_client_locale + pkg_session_log_export --> pkg_client_runtime + pkg_session_log_export --> pkg_client_ui_commands + pkg_session_log_export --> pkg_client_ui_conversation + pkg_session_log_export --> pkg_client_ui_primitives + pkg_session_log_export --> pkg_client_ui_slots + pkg_session_log_export --> pkg_commands + pkg_session_log_export --> pkg_invariants pkg_client_ui_model_selection --> pkg_api_remotes pkg_client_ui_model_selection --> pkg_client_connection pkg_client_ui_model_selection --> pkg_client_locale @@ -1631,7 +1631,7 @@ flowchart TD | [`client-ui-tool`](../packages/client/ui-tool) | `client` | [`api-remotes`](../packages/api/remotes), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants) | | [`client-ui-workflow-run`](../packages/client/ui-workflow-run) | `client` | [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants), [`session`](../packages/core/session), [`tool-workflow`](../packages/workflow/tool-workflow), [`workflow`](../packages/workflow/workflow) | | [`host-directory-picker-auto`](../packages/host/directory-picker-auto) | `host` | [`client-ui-directory-picker-browse`](../packages/client/ui-directory-picker-browse), [`client-ui-directory-picker-native`](../packages/client/ui-directory-picker-native), [`host-directory-picker-browse`](../packages/host/directory-picker-browse), [`host-directory-picker-native`](../packages/host/directory-picker-native), [`host-webserver`](../packages/host/webserver), [`invariants`](../packages/runtime-diagnostics/invariants) | -| [`session-log-download`](../packages/session-query/session-log-download) | `session-query` | [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`commands`](../packages/interaction/commands), [`invariants`](../packages/runtime-diagnostics/invariants) | +| [`session-log-export`](../packages/session-query/session-log-export) | `session-query` | [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`commands`](../packages/interaction/commands), [`invariants`](../packages/runtime-diagnostics/invariants) | | [`client-ui-model-selection`](../packages/client/ui-model-selection) | `client` | [`api-remotes`](../packages/api/remotes), [`client-connection`](../packages/client/connection), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-input-trigger`](../packages/client/ui-input-trigger), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants) | | [`client-ui-permission-presets`](../packages/client/ui-permission-presets) | `client` | [`api-remotes`](../packages/api/remotes), [`client-connection`](../packages/client/connection), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-schema-form`](../packages/client/schema-form), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-input-trigger`](../packages/client/ui-input-trigger), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-settings`](../packages/client/ui-settings), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants), [`permission-presets`](../packages/interaction/permission-presets) | | [`client-ui-skill`](../packages/client/ui-skill) | `client` | [`api-remotes`](../packages/api/remotes), [`client-connection`](../packages/client/connection), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-input-trigger`](../packages/client/ui-input-trigger), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`client-ui-tool`](../packages/client/ui-tool), [`invariants`](../packages/runtime-diagnostics/invariants) | diff --git a/docs/module-graph.zh.md b/docs/module-graph.zh.md index 1085b6f7ad..d87feb946a 100644 --- a/docs/module-graph.zh.md +++ b/docs/module-graph.zh.md @@ -94,7 +94,7 @@ flowchart TD pkg_hooks_codex["hooks-codex"] end subgraph group_session_query["packages/session-query"] - pkg_session_log_download["session-log-download"] + pkg_session_log_export["session-log-export"] pkg_session_query["session-query"] pkg_session_query_sqlite["session-query-sqlite"] pkg_tool_session_query["tool-session-query"] @@ -1365,14 +1365,14 @@ flowchart TD pkg_host_directory_picker_auto --> pkg_host_directory_picker_native pkg_host_directory_picker_auto --> pkg_host_webserver pkg_host_directory_picker_auto --> pkg_invariants - pkg_session_log_download --> pkg_client_locale - pkg_session_log_download --> pkg_client_runtime - pkg_session_log_download --> pkg_client_ui_commands - pkg_session_log_download --> pkg_client_ui_conversation - pkg_session_log_download --> pkg_client_ui_primitives - pkg_session_log_download --> pkg_client_ui_slots - pkg_session_log_download --> pkg_commands - pkg_session_log_download --> pkg_invariants + pkg_session_log_export --> pkg_client_locale + pkg_session_log_export --> pkg_client_runtime + pkg_session_log_export --> pkg_client_ui_commands + pkg_session_log_export --> pkg_client_ui_conversation + pkg_session_log_export --> pkg_client_ui_primitives + pkg_session_log_export --> pkg_client_ui_slots + pkg_session_log_export --> pkg_commands + pkg_session_log_export --> pkg_invariants pkg_client_ui_model_selection --> pkg_api_remotes pkg_client_ui_model_selection --> pkg_client_connection pkg_client_ui_model_selection --> pkg_client_locale @@ -1633,7 +1633,7 @@ flowchart TD | [`client-ui-tool`](../packages/client/ui-tool) | `client` | [`api-remotes`](../packages/api/remotes), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants) | | [`client-ui-workflow-run`](../packages/client/ui-workflow-run) | `client` | [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants), [`session`](../packages/core/session), [`tool-workflow`](../packages/workflow/tool-workflow), [`workflow`](../packages/workflow/workflow) | | [`host-directory-picker-auto`](../packages/host/directory-picker-auto) | `host` | [`client-ui-directory-picker-browse`](../packages/client/ui-directory-picker-browse), [`client-ui-directory-picker-native`](../packages/client/ui-directory-picker-native), [`host-directory-picker-browse`](../packages/host/directory-picker-browse), [`host-directory-picker-native`](../packages/host/directory-picker-native), [`host-webserver`](../packages/host/webserver), [`invariants`](../packages/runtime-diagnostics/invariants) | -| [`session-log-download`](../packages/session-query/session-log-download) | `session-query` | [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`commands`](../packages/interaction/commands), [`invariants`](../packages/runtime-diagnostics/invariants) | +| [`session-log-export`](../packages/session-query/session-log-export) | `session-query` | [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`commands`](../packages/interaction/commands), [`invariants`](../packages/runtime-diagnostics/invariants) | | [`client-ui-model-selection`](../packages/client/ui-model-selection) | `client` | [`api-remotes`](../packages/api/remotes), [`client-connection`](../packages/client/connection), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-conversation`](../packages/client/ui-conversation), [`client-ui-input-trigger`](../packages/client/ui-input-trigger), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants) | | [`client-ui-permission-presets`](../packages/client/ui-permission-presets) | `client` | [`api-remotes`](../packages/api/remotes), [`client-connection`](../packages/client/connection), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-schema-form`](../packages/client/schema-form), [`client-ui-commands`](../packages/client/ui-commands), [`client-ui-input-trigger`](../packages/client/ui-input-trigger), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-settings`](../packages/client/ui-settings), [`client-ui-slots`](../packages/client/ui-slots), [`invariants`](../packages/runtime-diagnostics/invariants), [`permission-presets`](../packages/interaction/permission-presets) | | [`client-ui-skill`](../packages/client/ui-skill) | `client` | [`api-remotes`](../packages/api/remotes), [`client-connection`](../packages/client/connection), [`client-locale`](../packages/client/locale), [`client-runtime`](../packages/client/runtime), [`client-ui-input-trigger`](../packages/client/ui-input-trigger), [`client-ui-primitives`](../packages/client/ui-primitives), [`client-ui-slots`](../packages/client/ui-slots), [`client-ui-tool`](../packages/client/ui-tool), [`invariants`](../packages/runtime-diagnostics/invariants) | diff --git a/packages/bundle/web-app/cordis.patch.yml b/packages/bundle/web-app/cordis.patch.yml index 13c77e2926..d8922fdfd1 100644 --- a/packages/bundle/web-app/cordis.patch.yml +++ b/packages/bundle/web-app/cordis.patch.yml @@ -67,7 +67,7 @@ # Browser Session export: `/export` command plus the shared download dialog. - id: session-log-download - name: '@deepseek-ai/dsh-session-log-download' + name: '@deepseek-ai/dsh-session-log-export' - id: workspace name: '@deepseek-ai/dsh-workspace' diff --git a/packages/bundle/web-app/package.json b/packages/bundle/web-app/package.json index 74227f4d43..f648c76b3e 100644 --- a/packages/bundle/web-app/package.json +++ b/packages/bundle/web-app/package.json @@ -95,7 +95,7 @@ "@deepseek-ai/dsh-host-webserver": "workspace:^", "@deepseek-ai/dsh-message-feedback": "workspace:^", "@deepseek-ai/dsh-session-projection-cache": "workspace:^", - "@deepseek-ai/dsh-session-log-download": "workspace:^", + "@deepseek-ai/dsh-session-log-export": "workspace:^", "@deepseek-ai/dsh-session-stats": "workspace:^", "@deepseek-ai/dsh-storage": "workspace:^", "@deepseek-ai/dsh-storage-domain": "workspace:^", diff --git a/packages/session-query/README.i18n.yaml b/packages/session-query/README.i18n.yaml index baad7f9c33..544fef197b 100644 --- a/packages/session-query/README.i18n.yaml +++ b/packages/session-query/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/session-query/README.md -README.md: 75f447f667261fe3005d1a95e285120bebe6338d -README.zh.md: b89ca7441ed825c7d76e9fec4dd6c400c6c6811e +README.md: b955a7f6e19f5a49e48e564523cc343e32816dd2 +README.zh.md: d1e6c645050f4e58f9409e328552b5f9209bc3a5 diff --git a/packages/session-query/README.md b/packages/session-query/README.md index 75f447f667..b955a7f6e1 100644 --- a/packages/session-query/README.md +++ b/packages/session-query/README.md @@ -8,7 +8,7 @@ This family provides authorized retrieval over live and durable session logs, in |---|---|---| | [`session-query/`](session-query/README.md) | Defines trusted reads, relationship queries, and search operations | `ctx.sessionQuery` | | [`session-query-sqlite/`](session-query-sqlite/README.md) | Implements session queries with SQLite full-text search | `ctx.sessionQuery` | -| [`session-log-download/`](session-log-download/README.md) | Adds the Web `/export` command, shared browser download state, and result modal over the Host ZIP endpoint | `ctx.sessionLogDownload` | +| [`session-log-export/`](session-log-export/README.md) | Adds the Web `/export` command, shared browser download state, and result modal over the Host ZIP endpoint | `ctx.sessionLogDownload` | | [`tool-session-query/`](tool-session-query/README.md) | Exposes workspace-authorized session queries to the model | registers on `ctx.tools` | The subsystem reference — logical records, bounded reads, traces, filters, result pages — is [docs/subsystems/session-query.md](../../docs/subsystems/session-query.md). diff --git a/packages/session-query/README.zh.md b/packages/session-query/README.zh.md index b89ca7441e..d1e6c64505 100644 --- a/packages/session-query/README.zh.md +++ b/packages/session-query/README.zh.md @@ -8,7 +8,7 @@ |---|---|---| | [`session-query/`](session-query/README.md) | 定义可信读取、关系查询和搜索操作 | `ctx.sessionQuery` | | [`session-query-sqlite/`](session-query-sqlite/README.md) | 使用 SQLite 全文搜索实现会话查询 | `ctx.sessionQuery` | -| [`session-log-download/`](session-log-download/README.md) | 在 Host ZIP 端点之上增加 Web `/export` 命令、共享浏览器下载状态和结果弹窗 | `ctx.sessionLogDownload` | +| [`session-log-export/`](session-log-export/README.md) | 在 Host ZIP 端点之上增加 Web `/export` 命令、共享浏览器下载状态和结果弹窗 | `ctx.sessionLogDownload` | | [`tool-session-query/`](tool-session-query/README.md) | 向模型公开经过工作区授权的会话查询 | 注册到 `ctx.tools` | 子系统参考——逻辑记录、有界读取、追踪、筛选器、结果页——见 [docs/subsystems/session-query.md](../../docs/subsystems/session-query.md)。 diff --git a/packages/session-query/session-log-download/tsdown.config.ts b/packages/session-query/session-log-download/tsdown.config.ts deleted file mode 100644 index 6b65f04264..0000000000 --- a/packages/session-query/session-log-download/tsdown.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { clientBundle } from '../../client/tsdown.client.ts' - -export default clientBundle('@deepseek-ai/dsh-session-log-download', ['lib/types/index.js', 'lib/types/invariant.js']) diff --git a/packages/session-query/session-log-download/README.i18n.yaml b/packages/session-query/session-log-export/README.i18n.yaml similarity index 67% rename from packages/session-query/session-log-download/README.i18n.yaml rename to packages/session-query/session-log-export/README.i18n.yaml index be1f6d3f02..d333d5ed90 100644 --- a/packages/session-query/session-log-download/README.i18n.yaml +++ b/packages/session-query/session-log-export/README.i18n.yaml @@ -1,6 +1,6 @@ # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each # 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/session-query/session-log-download/README.md -README.md: eb8f26e4c44abfea14a555555ceec4ad1da48c18 -README.zh.md: a1185315469518eb29acaa1a9c9010aa6b4660b4 +# pnpm run verify-translation-pairing --write packages/session-query/session-log-export/README.md +README.md: f3625338e85a38ab279c5fa4700a7a9e1124cfb3 +README.zh.md: 5a2fa86d126f6bda808d3036bddc0e26fd310690 diff --git a/packages/session-query/session-log-download/README.md b/packages/session-query/session-log-export/README.md similarity index 97% rename from packages/session-query/session-log-download/README.md rename to packages/session-query/session-log-export/README.md index eb8f26e4c4..f3625338e8 100644 --- a/packages/session-query/session-log-download/README.md +++ b/packages/session-query/session-log-export/README.md @@ -1,4 +1,4 @@ -# @deepseek-ai/dsh-session-log-download +# @deepseek-ai/dsh-session-log-export English | [中文](README.zh.md) @@ -21,7 +21,7 @@ The modal reports preparation, download start, or failure. Closing it does not c ```yaml - id: session-log-download - name: '@deepseek-ai/dsh-session-log-download' + name: '@deepseek-ai/dsh-session-log-export' ``` The Web bundle mounts the package beside `dsh-host-apiproxy`, `dsh-commands`, `dsh-client-ui-commands`, and `dsh-client-ui-conversation`. The package contributes its button and modal to the right-aligned `conversation.session.header.utilities` list, independently of the title-adjacent mode, Subagent, and Task entries in `conversation.session.header.actions`; Trajectory carries no export control. diff --git a/packages/session-query/session-log-download/README.zh.md b/packages/session-query/session-log-export/README.zh.md similarity index 97% rename from packages/session-query/session-log-download/README.zh.md rename to packages/session-query/session-log-export/README.zh.md index a118531546..5a2fa86d12 100644 --- a/packages/session-query/session-log-download/README.zh.md +++ b/packages/session-query/session-log-export/README.zh.md @@ -1,4 +1,4 @@ -# @deepseek-ai/dsh-session-log-download +# @deepseek-ai/dsh-session-log-export [English](README.md) | 中文 @@ -21,7 +21,7 @@ Host 下载端点会在 `readRaw` 前 flush 活动的根 Session,因此斜杠 ```yaml - id: session-log-download - name: '@deepseek-ai/dsh-session-log-download' + name: '@deepseek-ai/dsh-session-log-export' ``` Web bundle 将本包与 `dsh-host-apiproxy`、`dsh-commands`、`dsh-client-ui-commands` 和 `dsh-client-ui-conversation` 一起挂载。本包把按钮和弹窗贡献到最右侧的 `conversation.session.header.utilities` 列表,与标题旁 `conversation.session.header.actions` 中的模式、Subagent 和 Task 配置项相互独立;Trajectory 不包含导出入口。 diff --git a/packages/session-query/session-log-download/package.json b/packages/session-query/session-log-export/package.json similarity index 95% rename from packages/session-query/session-log-download/package.json rename to packages/session-query/session-log-export/package.json index 1319b8959e..b8eca90f4c 100644 --- a/packages/session-query/session-log-download/package.json +++ b/packages/session-query/session-log-export/package.json @@ -1,12 +1,12 @@ { - "name": "@deepseek-ai/dsh-session-log-download", + "name": "@deepseek-ai/dsh-session-log-export", "description": "Web Session-log export command and shared download dialog", "version": "0.0.1-rc.3", "publishConfig": { "access": "restricted" }, "repository": { "type": "git", "url": "git+https://github.com/deepseek-ai/deepseek-harness.git", - "directory": "packages/session-query/session-log-download" + "directory": "packages/session-query/session-log-export" }, "type": "module", "main": "lib/index.js", diff --git a/packages/session-query/session-log-download/src/client/Dialog.tsx b/packages/session-query/session-log-export/src/client/Dialog.tsx similarity index 100% rename from packages/session-query/session-log-download/src/client/Dialog.tsx rename to packages/session-query/session-log-export/src/client/Dialog.tsx diff --git a/packages/session-query/session-log-download/src/client/HeaderAction.module.css b/packages/session-query/session-log-export/src/client/HeaderAction.module.css similarity index 100% rename from packages/session-query/session-log-download/src/client/HeaderAction.module.css rename to packages/session-query/session-log-export/src/client/HeaderAction.module.css diff --git a/packages/session-query/session-log-download/src/client/HeaderAction.tsx b/packages/session-query/session-log-export/src/client/HeaderAction.tsx similarity index 100% rename from packages/session-query/session-log-download/src/client/HeaderAction.tsx rename to packages/session-query/session-log-export/src/client/HeaderAction.tsx diff --git a/packages/session-query/session-log-download/src/client/controller.ts b/packages/session-query/session-log-export/src/client/controller.ts similarity index 100% rename from packages/session-query/session-log-download/src/client/controller.ts rename to packages/session-query/session-log-export/src/client/controller.ts diff --git a/packages/session-query/session-log-download/src/client/index.ts b/packages/session-query/session-log-export/src/client/index.ts similarity index 100% rename from packages/session-query/session-log-download/src/client/index.ts rename to packages/session-query/session-log-export/src/client/index.ts diff --git a/packages/session-query/session-log-download/src/client/locales.ts b/packages/session-query/session-log-export/src/client/locales.ts similarity index 100% rename from packages/session-query/session-log-download/src/client/locales.ts rename to packages/session-query/session-log-export/src/client/locales.ts diff --git a/packages/session-query/session-log-download/src/css-modules.d.ts b/packages/session-query/session-log-export/src/css-modules.d.ts similarity index 100% rename from packages/session-query/session-log-download/src/css-modules.d.ts rename to packages/session-query/session-log-export/src/css-modules.d.ts diff --git a/packages/session-query/session-log-download/src/index.ts b/packages/session-query/session-log-export/src/index.ts similarity index 100% rename from packages/session-query/session-log-download/src/index.ts rename to packages/session-query/session-log-export/src/index.ts diff --git a/packages/session-query/session-log-download/src/invariant.ts b/packages/session-query/session-log-export/src/invariant.ts similarity index 90% rename from packages/session-query/session-log-download/src/invariant.ts rename to packages/session-query/session-log-export/src/invariant.ts index 504e1ed6c7..d38ea70699 100644 --- a/packages/session-query/session-log-download/src/invariant.ts +++ b/packages/session-query/session-log-export/src/invariant.ts @@ -1,10 +1,10 @@ -/** Package invariant companion for `@deepseek-ai/dsh-session-log-download`. */ +/** Package invariant companion for `@deepseek-ai/dsh-session-log-export`. */ /* jscpd:ignore-start */ import type { Context } from '@deepseek-ai/cordis' import type { InvariantInstaller } from '@deepseek-ai/dsh-invariants' -const PACKAGE_NAME = '@deepseek-ai/dsh-session-log-download' +const PACKAGE_NAME = '@deepseek-ai/dsh-session-log-export' export const name = 'session-export-invariant' export const inject = ['invariants'] diff --git a/packages/session-query/session-log-download/tests/client-apply.client.spec.tsx b/packages/session-query/session-log-export/tests/client-apply.client.spec.tsx similarity index 100% rename from packages/session-query/session-log-download/tests/client-apply.client.spec.tsx rename to packages/session-query/session-log-export/tests/client-apply.client.spec.tsx diff --git a/packages/session-query/session-log-download/tests/command.client.spec.ts b/packages/session-query/session-log-export/tests/command.client.spec.ts similarity index 100% rename from packages/session-query/session-log-download/tests/command.client.spec.ts rename to packages/session-query/session-log-export/tests/command.client.spec.ts diff --git a/packages/session-query/session-log-download/tests/controller.client.spec.ts b/packages/session-query/session-log-export/tests/controller.client.spec.ts similarity index 100% rename from packages/session-query/session-log-download/tests/controller.client.spec.ts rename to packages/session-query/session-log-export/tests/controller.client.spec.ts diff --git a/packages/session-query/session-log-download/tests/dialog.client.spec.tsx b/packages/session-query/session-log-export/tests/dialog.client.spec.tsx similarity index 100% rename from packages/session-query/session-log-download/tests/dialog.client.spec.tsx rename to packages/session-query/session-log-export/tests/dialog.client.spec.tsx diff --git a/packages/session-query/session-log-download/tests/header-action.client.spec.tsx b/packages/session-query/session-log-export/tests/header-action.client.spec.tsx similarity index 100% rename from packages/session-query/session-log-download/tests/header-action.client.spec.tsx rename to packages/session-query/session-log-export/tests/header-action.client.spec.tsx diff --git a/packages/session-query/session-log-download/tests/invariant.client.spec.ts b/packages/session-query/session-log-export/tests/invariant.client.spec.ts similarity index 83% rename from packages/session-query/session-log-download/tests/invariant.client.spec.ts rename to packages/session-query/session-log-export/tests/invariant.client.spec.ts index 104cb5e919..ee2d584ab3 100644 --- a/packages/session-query/session-log-download/tests/invariant.client.spec.ts +++ b/packages/session-query/session-log-export/tests/invariant.client.spec.ts @@ -2,7 +2,7 @@ import { describe, expect, it, vi } from 'vitest' import { Context } from '@deepseek-ai/cordis' import { apply, inject, name } from '../src/invariant.ts' -describe('@deepseek-ai/dsh-session-log-download/invariant', () => { +describe('@deepseek-ai/dsh-session-log-export/invariant', () => { it('registers the package-owned empty companion', async () => { const register = vi.fn(() => vi.fn()) const ctx = new Context() @@ -10,7 +10,7 @@ describe('@deepseek-ai/dsh-session-log-download/invariant', () => { const dispose = await apply(ctx) expect(name).toBe('session-export-invariant') expect(inject).toEqual(['invariants']) - expect(register).toHaveBeenCalledWith('@deepseek-ai/dsh-session-log-download', expect.any(Function)) + expect(register).toHaveBeenCalledWith('@deepseek-ai/dsh-session-log-export', expect.any(Function)) dispose() }) }) diff --git a/packages/session-query/session-log-download/tests/loader-composition.client.spec.ts b/packages/session-query/session-log-export/tests/loader-composition.client.spec.ts similarity index 95% rename from packages/session-query/session-log-download/tests/loader-composition.client.spec.ts rename to packages/session-query/session-log-export/tests/loader-composition.client.spec.ts index adda4c7977..facd7e13fd 100644 --- a/packages/session-query/session-log-download/tests/loader-composition.client.spec.ts +++ b/packages/session-query/session-log-export/tests/loader-composition.client.spec.ts @@ -9,7 +9,7 @@ import Include from '@deepseek-ai/cordis-plugin-include' import type { Agent } from '@deepseek-ai/dsh-agent' import CommandRuntime from '@deepseek-ai/dsh-commands' import SessionStore, { SessionId } from '@deepseek-ai/dsh-session' -import * as SessionLogDownload from '@deepseek-ai/dsh-session-log-download' +import * as SessionLogDownload from '@deepseek-ai/dsh-session-log-export' let root: string | undefined let context: Context | undefined @@ -28,7 +28,7 @@ describe('session-log-download real Loader composition', () => { await writeFile(configPath, [ "- name: '@deepseek-ai/dsh-session'", "- name: '@deepseek-ai/dsh-commands'", - "- name: '@deepseek-ai/dsh-session-log-download'", + "- name: '@deepseek-ai/dsh-session-log-export'", '', ].join('\n')) @@ -39,7 +39,7 @@ describe('session-log-download real Loader composition', () => { const modules = new Map([ ['@deepseek-ai/dsh-session', SessionStore], ['@deepseek-ai/dsh-commands', CommandRuntime], - ['@deepseek-ai/dsh-session-log-download', SessionLogDownload], + ['@deepseek-ai/dsh-session-log-export', SessionLogDownload], ]) context.loader.internal = { version: 'v2', diff --git a/packages/session-query/session-log-download/tsconfig.json b/packages/session-query/session-log-export/tsconfig.json similarity index 100% rename from packages/session-query/session-log-download/tsconfig.json rename to packages/session-query/session-log-export/tsconfig.json diff --git a/packages/session-query/session-log-export/tsdown.config.ts b/packages/session-query/session-log-export/tsdown.config.ts new file mode 100644 index 0000000000..dba3a1ab45 --- /dev/null +++ b/packages/session-query/session-log-export/tsdown.config.ts @@ -0,0 +1,3 @@ +import { clientBundle } from '../../client/tsdown.client.ts' + +export default clientBundle('@deepseek-ai/dsh-session-log-export', ['lib/types/index.js', 'lib/types/invariant.js']) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index decdfef22f..bcf3621936 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1411,9 +1411,9 @@ importers: '@deepseek-ai/dsh-message-feedback': specifier: workspace:^ version: link:../../feedback/message-feedback - '@deepseek-ai/dsh-session-log-download': + '@deepseek-ai/dsh-session-log-export': specifier: workspace:^ - version: link:../../session-query/session-log-download + version: link:../../session-query/session-log-export '@deepseek-ai/dsh-session-projection-cache': specifier: workspace:^ version: link:../../session/session-projection-cache @@ -5848,7 +5848,7 @@ importers: specifier: workspace:^ version: link:../../subagent/subagent - packages/session-query/session-log-download: + packages/session-query/session-log-export: devDependencies: '@deepseek-ai/cordis': specifier: workspace:^ diff --git a/scripts/gen-cordis-catalog.ts b/scripts/gen-cordis-catalog.ts index c037a97975..ed622a12ee 100644 --- a/scripts/gen-cordis-catalog.ts +++ b/scripts/gen-cordis-catalog.ts @@ -147,7 +147,7 @@ export const SERVICE_WALK_EXEMPTIONS: Record = { modelDirectories: 'client-side interface-typed browser service — packages/client/ui-model-selection/README.md owns the API', modules: 'client-side interface-typed browser service — packages/client/modules/README.md owns the API', remote: 'client-side interface-typed gateway accessor (ClientRemote) — packages/api/gateway/README.md owns the API', - sessionLogDownload: 'client-side browser download controller — packages/session-query/session-log-download/README.md owns the API', + sessionLogDownload: 'client-side browser download controller — packages/session-query/session-log-export/README.md owns the API', inputTriggers: 'client-side interface-typed browser service — packages/client/ui-input-trigger/README.md owns the API', timer: 'client-side dynamic-package timer service — packages/extensions/cordis-client-runner/README.md owns the API', slots: 'client-side interface-typed browser service — packages/client/runtime/README.md owns the API', diff --git a/tsconfig.client.json b/tsconfig.client.json index 6f7c74f9b9..e599f76f1b 100644 --- a/tsconfig.client.json +++ b/tsconfig.client.json @@ -85,7 +85,7 @@ { "path": "./packages/client/ui-settings-plugins" }, { "path": "./packages/client/ui-user-questions" }, { "path": "./packages/client/ui-trajectory" }, - { "path": "./packages/session-query/session-log-download" }, + { "path": "./packages/session-query/session-log-export" }, { "path": "./packages/client/ui-theme" }, { "path": "./packages/client/ui-settings" }, { "path": "./packages/client/ui-settings-general" },