dsh-git-worktree 0.11.0 → 0.12.1

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 (55) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/NOTICE +2 -1
  3. package/README.en.md +30 -19
  4. package/README.md +30 -19
  5. package/lib/adapters/git.js +45 -8
  6. package/lib/adapters/git.js.map +1 -1
  7. package/lib/adapters/project-skill-io.js +7 -1
  8. package/lib/adapters/project-skill-io.js.map +1 -1
  9. package/lib/adapters/project-skill-snapshot.d.ts +10 -0
  10. package/lib/adapters/project-skill-snapshot.js +182 -0
  11. package/lib/adapters/project-skill-snapshot.js.map +1 -0
  12. package/lib/adapters/project-skills.d.ts +18 -3
  13. package/lib/adapters/project-skills.js +102 -13
  14. package/lib/adapters/project-skills.js.map +1 -1
  15. package/lib/client/WorktreeCreateRow.js +14 -2
  16. package/lib/client/WorktreeCreateRow.js.map +1 -1
  17. package/lib/client/actions.d.ts +32 -1
  18. package/lib/client/actions.js +41 -0
  19. package/lib/client/actions.js.map +1 -1
  20. package/lib/client/console-remote/index.js +8 -4
  21. package/lib/client/console-remote/index.js.map +1 -1
  22. package/lib/client/index.d.ts +6 -1
  23. package/lib/client/index.js +11 -2
  24. package/lib/client/index.js.map +1 -1
  25. package/lib/client/target-console/TargetStatusAction.js +11 -9
  26. package/lib/client/target-console/TargetStatusAction.js.map +1 -1
  27. package/lib/client/workspace-desktop.d.ts +15 -0
  28. package/lib/client/workspace-desktop.js +95 -0
  29. package/lib/client/workspace-desktop.js.map +1 -0
  30. package/lib/client.js +5769 -248
  31. package/lib/console-contract.d.ts +1 -1
  32. package/lib/console-host/review-diff.js +9 -4
  33. package/lib/console-host/review-diff.js.map +1 -1
  34. package/lib/console-remote/schemas.js +1 -1
  35. package/lib/console-remote/schemas.js.map +1 -1
  36. package/lib/creation-failure.d.ts +6 -0
  37. package/lib/creation-failure.js +9 -0
  38. package/lib/creation-failure.js.map +1 -1
  39. package/lib/host-compat.d.ts +1 -1
  40. package/lib/host-compat.js +2 -0
  41. package/lib/host-compat.js.map +1 -1
  42. package/lib/i18n/client-messages.d.ts +8 -0
  43. package/lib/i18n/client-messages.js +3 -1
  44. package/lib/i18n/client-messages.js.map +1 -1
  45. package/lib/session-checkout-apply.js +6 -3
  46. package/lib/session-checkout-apply.js.map +1 -1
  47. package/lib/session-checkout-module.js +6 -1
  48. package/lib/session-checkout-module.js.map +1 -1
  49. package/package.json +14 -13
  50. package/scripts/check-workspace-sidebar-version.mjs +4 -1
  51. package/scripts/workspace-sidebar-resources.mjs +25 -0
  52. package/scripts/workspace-sidebar-upstream-alpha.mjs +2 -1
  53. package/scripts/workspace-sidebar-upstream-next.mjs +2 -1
  54. package/scripts/workspace-sidebar-upstream-rc5.mjs +42 -0
  55. package/scripts/workspace-sidebar-upstream.mjs +2 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,34 @@
2
2
 
3
3
  本项目的显著变更记录在此文件中。版本号遵循 Semantic Versioning;在 `0.x` 阶段,minor 版本可能包含需要迁移的公开能力调整。
4
4
 
5
+ ## [0.12.1] - 2026-11-04
6
+
7
+ ### Fixed
8
+
9
+ - 新增 DSH `0.2.1-rc.5` 官方 Workspace Client 的独立版本/包名/SHA-256 门禁与构建别名;实际 Host `dsh-agent@0.2.1-rc.5` 经 strict Remote topology 选择 `modern-rc5`,不再因精确 rc.2 判定而只显示官方未聚合侧栏。保留 rc.2、alpha、next 精确派生,未知 Host 仍官方降级。
10
+ - rc.5 保留官方 blank 复用/并发合并、agentPreset 筛选及 `whenDraftExists` 草稿初始化语义,只共享稳定的 managed-row decoration transform,不套用 rc.2 factory。保留官方 slot 授权树、安全菜单与 owner guard、directoryPicker 惰性防环;CSS 资源按精确版本独立归属。
11
+ - 新增 rc.2/rc.5 选择、strict codec、来源漂移、导航语义及真实 built Browser 聚合/标题/状态/CSS/Loader 启停回归。最终隔离全量测试 673 passed / 1 skipped;主工作区侧栏相关 43 项回归通过。用户确认重建 rc.5 客户端与 Web 前端后开发环境启动及版本显示正常;侧栏聚合尚无单独人工验收确认,真实 AI 与 Windows 全流程未验收。
12
+
13
+ ## [0.12.0] - 2026-11-02
14
+
15
+ 本版新增仓库内 Project Skills symlink 安全快照,修复侧栏样式资源与打开工作目录,并将 DSH 安装要求从单个 RC 改为最低版本。构建基线仍为 `0.2.1-rc.2`;`0.2.1-rc.5` 允许安装但未完成实机验收,未知宿主保留官方侧栏。#11 原始双 Provider 异常仍未确认解决。Windows symlink 生命周期未实机验证。
16
+
17
+ ### Added
18
+
19
+ - Project Skills 支持同一真实 Git 仓库内的文件/目录 symlink、共享/多层目标及 Skill 根目录链接,以受限快照物化到 Managed Worktree,不链接回 Local 或共享目录;拒绝任何仓库外跳转、Git 元数据、循环、悬空和特殊文件目标。原有文件/大小/深度限制计入展开副本。
20
+ - Internal project Skill links (including tracked/root/shared/multi-hop links) are safely snapshotted into ordinary managed files/directories. External hops, Git metadata, cycles, dangling links and special files remain errors. Materialized copies are frozen auxiliary snapshots: modifications block delivery and cleanup; edit canonical tracked sources instead. Precise host-private provenance preserves original tracked links across review/checkpoint/preview/finalize and fresh next iterations without hiding normal tracked edits.
21
+
22
+ ### Fixed
23
+
24
+ - DSH peer 声明改为最低版本 `>=0.2.1-rc.2`,不再因同代新 RC 阻止安装;开发依赖与侧栏来源仍精确锁定,未知宿主保留官方侧栏。允许安装不代表新版已实机验收。
25
+ - 修复 tracked link 物化后的 Git 类型变化/删除及新增副本被误当交付内容;只恢复 provenance 验证通过的原链接条目,物化副本变化或暂存明确报错并保留现场,canonical tracked 目标的正常改动仍可交付。保留 porcelain 首条记录前导空格与 NUL 重命名语义。
26
+ - 修复「打开当前工作位置」与创建卡片里可点击的 workspace 路径静默失败:客户端调用了 Workspace 控制器上从不存在的 `workspaces.openPath`(同步 `TypeError`,菜单先关闭所以用户侧无任何反馈),改为经 `remote.session.canOpenWorkspacePath()` / `openWorkspacePath()` 交付路径;宿主没有桌面打开能力时不再渲染该控件,与官方 open-in-app 一致,运行期失败改为可见提示。
27
+ - 客户端 `inject` 声明补入 `remote` 与 `remote.session`,与官方 open-in-app 的注入约定保持一致。
28
+ - 桌面打开能力查询只缓存成功结果;临时失败共享有限重试,避免首次断连后永久隐藏入口,不引入持续轮询。
29
+ - 隔离三代 Workspace 派生的 CSS 去重标识与资源归属,避免不同版本样式互相压制或被官方模块清理误删;保留上游 CSS 与来源校验。此项不代表已解决 #11 的双 Provider 注册问题。
30
+ - Project Skills 源预检失败保留原始错误和具体路径,在保守清理后停止无关的存储目录重试;保留保守清理安全边界。
31
+ - 补充中英文重启取证、Skill 链接排错和精确 Host/插件版本配对说明。
32
+
5
33
  ## [0.11.0] - 2026-10-18
6
34
 
7
35
  `0.11.0` 将 DSH 基线从 `0.2.0-rc.2` 精确切换到 `0.2.1-rc.2`,并修复新版 Cordis/Loader 下的 Provider 生命周期;同时取消提交信息长度限制、精简验收冲突展示。本版完整包含 tag `v0.10.1` 的全部变更;`v0.10.1` 有 Git tag 与 GitHub Release 但从未发布到 npm,npm 用户应直接安装 `0.11.0`。
package/NOTICE CHANGED
@@ -2,7 +2,8 @@ dsh-git-worktree
2
2
 
3
3
  The generated browser bundle includes software derived at build time from:
4
4
 
5
- @deepseek-ai/dsh-client-ui-workspace 0.1.2-rc.1
5
+ @deepseek-ai/dsh-client-ui-workspace 0.2.1-rc.2
6
+ @deepseek-ai/dsh-client-ui-workspace 0.2.1-rc.5
6
7
  @deepseek-ai/dsh-client-ui-workspace 0.1.6-alpha.2
7
8
  @deepseek-ai/dsh-client-ui-workspace 0.1.7-rc.2
8
9
  Copyright (c) 2026 DeepSeek
package/README.en.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # dsh-git-worktree
2
2
 
3
+ > Development installation policy: DSH peers use a minimum of `>=0.2.1-rc.2`, with no speculative upper bound; requirements change when breaking changes are confirmed. Build dependencies and embedded Browser sources remain exact. Unknown Hosts retain the official Workspace rather than reusing an unverified derivative. Installation permission is not acceptance evidence. Standard SemVer includes later RCs of the same `0.2.1` core; prereleases of other future cores are not matched by default. Exact peer constraints below describe historical published releases.
4
+
3
5
  [![npm](https://img.shields.io/npm/v/dsh-git-worktree)](https://www.npmjs.com/package/dsh-git-worktree)
4
6
  [![npm downloads](https://img.shields.io/npm/dm/dsh-git-worktree)](https://www.npmjs.com/package/dsh-git-worktree)
5
7
  [![CI](https://github.com/wloops/dsh-git-worktree/actions/workflows/ci.yml/badge.svg)](https://github.com/wloops/dsh-git-worktree/actions/workflows/ci.yml)
@@ -7,7 +9,7 @@
7
9
 
8
10
  **Let agents complete tasks in independent Git Worktrees, then review the changes before deciding whether to save them.**
9
11
 
10
- `dsh-git-worktree` is a Git Worktree plugin for [DeepSeek Harness](https://github.com/deepseek-ai/DeepSeek-Harness). It creates a separate Worktree (working directory) for every coding task, so the agent does not directly edit the project you are using. When the task is complete, you can preview the result and then save it, send it back for changes, or discard it.
12
+ `dsh-git-worktree` is a Git Worktree plugin for [DeepSeek Harness](https://github.com/deepseek-ai/DeepSeek-Harness). It creates a separate Worktree (working directory) for each isolated task, where the agent edits and tests code. The plugin writes task changes back to the current project only when you start a preview or confirm saving. When the task is complete, you can preview the result and then save it, send it back for changes, or discard it.
11
13
 
12
14
  This Git Worktree workflow originated in [Domi](https://github.com/restflux/domi), an open-source desktop coding workbench powered by the Pi Agent Runtime. This plugin is independently adapted for DeepSeek Harness and can be installed and used on its own.
13
15
 
@@ -18,7 +20,7 @@ This Git Worktree workflow originated in [Domi](https://github.com/restflux/domi
18
20
  When an agent edits the current project directly, its changes can mix with your unfinished work. Running multiple tasks at once can also make them interfere with one another. With this plugin:
19
21
 
20
22
  - every task is edited and tested in its own Git Worktree (an independent working directory);
21
- - multiple tasks can run at the same time without sharing one working directory;
23
+ - multiple isolated tasks can develop in parallel in separate working directories; only one task per project can enter the review write-back flow at a time;
22
24
  - when the agent finishes, you can temporarily show the changes in the current project and inspect them;
23
25
  - changes are saved only after confirmation, and conflicts never overwrite your work automatically.
24
26
 
@@ -72,38 +74,47 @@ See the [full usage guide](docs/USAGE.en.md) for detailed actions, recovery scen
72
74
  ### Requirements
73
75
 
74
76
  - Node.js `^22.19.0 || >=24.0.0`
75
- - Current Unreleased source targets DSH `0.2.1-rc.2` (plugin version remains `0.10.1`; not released). Fresh isolated typecheck, build, sidebar/publish gates and all 43 test files pass (607 passed / 1 skipped), including Provider disable/failure recovery fixes. This is source compatibility validation, not browser, AI, desktop or Windows end-to-end acceptance. See the [validation report](docs/compatibility/0.2.1-rc.2.md).
76
- - Published historical combinations (not withdrawn by this work): this plugin follows Host version lines — `0.10.0` targets DSH `0.2.0-rc.2` (exact peer pins; verified against an isolated source Host for install, boot, the Worktree switch and pre-session creation, while AI conversation and the delivery lifecycle remain pending acceptance). For DSH `0.1.x`, stay on the `0.9.x` plugin line. See the [compatibility matrix and limitations](docs/COMPATIBILITY.md#english).
77
- - Harness Web Client
77
+ - DeepSeek Harness Web Client
78
78
  - A Git Workspace
79
+ - A plugin version matching your Harness version, as listed below
79
80
 
80
- Before upgrading an existing Harness installation, handle Host data migration: `0.1.2-rc.1` removes the optional SQLite Session backend, so use an older Harness version to export that data first. Code Mode is now named PTC mode, while existing conversation records remain readable. Launch applications and install this plugin through a `dsh` Profile.
81
+ ### Choose a version
81
82
 
82
- After upgrading Harness from an earlier release, if the web UI shows **Failed to load plugins**, first match the plugin line to your Host: DSH `0.2.0-rc.2` uses `0.10.0`; DSH `0.1.x` follows the historical `0.9.x` records; the current `0.2.1-rc.2` adaptation is still unreleased source; then check the [compatibility matrix](docs/COMPATIBILITY.md#english) and restart Harness. Releases through `0.7.2` depend on the discontinued `dsh-client-runtime`; `0.7.3` can also form a `conversation` / `uiWorkspace` activation cycle in the rc.1 Web Client.
83
+ | DeepSeek Harness | Plugin version |
84
+ | --- | --- |
85
+ | `0.2.1-rc.2` (build baseline) | `0.12.0` (current version) |
86
+ | `0.2.0-rc.2` | `0.10.0` |
87
+ | `0.1.x` | See the historical `0.9.x` compatibility records; not every `0.1.x` version has been verified |
83
88
 
84
- ```bash
85
- dsh plugin --profile web add dsh-git-worktree@0.10.0
86
- ```
89
+ Match the plugin version to your Harness version rather than installing the latest plugin on an older Harness.
90
+
91
+ **Unreleased source update:** adds an exact `0.2.1-rc.5` sidebar derivative alongside the independent rc.2/alpha/next sources. Unknown Hosts still use the official sidebar. Source and embedded-Browser jsdom regressions pass, not desktop or real rc.5 Host acceptance. Published `0.12.0` does not contain this fix; see [compatibility notes](docs/COMPATIBILITY.md).
92
+
93
+ `0.12.0` requires DSH `>=0.2.1-rc.2`, while the build baseline remains `0.2.1-rc.2`. Installation on `0.2.1-rc.5` is permitted but has not completed real-environment acceptance; unknown Hosts retain the official Workspace sidebar. Installation permission does not establish runtime compatibility.
94
+
95
+ The DSH `0.2.1-rc.2` adaptation included in `0.11.0` passed pre-release source compatibility checks. Browser, real AI conversation, desktop and Windows end-to-end acceptance for this combination remain incomplete. This historical validation is not acceptance evidence for `0.12.0` or newer Hosts. See the [compatibility notes](docs/COMPATIBILITY.md#english), [validation report](docs/compatibility/0.2.1-rc.2.md) and [0.12.0 release notes](CHANGELOG.md#0120---2026-11-02) for the scope.
87
96
 
88
97
  ### Install
89
98
 
99
+ For DSH `0.2.1-rc.2`, install through the `dsh` Web Profile:
100
+
90
101
  ```bash
91
- dsh plugin --profile web add dsh-git-worktree
102
+ dsh plugin --profile web add dsh-git-worktree@0.12.0
92
103
  ```
93
104
 
94
- Or install a specific version:
105
+ For other Harness versions, choose the matching plugin version from the table above first.
95
106
 
96
- ```bash
97
- dsh plugin --profile web add github:wloops/dsh-git-worktree#v0.10.0
98
- ```
107
+ Open a Git Workspace and enable **Worktree** when creating a Session. An existing Local Session can also let the agent call `worktree_create` to create a separate isolated Session.
99
108
 
100
- > A freshly published release may be skipped by Harness's supply-chain guard (`minimumReleaseAge`), which falls back to the previous release and reports incompatibility with the current DSH. Install the exact version explicitly (e.g. `dsh plugin --profile web add dsh-git-worktree@0.10.0`) or retry after the guard window passes.
109
+ For the first run, complete one full create → Preview changes → Confirm and save → clean up the Worktree cycle.
101
110
 
102
- Open a Git Workspace and enable **Worktree** when creating a Session. An existing Local Session can also let the model call `worktree_create`.
111
+ ### Upgrades and troubleshooting
103
112
 
104
- For the first run, complete one full create → Preview changes → Confirm and save → cleanup cycle.
113
+ - Back up your data and check version compatibility before upgrading Harness. See the [compatibility notes](docs/COMPATIBILITY.md#english) for legacy data migration requirements.
114
+ - If the UI shows **Failed to load plugins**, first check that the plugin and Harness versions match, then follow the troubleshooting guide.
115
+ - Harness's supply-chain guard (`minimumReleaseAge`) may skip a freshly published release and fall back to an older one. Specify the matching exact version explicitly or retry after the guard window passes.
105
116
 
106
- If pnpm build approval blocks a Git-source install, or you need complete commands and troubleshooting, see [Installation and troubleshooting](docs/USAGE.en.md#installation-and-troubleshooting).
117
+ For Git-source installation, pnpm build approval and other troubleshooting steps, see [Installation and troubleshooting](docs/USAGE.en.md#installation-and-troubleshooting).
107
118
 
108
119
  ## Screenshots
109
120
 
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # dsh-git-worktree
2
2
 
3
+ > 当前开发版安装策略:DSH peer 使用最低版本 `>=0.2.1-rc.2`,不设置预防性上限;仅在确认破坏性变化后调整要求。开发依赖和内嵌侧栏来源继续精确锁定。未知宿主不复用旧侧栏,而保留官方 Workspace,其他插件功能按实际 API 运行。允许安装并不等于已验收;SemVer 默认仅自动包含同一 `0.2.1` 核心版本的后续 RC,未来其他核心版本的预发布不属于默认匹配。下方精确 peer 描述均为已发布历史版本的记录。
4
+
3
5
  [![npm](https://img.shields.io/npm/v/dsh-git-worktree)](https://www.npmjs.com/package/dsh-git-worktree)
4
6
  [![npm downloads](https://img.shields.io/npm/dm/dsh-git-worktree)](https://www.npmjs.com/package/dsh-git-worktree)
5
7
  [![CI](https://github.com/wloops/dsh-git-worktree/actions/workflows/ci.yml/badge.svg)](https://github.com/wloops/dsh-git-worktree/actions/workflows/ci.yml)
@@ -7,7 +9,7 @@
7
9
 
8
10
  **让 Agent 在独立 Git Worktree 中完成任务,你看过修改后再决定是否保存。**
9
11
 
10
- `dsh-git-worktree` 是 [DeepSeek Harness](https://github.com/deepseek-ai/DeepSeek-Harness) 的 Git Worktree 插件。它会为每个编码任务创建独立的 Worktree(工作目录),Agent 不会直接改动你正在使用的项目。任务完成后,你可以先预览结果,再选择保存、退回修改或放弃。
12
+ `dsh-git-worktree` 是 [DeepSeek Harness](https://github.com/deepseek-ai/DeepSeek-Harness) 的 Git Worktree 插件。它为隔离任务创建独立的 Worktree(工作目录),Agent 的代码修改和测试在其中进行;只有你发起预览或确认保存时,插件才会把任务改动写回当前项目。任务完成后,你可以先预览结果,再选择保存、退回修改或放弃。
11
13
 
12
14
  这套 Git Worktree 工作方式最初来自基于 Pi Agent Runtime 的开源桌面 coding 工作台 [Domi](https://github.com/restflux/domi),本插件是针对 DeepSeek Harness 独立适配的版本,可以单独安装和使用。
13
15
 
@@ -18,7 +20,7 @@
18
20
  让 Agent 直接修改当前项目时,它的改动可能与你尚未提交的内容混在一起;同时运行多个任务时,也更容易互相影响。使用本插件后:
19
21
 
20
22
  - 每个任务都在自己的 Git Worktree(独立工作目录)中修改和测试;
21
- - 多个任务可以同时进行,不会共用同一个工作目录;
23
+ - 多个隔离任务可以同时开发,各自使用独立工作目录;同一项目一次只允许一个任务进入验收写回流程;
22
24
  - Agent 完成后,你可以先把修改临时显示在当前项目中查看;
23
25
  - 只有确认后才会保存本轮修改,遇到冲突时不会自动覆盖你的内容。
24
26
 
@@ -72,38 +74,47 @@ flowchart LR
72
74
  ### 环境要求
73
75
 
74
76
  - Node.js `^22.19.0 || >=24.0.0`
75
- - 当前 Unreleased 源码基线为 DSH `0.2.1-rc.2`(插件版本暂留 `0.10.1`,尚未发布):新鲜隔离验证的类型、构建、sidebar/发布门禁及 43 个测试文件通过(607 passed / 1 skipped),包含 Provider 禁用/失败恢复修复;仅为源码兼容验证,不是浏览器、AI、桌面或 Windows 全流程验收。见[验证报告](docs/compatibility/0.2.1-rc.2.md)。
76
- - 已发布历史组合(不因本轮撤销):插件按 Host 版本分线——`0.10.0` 面向 DSH `0.2.0-rc.2`(peers 精确锁定;已通过隔离源码 Host 的安装、启动、Worktree 开关与预会话创建真实验证,AI 对话与交付全流程仍待验收);DSH `0.1.x` 请使用 `0.9.x` 插件线。详见[兼容矩阵与限制](docs/COMPATIBILITY.md#中文)。
77
- - Harness Web Client
77
+ - DeepSeek Harness Web Client
78
78
  - Git Workspace
79
+ - 与 Harness 版本匹配的插件版本,见下表
79
80
 
80
- 从旧 Harness 升级时请先处理 Host 数据迁移:`0.1.2-rc.1` 已移除可选 SQLite Session 后端,旧数据需使用旧版 Harness 导出;Code Mode 已更名为 PTC mode,但现有会话记录仍可读取。应用和本插件统一通过 `dsh` Profile 启动与安装。
81
+ ### 版本选择
81
82
 
82
- 从旧版 Harness 升级后,如果 Web 界面提示 **Failed to load plugins**,先确认插件线与 Host 版本匹配:DSH `0.2.0-rc.2` 使用 `0.10.0`,DSH `0.1.x` 参考 `0.9.x` 历史记录;当前 `0.2.1-rc.2` 适配仍为未发布源码;再按[兼容矩阵](docs/COMPATIBILITY.md#中文)排查并重启 Harness。历史版本 `0.7.2` 及更早依赖已停止发布的 `dsh-client-runtime`;`0.7.3` 在 rc.1 Web Client 中还可能形成 `conversation` / `uiWorkspace` 循环等待。
83
+ | DeepSeek Harness | 插件版本 |
84
+ | --- | --- |
85
+ | `0.2.1-rc.2`(构建基线) | `0.12.0`(当前版本) |
86
+ | `0.2.0-rc.2` | `0.10.0` |
87
+ | `0.1.x` | 请参考 `0.9.x` 的历史兼容记录,不代表所有 `0.1.x` 版本均已验证 |
83
88
 
84
- ```bash
85
- dsh plugin --profile web add dsh-git-worktree@0.10.0
86
- ```
89
+ 插件版本与 Harness 版本需要匹配,不建议在旧版 Harness 上直接安装最新版插件。
90
+
91
+ **未发布源码更新**:新增 `0.2.1-rc.5` 的精确侧栏派生,保留 rc.2/alpha/next 独立来源,未知 Host 仍用官方侧栏。已通过源码/内嵌 Browser jsdom 回归,不代表 desktop 或真实 rc.5 Host 验收;已发布的 `0.12.0` 不包含本次修复。见 [兼容性说明](docs/COMPATIBILITY.md)。
92
+
93
+ `0.12.0` 的 DSH 安装要求为 `>=0.2.1-rc.2`,构建基线仍为 `0.2.1-rc.2`;`0.2.1-rc.5` 允许安装,但尚未完成实机验收,未知宿主保留官方侧栏。允许安装不代表已验证运行时兼容性。
94
+
95
+ `0.11.0` 对应的 DSH `0.2.1-rc.2` 适配已通过发布前源码兼容检查,但尚未完成该组合的浏览器、真实 AI 对话、桌面端和 Windows 全流程验收。该历史验证不自动转为 `0.12.0` 或新宿主的验收证据;详细范围见[兼容性说明](docs/COMPATIBILITY.md#中文)、[验证报告](docs/compatibility/0.2.1-rc.2.md)与 [0.12.0 更新记录](CHANGELOG.md#0120---2026-11-02)。
87
96
 
88
97
  ### 安装
89
98
 
99
+ 以下命令适用于 DSH `0.2.1-rc.2`,通过 `dsh` 的 Web Profile 安装:
100
+
90
101
  ```bash
91
- dsh plugin --profile web add dsh-git-worktree
102
+ dsh plugin --profile web add dsh-git-worktree@0.12.0
92
103
  ```
93
104
 
94
- 也可以安装指定版本:
105
+ 如果使用其他 Harness 版本,请先按上表选择匹配的插件版本。
95
106
 
96
- ```bash
97
- dsh plugin --profile web add github:wloops/dsh-git-worktree#v0.10.0
98
- ```
107
+ 安装后打开 Git Workspace,在新建 Session 时启用 **Worktree**;已有 Local Session 也可以让 Agent 调用 `worktree_create` 创建独立的隔离 Session。
99
108
 
100
- > 刚发布的新版本可能被 Harness 的供应链防护(`minimumReleaseAge`)暂时跳过而回退旧版,安装时报「与当前 DSH 不兼容」;此时请显式指定精确版本(如 `dsh plugin --profile web add dsh-git-worktree@0.10.0`),或待防护窗口过后重试。
109
+ 第一次使用建议先完成一次“创建 → 预览修改 → 确认并保存 → 清理 Worktree”的完整流程。
101
110
 
102
- 安装后打开 Git Workspace,在新建 Session 时启用 **Worktree**;已有 Local Session 也可以让模型调用 `worktree_create` 创建隔离 Session。
111
+ ### 升级与排错
103
112
 
104
- 第一次使用建议先完成一次“创建 → 预览修改 → 确认并保存 → cleanup”的完整流程。
113
+ - 升级 Harness 前,请先备份数据并检查版本兼容性;旧版数据迁移要求见[升级与回退](docs/COMPATIBILITY.md#升级与回退)。
114
+ - 出现 **Failed to load plugins** 时,先确认插件与 Harness 版本匹配,再按使用指南排查。
115
+ - 刚发布的版本可能被 Harness 的供应链防护(`minimumReleaseAge`)暂时跳过而回退旧版;可显式指定匹配的精确版本,或待防护窗口过后重试。
105
116
 
106
- 如果 Git 源安装被 pnpm build approval 阻止,或需要查看完整命令和排错步骤,请阅读[安装与使用指南](docs/USAGE.md#安装与排错)。
117
+ Git 源安装方式、pnpm build approval 及其他排错步骤见[安装与排错](docs/USAGE.md#安装与排错)。
107
118
 
108
119
  ## 界面预览
109
120
 
@@ -1,5 +1,6 @@
1
1
  import { ProjectSkillStore, PROJECT_SKILL_ROOTS, hasDeliverableStatus, trackedSkillPaths } from './project-skills.js';
2
2
  import { createWorktree } from './worktree-creation.js';
3
+ import { WorktreeCreationPreflightFailure } from '../creation-failure.js';
3
4
  import { gitTimeoutMs, validateGitTimeouts } from './git-options.js';
4
5
  import { initialCommitActions } from './initial-commit.js';
5
6
  import { hostMessage } from '../i18n/host.js';
@@ -139,7 +140,7 @@ async function runGit(ctx, cwd, args, options, input, creation) {
139
140
  if (outcome.signal === 'SIGTERM' || outcome.signal === 'SIGKILL' || controller.signal.aborted) {
140
141
  return { code: -1, stdout, stderr: hostMessage('gitTimedOutMsAndWasTerminated', { p0: args.join(' '), p1: graceMs }), quiescent };
141
142
  }
142
- return { code: outcome.exitCode ?? -1, stdout: stdout.trim(), stderr: stderr.trim(), quiescent };
143
+ return { code: outcome.exitCode ?? -1, stdout: args[0] === 'status' ? stdout : stdout.trim(), stderr: stderr.trim(), quiescent };
143
144
  }
144
145
  catch (error) {
145
146
  if (error instanceof SessionCheckoutError)
@@ -255,14 +256,49 @@ export function createDshGitPort(ctx, options) {
255
256
  status: async (root) => {
256
257
  const output = await runSessionGitChecked(root, ['status', '--porcelain=v1', '-z', '--untracked-files=all']);
257
258
  const carried = await projectSkills.scope(root);
258
- return { dirty: hasDeliverableStatus(output, new Set(carried?.paths ?? []), carried?.directories) };
259
+ let links = [];
260
+ if (carried) {
261
+ const index = await runSessionGitChecked(root, ['ls-files', '--stage', '-z']);
262
+ const head = await runSessionGitChecked(root, ['ls-tree', '-r', '-z', 'HEAD']);
263
+ links = (await projectSkills.projection(root, index, head))?.links ?? [];
264
+ }
265
+ return { dirty: hasDeliverableStatus(output, new Set(carried?.paths ?? []), carried?.directories, new Set(links)) };
259
266
  },
260
267
  createDetachedWorktree: async (localRoot, managedRoot, baseOid, saveEvidence) => {
261
- const skills = await projectSkills.snapshot(localRoot);
262
- const changed = await runSessionGitChecked(localRoot, ['diff', '--name-only', '-z', baseOid, '--', ...PROJECT_SKILL_ROOTS])
263
- + await runSessionGitChecked(localRoot, ['diff', '--cached', '--name-only', '-z', baseOid, '--', ...PROJECT_SKILL_ROOTS]);
264
- if (changed)
265
- throw new SessionCheckoutError('git_operation_failed', `Project Skills: commit or resolve local tracked Skill changes before creating a Worktree (${changed.split('\0').filter(Boolean).join(', ')})`);
268
+ // Only source preflight is target-independent. Do not classify creation or
269
+ // carry failures here: those may have produced evidence or partial content.
270
+ const skills = await (async () => {
271
+ try {
272
+ const gitRoot = await realpath(await runSessionGitChecked(localRoot, ['rev-parse', '--show-toplevel']));
273
+ const metadata = [await runSessionGitChecked(localRoot, ['rev-parse', '--path-format=absolute', '--git-common-dir']),
274
+ await runSessionGitChecked(localRoot, ['rev-parse', '--absolute-git-dir'])];
275
+ const snapshot = await projectSkills.snapshot(gitRoot, { root: gitRoot, metadata });
276
+ // Link targets may live outside Skill roots. Their Local edits cannot be
277
+ // silently frozen while the canonical worktree starts at another base.
278
+ const paths = [...PROJECT_SKILL_ROOTS, ...(snapshot.sourcePaths ?? [])];
279
+ const changes = [];
280
+ for (let offset = 0; offset < paths.length; offset += 50) {
281
+ const batch = paths.slice(offset, offset + 50);
282
+ changes.push(await runSessionGitChecked(gitRoot, ['--literal-pathspecs', 'diff', '--name-only', '-z', baseOid, '--', ...batch]), await runSessionGitChecked(gitRoot, ['--literal-pathspecs', 'diff', '--cached', '--name-only', '-z', baseOid, '--', ...batch]));
283
+ }
284
+ const changed = changes.join('');
285
+ const index = await runSessionGitChecked(gitRoot, ['ls-files', '--stage', '-z']);
286
+ for (const link of snapshot.links ?? []) {
287
+ const entry = index.split('\0').find(entry => entry.slice(entry.indexOf('\t') + 1) === link.path);
288
+ if (entry) {
289
+ if (!entry.startsWith('120000 ') || !entry.includes(' 0\t'))
290
+ throw new Error(`Project Skills: tracked link conflicts with index: ${link.path}`);
291
+ link.entry = entry;
292
+ }
293
+ }
294
+ if (changed)
295
+ throw new SessionCheckoutError('git_operation_failed', `Project Skills: commit or resolve local tracked Skill changes before creating a Worktree (${changed.split('\0').filter(Boolean).join(', ')})`);
296
+ return snapshot;
297
+ }
298
+ catch (error) {
299
+ throw new WorktreeCreationPreflightFailure(error);
300
+ }
301
+ })();
266
302
  const deadline = Date.now() + gitTimeoutMs(['worktree', 'add'], options);
267
303
  await createWorktree(localRoot, managedRoot, baseOid, (cwd, args, creating) => runGit(ctx, cwd, args, options, undefined, creating ? { deadline }
268
304
  : args[0] === 'worktree' && ['move', 'remove'].includes(args[1] ?? '')
@@ -274,7 +310,8 @@ export function createDshGitPort(ctx, options) {
274
310
  // the caller has already verified checkout identity and the full fingerprint.
275
311
  if (await projectSkills.paths(managedRoot)) {
276
312
  const index = await runSessionGitChecked(managedRoot, ['ls-files', '--stage', '-z']);
277
- const head = await runSessionGitChecked(managedRoot, ['ls-tree', '-r', '--name-only', '-z', 'HEAD']);
313
+ const head = await runSessionGitChecked(managedRoot, ['ls-tree', '-r', '-z', 'HEAD']);
314
+ await projectSkills.projection(managedRoot, index, head);
278
315
  await projectSkills.assertRemovable(managedRoot, trackedSkillPaths(index, head));
279
316
  }
280
317
  await runSessionGitChecked(localRoot, ['worktree', 'remove', '--force', managedRoot]);
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/adapters/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/adapters/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACrH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAA0B,MAAM,kBAAkB,CAAA;AAC5F,OAAO,EAAE,oBAAoB,EAA0B,MAAM,qBAAqB,CAAA;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIlD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,+DAA+D;AAC/D,MAAM,wBAAwB,GAAG,KAAK,CAAA;AACtC,kFAAkF;AAClF,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,CAAA;AAgBjC,KAAK,UAAU,kBAAkB,CAAC,MAAwB;IACxD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU;QAAE,OAAO,KAAK,CAAA;IACpG,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAA;IAC5D,OAAO,CAAC,KAAK,EAAE,EAAE,CAAA;IACjB,IAAI,CAAC;QACH,MAAM,CAAC,SAAS,EAAE,CAAA;QAClB,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,GAAW,EAAE,IAAc,EAAE,OAAuB,EAAE,KAAkC,EAAE,QAA+B;IAC3J,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvF,IAAI,QAAQ,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACnK,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7D,OAAO,CAAC,KAAK,EAAE,EAAE,CAAA;IACjB,IAAI,MAAoC,CAAA;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;YAC5B,IAAI,EAAE;gBACJ,KAAK;gBACL,YAAY;gBACZ,qBAAqB;gBACrB,4EAA4E;gBAC5E,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,kBAAkB,OAAO,CAAC,SAAS,EAAE;gBAC3C,GAAG,IAAI;aACR;YACD,GAAG;YACH,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;gBAC9C,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;gBACvC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;aACxC;YACD,OAAO,EAAE,wBAAwB;YACjC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,GAAG,EAAE;gBACH,0EAA0E;gBAC1E,wEAAwE;gBACxE,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC1D,qNAAqN,CAAC,IAAI,CAAC,GAAG,CAAC,CAChO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC/B,kBAAkB,EAAE,GAAG;gBACvB,mBAAmB,EAAE,GAAG;gBACxB,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,GAAG;aACV;SACF,CAAC,CAAA;QACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAyD,CAAC,CAAC,CAAA;YAC1F,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAA;iBAClD,CAAC;gBACJ,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAClC,IAAI,MAAM,GAAG,KAAK,CAAA;gBAClB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,CAAA,CAAC,CAAC,CAAC,CAAA;gBAC9C,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBACnH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;gBACtD,CAAC;gBACD,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1C,IAAI,CAAC;wBACH,MAAM,KAAK,CAAC,YAAY,EAAE,CAAA;wBAC1B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;oBAC/B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;wBAC5B,MAAM,MAAM,CAAC,IAAI,CAAA;wBACjB,MAAM,KAAK,CAAA;oBACb,CAAC;gBACH,CAAC;;oBAAM,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,CAAA;YAC5B,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAA;QACjC,IAAI,SAA8B,CAAA;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,SAAS,GAAG,KAAK,CAAA;YACrB,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBACxH,IAAI,CAAC;oBAAC,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,qDAAqD,CAAC,CAAC;YACjI,CAAC;YACD,IAAI,SAAS,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS,GAAG,IAAI,CAAA;iBACxD,CAAC;gBACJ,SAAS,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAA;gBAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC;oBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,CAAA;YAC3H,CAAC;YACD,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;QACtH,CAAC;QACD,YAAY,CAAC,OAAO,CAAC,CAAA;QACrB,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,MAAM,GAAG,UAAU,EAAE,IAAI,IAAI,EAAE,CAAA;QACrC,MAAM,MAAM,GAAG,UAAU,EAAE,IAAI,IAAI,EAAE,CAAA;QACrC,IAAI,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,EAAE,CAAC;YAC3C,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,CAAA;QAC/F,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9F,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,+BAA+B,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA;QACnI,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAA;IAClI,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,oBAAoB;YAAE,MAAM,KAAK,CAAA;QACtD,MAAM,SAAS,GAAG,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC/E,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IAC5G,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAY,EAAE,GAAW,EAAE,IAAc,EAAE,OAAuB;IAC7F,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,oBAAoB,CAC5B,sBAAsB,EACtB,WAAW,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC5G,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9E,OAAO,uCAAuC,GAAG,EAAE,CAAA;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxC,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;WAClB,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,8BAA8B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC5E,CAAC;QACD,MAAM,IAAI,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAA;IAChG,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB,EAAE,YAAoB;IACnE,kBAAkB,CAAC,YAAY,CAAC,CAAA;IAChC,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,YAAY,EAAE,CAAA;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB;IACtC,OAAO,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;AACtD,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAY;IACxC,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7B,SAAS,CAAC;QACR,IAAI,CAAC;YAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YAAC,OAAO,IAAI,CAAA;QAAC,CAAC;QACzD,OAAO,KAAK,EAAE,CAAC;YACb,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAA;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;QACjC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACtC,SAAS,GAAG,MAAM,CAAA;IACpB,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,OAAuB;IACpE,mBAAmB,CAAC,OAAO,CAAC,CAAA;IAC5B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACxH,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,KAAkC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjI,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAEpG,MAAM,IAAI,GAA2B;QACnC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAuC,EAAE;YAC3D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAA;YAC5E,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAC7H,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAA;YACnG,CAAC;YACD,0EAA0E;YAC1E,2EAA2E;YAC3E,MAAM,KAAK,GAAG,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE;gBAC9C,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,oBAAoB;aAChF,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACf,yEAAyE;YACzE,6DAA6D;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE;gBAC9C,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,CAAC,CAAA;YACjG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE;gBAC3C,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,CAAC,CAAA;YACnG,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;YAC7F,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;gBACnF,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;gBACpD,0EAA0E;gBAC1E,2EAA2E;gBAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC;uBAC3F,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAA;gBACnG,CAAC;gBACD,OAAO,GAAG,QAAQ,CAAA;YACpB,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAA;YAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;YACjF,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC7F,OAAO;gBACL,IAAI,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9C,SAAS,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7C,MAAM,EAAE,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM;gBACN,OAAO;gBACP,OAAO;aACR,CAAA;QACH,CAAC;QACD,0BAA0B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACzC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAA;YAC5E,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,cAAc,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAA;gBAC7H,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAA;YACnG,CAAC;YACD,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAA;YAC5G,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/C,IAAI,KAAK,GAAa,EAAE,CAAA;YACxB,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC7E,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;gBAC9E,KAAK,GAAG,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAA;YAC1E,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAA;QACrH,CAAC;QACD,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;YAC9E,2EAA2E;YAC3E,4EAA4E;YAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;gBAC/B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;oBACvG,MAAM,QAAQ,GAAG,CAAC,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,CAAC;wBAClH,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAA;oBAC7E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;oBACnF,yEAAyE;oBACzE,uEAAuE;oBACvE,MAAM,KAAK,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;oBACvE,MAAM,OAAO,GAAa,EAAE,CAAA;oBAC5B,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;wBACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,CAAA;wBAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC,qBAAqB,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,EAC7H,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC,qBAAqB,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;oBACnI,CAAC;oBACD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAChC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;oBAChF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;wBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA;wBACjG,IAAI,KAAK,EAAE,CAAC;4BACV,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gCAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;4BAC/I,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;wBACpB,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO;wBAAE,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,6FAA6F,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACnN,OAAO,QAAQ,CAAA;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,gCAAgC,CAAC,KAAK,CAAC,CAAA;gBACnD,CAAC;YACH,CAAC,CAAC,EAAE,CAAA;YACJ,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YACxE,MAAM,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAClD,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE;gBACzF,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACzE,YAAY,CAAC,CAAA;YACf,MAAM,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAChD,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;YAC/C,8EAA8E;YAC9E,8EAA8E;YAC9E,IAAI,MAAM,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAA;gBACpF,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;gBACrF,MAAM,aAAa,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;gBACxD,MAAM,aAAa,CAAC,eAAe,CAAC,WAAW,EAAE,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;YAClF,CAAC;YACD,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;YACrF,MAAM,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC;QACD,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE;YACpD,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QACtF,CAAC;QACD,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;YAChD,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACvF,CAAC;QACD,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE;YACzE,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3G,CAAC;QACD,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE;YAClE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;YAClI,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAA;YAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YAClC,MAAM,IAAI,oBAAoB,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,kCAAkC,CAAC,CAAC,CAAA;QAC1H,CAAC;QACD,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE;YACxE,MAAM,MAAM,GAAG,cAAc;gBAC3B,CAAC,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC;gBACjD,CAAC,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAA;YACrC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,cAAc,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAA;YACrG,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC3E,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,MAAM,oBAAoB,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;QAC1F,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE;YACrD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAA;YACrG,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAA;YAClC,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAA;YACnC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,8BAA8B,CAAC,CAAC,CAAA;QAC/E,CAAC;KACF,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;AAC/E,CAAC"}
@@ -40,7 +40,7 @@ export async function readSkillFiles(root, identity, files) {
40
40
  for (const file of files) {
41
41
  await checkRoot(root, identity);
42
42
  await checkPath(root, file.path);
43
- const handle = await open(join(root, file.path), constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0));
43
+ const handle = await open(join(root, file.path), constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0) | (constants.O_NONBLOCK ?? 0));
44
44
  try {
45
45
  const stat = await handle.stat({ bigint: true });
46
46
  const pathStat = await lstat(join(root, file.path), { bigint: true });
@@ -57,6 +57,12 @@ export async function readSkillFiles(root, identity, files) {
57
57
  }
58
58
  if (size > limit)
59
59
  throw new Error('Project Skills: file exceeds size limit');
60
+ await checkPath(root, file.path);
61
+ const after = await handle.stat({ bigint: true });
62
+ const named = await lstat(join(root, file.path), { bigint: true });
63
+ if (size !== Number(stat.size) || after.size !== stat.size || after.mtimeNs !== stat.mtimeNs || after.ctimeNs !== stat.ctimeNs
64
+ || named.isSymbolicLink() || named.dev !== stat.dev || named.ino !== stat.ino || named.mode !== stat.mode)
65
+ throw new Error(`Project Skills: file changed during read: ${file.path}`);
60
66
  remaining -= size;
61
67
  result.push({ path: file.path, content: buffer.subarray(0, size), mode: Number(stat.mode & 511n) });
62
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-skill-io.js","sourceRoot":"","sources":["../../src/adapters/project-skill-io.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-skill-io.js","sourceRoot":"","sources":["../../src/adapters/project-skill-io.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { SkillSnapshot } from './project-skills.js';
2
+ export interface SkillBoundary {
3
+ root: string;
4
+ metadata: string[];
5
+ }
6
+ /** Source-only resolver. Destination IO deliberately continues to reject links.
7
+ * Like project-skill-io, this detects races in a trusted local filesystem; Node
8
+ * does not offer openat/O_BENEATH for atomic adversarial ancestor containment.
9
+ */
10
+ export declare function snapshotSkillLinks(source: string, roots: readonly string[], boundary: SkillBoundary): Promise<SkillSnapshot>;