dsh-completion-guard 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,9 +2,27 @@
2
2
 
3
3
  All notable changes to this project are documented here. The project is pre-1.0; release versions track the plugin lifecycle, not stabilised API promises.
4
4
 
5
+ ## 0.8.2
6
+
7
+ - Adds a separate host lock for the official Desktop app. Guard reads the application archive in place, checks its vendor signature and signed archive header, and verifies installed modules and dependency routes. Web and Headless keep their existing paths; Desktop application restart remains unavailable through Guard.
8
+ - Requires DSH `>=0.2.0-rc.2`. The current 46-package baseline and development dependencies now bind RC.2. Upgrade DSH first, install Guard, then rebuild the lock for each profile; old locks and completion certificates cannot transfer to the new installation.
9
+ - Refuses to certify a shell result when its terminal exit marker is obscured by later prose or a malformed marker. Clean success and failure tails retain their existing meaning. Scheduled reminders and late answers to timed questions remain outside root instruction authority.
10
+ - Fixes Desktop command selection, archive identity drift, locally modified critical peers, and receipt-directory symlink escape. The `inspect`, `inject` and `verify-dump` commands accept explicit `--profile desktop`; the archive, carrier and installed profile are bound to the same freshly checked identity.
11
+ - Adds `dump-desktop` for boot-free configuration readback through the app's bundled APIs, and stores the full Desktop identity for runtime comparison. The versioned native entrypoint now has a separate Desktop backend profile; graphical-shell and real-model acceptance remain separate.
12
+ - Supports the physical hoisted plugin tree produced by Desktop's bundled pnpm 11.7, which has no package map. Guard cross-checks its installation index against disk, authenticates selected critical peers and routes, and binds the index into fresh runtime validation. After installation, `inspect` audits that active tree; partial importer state cannot fall back to pre-install inspection.
13
+ - Uses Electron's original filesystem for physical host-identity reads, so Desktop revalidation reads the same archive bytes as the system-Node CLI while normal application archive loading stays enabled.
14
+ - Adds measurements for 0/100/1000/10000-event projections and short/long private ledgers. The observed full-log cost is recorded without adding a persistent trust cache. See [compatibility and evidence scope](docs/COMPATIBILITY.md) for native-platform and model acceptance limits.
15
+
16
+ ## 0.8.1
17
+
18
+ - DSH version admission now starts at `0.2.0-rc.1`, with no upper limit; Cordis uses an independent qualified `>=4.0.4` range. Upgrade DSH, install Guard, explicitly run `inspect`/`inject`/`verify-dump`, then restart each protected profile. Compatible later package versions can bind a registry-verified lock with `--rebind-registry`; changed consumed programs pass a versioned API/Session probe with an exact-byte receipt. Old certificates remain historical. The tested baseline is `0.2.0-rc.1` / Cordis `4.0.4`; final-artifact and future-version native acceptance are separate.
19
+ - A session mount performs one complete host audit. Ordinary replay reuses that result; checkpoint and Goal/Stop decisions each validate freshly. Actual production mock-publish entries observe two full audits without a ref and three with a ref, including the final veto after the last await. Concurrent entries remain isolated and the synchronous decision segment shares one audit.
20
+ - Fresh CJS and ESM export interpretation now authenticate both routes, including nested conditions and nearer package scopes. A changed route or module refuses the effect. Crash recovery uses the registered resume and fork entries; unknown outcomes never become success evidence.
21
+ - Release packaging normalizes Git-index file modes, so identical clean source commits produce identical archives across hosts. Source entry measurements on a real installed graph are kept separate from native application and exact-artifact acceptance.
22
+
5
23
  ## 0.8.0
6
24
 
7
- - Target only DSH `0.1.7-rc.2` / Cordis `4.0.4`. Check all 46 critical package identities, published implementation bytes and actual dependency resolution paths; remove historical hosts from production selection.
25
+ - Target only DSH `0.1.7-rc.2` / Cordis `4.0.4`. Check all 46 critical package identities, published implementation bytes and actual dependency resolution paths; older hosts are removed from production selection.
8
26
  - Install and dispose tools, guards and listeners through awaited `agent/created`, including existing Agents on enablement. Use Session V4 and Jobs SessionId ownership.
9
27
  - Keep shell promotion and incomplete output uncertified. Persist Stop boundaries as Guard notices instead of fabricating tool events outside a turn.
10
28
  - Read-only prepare discovery and checkpoint pagination now continue after their own persisted observations; changed contract items or business state still invalidate old cursors.
@@ -2,6 +2,24 @@
2
2
 
3
3
  本项目的重要变化记录在这里。项目仍处于 1.0 之前;版本号跟踪插件生命周期,不代表 API 已稳定。
4
4
 
5
+ ## 0.8.2
6
+
7
+ - 新增官方 Desktop 应用的独立宿主锁。Guard 原位读取应用归档,核对厂商签名、签名绑定的归档头、安装模块与实际依赖路由。Web、Headless 沿用各自的入口;Guard 暂不提供 Desktop 应用重启。
8
+ - DSH 最低版本提高到 `0.2.0-rc.2`,46 包基线和开发依赖统一绑定 RC.2。先升级 DSH、安装 Guard,再为各 Profile 重建锁;旧锁和完成证书不能转用于新安装。
9
+ - shell 退出标记被后续文字遮挡或标记行损坏时,结果保持未知,不再误报成功;清晰的成功/失败尾部判定不变。定时提醒和限时问答的晚到答案仍不能成为根指令。
10
+ - 修复 Desktop 命令选择、归档身份漂移、本地关键 peer 改写和回执目录符号链接逃逸。`inspect`、`inject`、`verify-dump` 均接受显式 `--profile desktop`,归档、载体与安装 Profile 绑定同一份重新核验的身份。
11
+ - 新增 `dump-desktop`,通过应用内配置 API 在不启动宿主的情况下回读配置,并保存完整 Desktop 身份供运行时比较。版本化原生入口新增独立的 Desktop 后端验收;图形界面与真实模型验收仍分别记录。
12
+ - 支持 Desktop 自带 pnpm 11.7 生成的平铺插件目录,该布局不含 package-map。Guard 将安装索引与实际目录交叉核对,认证本地关键 peer 的字节与依赖路由,并将索引绑定到运行时重新核验。安装后,`inspect` 审计实际插件目录;残缺的 importer 状态不能退回安装前检查。
13
+ - 宿主身份核验在 Electron 中使用原始文件接口,确保 Desktop 运行时与系统 Node CLI 读取相同的归档字节,同时保留应用正常的归档加载能力。
14
+ - 新增 0/100/1000/10000 事件投影及短/长私有账本测量,记录全日志开销,不引入跨入口持久信任缓存。原生平台与模型验收范围见[兼容性指南](docs/COMPATIBILITY.md)。
15
+
16
+ ## 0.8.1
17
+
18
+ - DSH 版本准入下限改为 `0.2.0-rc.1`,不设上限;Cordis 使用独立且须经资格验证的 `>=4.0.4` 范围。先升级 DSH、安装 Guard,再明确执行 `inspect`/`inject`/`verify-dump`,最后重启各受保护 Profile。较新兼容包可用 `--rebind-registry` 建立经过 registry 验证的新锁;变化的所消费程序须通过版本化 API/Session 探针,并绑定精确字节回执。旧证书保留为历史。已测试基线是 `0.2.0-rc.1`/Cordis `4.0.4`,最终制品及未来版本原生验收分别建立。
19
+ - 一次会话挂载只执行一次完整宿主审计;普通 replay 复用该结果,checkpoint 和 Goal/Stop 判定各自重新验证。真实生产 mock publish 入口观测到无 ref 两次、有 ref 三次完整审计,包括最后一个 await 后的最终否决。并发入口互相隔离,同步判定段共享一次审计。
20
+ - 同时认证新鲜 CJS、ESM 导出路由,覆盖嵌套条件和近端包 scope;路由或模块变化会拒绝效果。崩溃恢复使用真实注册的 resume、fork 入口,未知结果不再被当作成功证据。
21
+ - 发布打包按 Git index 规范化文件权限,同一干净源码提交在各宿主生成相同归档。真实安装图上的源码入口测量与原生应用、精确制品验收分别记录。
22
+
5
23
  ## 0.8.0
6
24
 
7
25
  - 仅适配 DSH `0.1.7-rc.2` / Cordis `4.0.4`;核对 46 个关键包的身份、已发布实现字节和实际依赖解析路径,移除生产历史宿主选择。
package/README.md CHANGED
@@ -4,21 +4,21 @@
4
4
 
5
5
  An add-on for DeepSeek Harness (DSH) that keeps a task's requirements and checks them before the task is marked complete. It restores the same checklist after a resumed session and accepts only matching saved tool results as evidence.
6
6
 
7
- > **0.8.0 requires DSH `0.1.7-rc.2` and Cordis `4.0.4`.** It retains the 0.7.1 recovery feedback and uses the new host lifecycle and Session V4. Upgrade DSH before installing this version.
7
+ > **0.8.2 requires DSH `>=0.2.0-rc.2` and supports the official Desktop app.** Stop the host, upgrade DSH and install Guard, then run the host-lock tool's `inspect`, `inject` and `verify-dump` commands for each profile before starting it when needed. For the Desktop app, pass `--profile desktop` with the app archive as the runtime root. These commands bind the installed packages and their verified routes; installing Guard does not rebuild the lock. The tested host baseline is DSH `0.2.0-rc.2` with Cordis `4.0.4`; later versions must pass the same identity and adapter checks. See [compatibility](docs/COMPATIBILITY.md) for version admission, rebinding and native-evidence limits.
8
8
 
9
9
  ![Task-contract clauses and bounded evidence pass through a checkpoint before a completion certificate is issued](assets/social/completion-guard-hero.png)
10
10
 
11
11
  ## Quick start
12
12
 
13
- Upgrade to DSH `0.1.7-rc.2` first, then install Guard in the profile you want to protect:
13
+ Stop the host, upgrade to DSH `0.2.0-rc.2` or later, then install Guard in the profile you want to protect:
14
14
 
15
15
  ```sh
16
- dsh plugin --profile web add dsh-completion-guard@0.8.0
16
+ dsh plugin --profile web add dsh-completion-guard@0.8.2
17
17
  ```
18
18
 
19
- **Upgrade and restart DSH before running the host-lock checks below.** The lock records the package versions and installation directories DSH actually uses. A lock generated before an upgrade describes the old packages and will fail against the new runtime. `inject` writes to `<profile>/cordis.patch.yml`, so back up that file first.
19
+ **Keep the host stopped while upgrading and checking the installed graph below.** The lock records the package versions and installation directories DSH actually uses. A lock generated before an upgrade describes the old packages and will fail against the new runtime. `inject` writes to `<profile>/cordis.patch.yml`, so back up that file first.
20
20
 
21
- Check that each command's JSON output says `status: "supported"`. `inspect`, `inject` and `verify-dump` can exit with code `0` even when their verdict is `unsupported`; a successful shell exit alone is insufficient.
21
+ Check that each command's JSON output says `status: "supported"`. A failure reports a specific reason and exits nonzero. For a later compatible host, add `--rebind-registry` to all three commands; it verifies the official archives and qualifies changed programs in an isolated Node probe before rebuilding the lock. See the [upgrade guide](docs/HOST_LOCK_UPGRADE.md#rebinding-compatible-package-versions).
22
22
 
23
23
  ```sh
24
24
  DSH_RUNTIME_ROOT=/absolute/path/to/.dsh-runtime
@@ -30,9 +30,11 @@ GUARD_HOST_LOCK="$DSH_PROFILE_ROOT/node_modules/.bin/dsh-completion-guard-host-l
30
30
  dsh --profile web --dump-config | "$GUARD_HOST_LOCK" verify-dump --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT" --dump-config -
31
31
  ```
32
32
 
33
- On Windows, run the same three subcommands through `dsh-completion-guard-host-lock.cmd` in the Web settings directory's `node_modules\.bin` directory and use Windows absolute paths. Native acceptance and publication evidence is recorded per version, bound to that version's exact bytes, in the [acceptance record](docs/LOCAL_ACCEPTANCE.md); a version's source and deterministic evidence never substitutes for its own installed-artifact claim. Other host versions and artifacts need their own native evidence. Repeat this check after changing DSH, Guard or the profile location; an ordinary market-only update does not require reinjection. The Guard stays unavailable if the active package set is missing, mixed, duplicated, or different from a checked setup.
33
+ On Windows, run the same three subcommands through `dsh-completion-guard-host-lock.cmd` in the Web settings directory's `node_modules\.bin` directory and use Windows absolute paths. Native acceptance and publication evidence is recorded per version, bound to that version's exact bytes, in the [acceptance record](docs/LOCAL_ACCEPTANCE.md); a version's source and deterministic evidence never substitutes for its own installed-artifact claim. Other host versions and artifacts need their own native evidence. Repeat this check after changing DSH, Guard or the profile location; an ordinary market-only update does not require reinjection. The Guard stays unavailable if the active package set is missing, duplicated, untrusted, or different from the bound setup.
34
34
 
35
- Restart DSH Web, open a session, and enable the Guard:
35
+ For Desktop, install through the app's bundled CLI and bind `--profile desktop` to its `app.asar` and actual profile directory. Its CLI does not offer `--dump-config`; use Guard's `dump-desktop` to compose the configuration before readback. Follow the [Desktop upgrade steps](docs/HOST_LOCK_UPGRADE.md#official-desktop-profile).
36
+
37
+ When ready to use Guard, start DSH Web, open a session, and enable it:
36
38
 
37
39
  ```text
38
40
  /context-guard on
@@ -57,9 +59,9 @@ The ordinary `context_guard_action` and `context_guard_evidence` tools from 0.6.
57
59
 
58
60
  ## Status and compatibility
59
61
 
60
- Version 0.8.0 supports only **DSH `0.1.7-rc.2`** with Cordis `4.0.4`. Metadata, host locks and runtime checks use that exact version. Older RCs, stable or future releases, missing packages and mixed graphs are rejected. The identities and implementation bytes of 46 critical packages are bound to verified npm tarballs; historical hosts are absent from the production selector.
62
+ Version 0.8.2 admits **DSH `>=0.2.0-rc.2`** without an upper version limit, and adds the official Desktop app as an independent profile (`desktop`): the app-owned `dsh-profile-desktop` profile is identified by its own name, its bundled graph is read in place from the signed `app.asar`, and its installed bytes are verified against the published tarballs. Cordis has an independent `>=4.0.4` peer range and must pass its adapter qualification. The published `0.2.0-rc.2` 46-package graph is the reviewed baseline (the rc.1 graph remains historical evidence); a newer mixed-version graph can receive its own registry-backed lock when the consumed implementations qualify. Changed Session/API implementations run a finite contract probe; incompatible behavior reports a qualification failure, and an old certificate cannot transfer to the new lock. Exact-artifact macOS/Windows native acceptance and future-version native evidence remain separate; Desktop backend, graphical-shell and real-model results are recorded separately for each exact artifact.
61
63
 
62
- After upgrading, inspect and inject a new host lock, then restart the profile; follow the [host-lock upgrade guide](docs/HOST_LOCK_UPGRADE.md). DSH migrates old sessions to V4. Guard retains old ledgers and certificates without re-signing them or promoting their old identity to current authority. Goal remains optional; installing the host does not imply it is enabled.
64
+ After upgrading, inspect, inject and verify the new host lock, then start the profile when needed; follow the [host-lock upgrade guide](docs/HOST_LOCK_UPGRADE.md). DSH migrates old sessions to V4. Guard retains old ledgers and certificates without re-signing them or promoting their old identity to current authority. Goal remains optional; installing the host does not imply it is enabled.
63
65
 
64
66
  Host checks verify package identities, implementation bytes and the dependency paths that load them. Native and model acceptance belong to the exact release artifact; consult its Release attachments and the [compatibility guide](docs/COMPATIBILITY.md).
65
67
 
@@ -80,7 +82,7 @@ Context Guard has two activation modes:
80
82
 
81
83
  These modes only control Guard protection. They are not the DSH session mode (for example, the standard or minimal mode) that a session starts with. Because the Guard no longer writes into sessions before the first message, a session's DSH mode can be selected while the session is still new. `/context-guard on` and `/context-guard off` turn Guard protection on or off; they never change the DSH session mode.
82
84
 
83
- To make DSH sessions start with protection on, add this entry to the `cordis.patch.yml` used by the way you start DSH:
85
+ To make DSH sessions start with protection on, set `activation: always` on the existing `context-guard` entry in your profile’s `cordis.patch.yml`. Preserve its injected host-lock fields; the snippet below shows the field to change, not a replacement for the complete configuration:
84
86
 
85
87
  ```yaml
86
88
  - id: context-guard
@@ -89,12 +91,14 @@ To make DSH sessions start with protection on, add this entry to the `cordis.pat
89
91
  activation: always
90
92
  ```
91
93
 
92
- DSH can run with a **Web** interface in a browser, or **Headless** without a browser interface from a terminal or an automated task. These two ways of running DSH use separate settings files. Edit the file for the one you use, or edit both if you use both:
94
+ DSH Web in a browser, Headless in a terminal, and the Desktop app use separate settings files. Edit the profile you use; check each one separately when you use more than one:
93
95
 
94
96
  | System | How you use DSH | Default path |
95
97
  | --- | --- | --- |
96
98
  | macOS / Linux | Web | `$HOME/.dsh/profiles/web/cordis.patch.yml` |
97
99
  | macOS / Linux | Headless | `$HOME/.dsh/profiles/headless/cordis.patch.yml` |
100
+ | macOS | Desktop | `$HOME/.dsh/profiles/desktop/cordis.patch.yml` |
101
+ | Windows | Desktop | `%USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml` |
98
102
  | Windows | Web | `%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml` |
99
103
  | Windows | Headless | `%USERPROFILE%\.dsh\profiles\headless\cordis.patch.yml` |
100
104
 
@@ -102,7 +106,7 @@ If you set a custom `DSH_HOME`, use that directory instead of `$HOME/.dsh` or `%
102
106
 
103
107
  You can also paste this prompt into DSH and let it make the change:
104
108
 
105
- > Set `dsh-completion-guard` to `always` mode. Find the `cordis.patch.yml` used by the way I am currently running DSH (Web interface or Headless), back it up first, and only set `activation: always` on the entry with `id: context-guard`. Do not change any other settings or restart DSH. When finished, show me the file path and the exact diff.
109
+ > Set `dsh-completion-guard` to `always` mode. Find the `cordis.patch.yml` used by the way I am currently running DSH (Web, Headless or Desktop), back it up first, and only set `activation: always` on the entry with `id: context-guard`. Do not change any other settings or restart DSH. When finished, show me the file path and the exact diff.
106
110
 
107
111
  After the change, restart DSH.
108
112
 
@@ -210,6 +214,7 @@ The daily workflow publishes through the last day whose counts are unchanged in
210
214
 
211
215
  ```sh
212
216
  pnpm install --frozen-lockfile
217
+ pnpm --dir tests/fixtures/host-composition install --frozen-lockfile
213
218
  pnpm run test:stats
214
219
  pnpm run typecheck
215
220
  pnpm test
package/README.zh-CN.md CHANGED
@@ -4,21 +4,21 @@
4
4
 
5
5
  面向 DeepSeek Harness(DSH)的任务保护插件。它保存任务要求,并在任务标记完成前逐项核对;会话恢复后仍使用同一份检查表,只有匹配的已保存工具结果才能作为证据。
6
6
 
7
- > **0.8.0 要求 DSH `0.1.7-rc.2` 和 Cordis `4.0.4`。** 本版保留 0.7.1 的恢复反馈,适配新的宿主生命周期与 Session V4。安装前请先升级 DSH。
7
+ > **0.8.2 要求 DSH `>=0.2.0-rc.2`,并支持官方 Desktop 应用。** 请先停止宿主、升级 DSH 并安装 Guard,再为每个 Profile 执行宿主锁工具的 `inspect`、`inject` 和 `verify-dump`,最后按需启动该 Profile。对 Desktop 应用请传入 `--profile desktop`,并以应用归档作为 runtime root。这些命令绑定实际安装包及其经过验证的路由;安装 Guard 本身不会重建锁。已测试的宿主基线是 DSH `0.2.0-rc.2`、Cordis `4.0.4`;较新版本仍需通过身份和适配契约检查。版本准入、重绑及原生证据范围见[兼容性指南](docs/COMPATIBILITY.md)。
8
8
 
9
9
  ![任务合同条款与有界证据通过 checkpoint 匹配后签发完成证书](assets/social/completion-guard-hero.png)
10
10
 
11
11
  ## 快速开始
12
12
 
13
- 先升级到 DSH `0.1.7-rc.2`,再把 Guard 安装到需要保护的 Profile:
13
+ 先停止宿主并升级到 DSH `0.2.0-rc.2` 或更高版本,再把 Guard 安装到需要保护的 Profile:
14
14
 
15
15
  ```sh
16
- dsh plugin --profile web add dsh-completion-guard@0.8.0
16
+ dsh plugin --profile web add dsh-completion-guard@0.8.2
17
17
  ```
18
18
 
19
- **先升级并重启 DSH,再执行下面的宿主锁检查。** 宿主锁记录 DSH 实际使用的包版本和安装目录;如果升级前就生成锁,新运行时会因包版本不匹配而拒绝它。`inject` 会修改 `<profile>/cordis.patch.yml`,请先备份该文件。
19
+ **升级和执行下面的安装图检查时,保持宿主停止。** 宿主锁记录 DSH 实际使用的包版本和安装目录;如果升级前就生成锁,新运行时会因包版本不匹配而拒绝它。`inject` 会修改 `<profile>/cordis.patch.yml`,请先备份该文件。
20
20
 
21
- 查看每条命令 JSON 输出中的 `status`,确认它为 `supported`。`inspect`、`inject` 和 `verify-dump` 即使报告 `unsupported`,退出码也可能为 `0`,因此不能只看命令是否正常退出。
21
+ 查看每条命令 JSON 输出中的 `status`,确认它为 `supported`。失败会报告具体原因并以非零退出码结束。较新兼容宿主需给三条命令都加上 `--rebind-registry`,先验证官方包归档,并在隔离 Node 进程中检查变化程序的兼容契约,再重建锁;步骤见[升级指南](docs/HOST_LOCK_UPGRADE.md#rebinding-compatible-package-versions)。
22
22
 
23
23
  ```sh
24
24
  DSH_RUNTIME_ROOT=/absolute/path/to/.dsh-runtime
@@ -30,9 +30,11 @@ GUARD_HOST_LOCK="$DSH_PROFILE_ROOT/node_modules/.bin/dsh-completion-guard-host-l
30
30
  dsh --profile web --dump-config | "$GUARD_HOST_LOCK" verify-dump --runtime-root "$DSH_RUNTIME_ROOT" --profile-root "$DSH_PROFILE_ROOT" --dump-config -
31
31
  ```
32
32
 
33
- Windows 请通过 Web 配置目录下的 `node_modules\.bin\dsh-completion-guard-host-lock.cmd` 运行相同的三个子命令,并使用 Windows 绝对路径。各版本的原生验收与发布证据在[验收记录](docs/LOCAL_ACCEPTANCE.md)中按版本绑定其精确制品字节单独记录;任何版本的源码与确定性证据都不能等同于该版本已安装制品的结论。其他宿主版本和制品仍需各自的原生证据。DSH、Guard 或 profile 路径变化后需要重新检查;仅 market 普通升级不需要重新注入。如果当前包集合缺失、混装、重复或不属于已检查环境,Guard 会保持不可用。
33
+ Windows 请通过 Web 配置目录下的 `node_modules\.bin\dsh-completion-guard-host-lock.cmd` 运行相同的三个子命令,并使用 Windows 绝对路径。各版本的原生验收与发布证据在[验收记录](docs/LOCAL_ACCEPTANCE.md)中按版本绑定其精确制品字节单独记录;任何版本的源码与确定性证据都不能等同于该版本已安装制品的结论。其他宿主版本和制品仍需各自的原生证据。DSH、Guard 或 profile 路径变化后需要重新检查;仅 market 普通升级不需要重新注入。如果当前包集合缺失、重复、不可信或不同于已绑定环境,Guard 会保持不可用。
34
34
 
35
- 然后重启 DSH Web,打开会话并启用 Guard:
35
+ Desktop 请使用应用附带的 CLI 安装,再以 `--profile desktop`、应用 `app.asar` 和实际 profile 路径建立宿主锁。它的 CLI 不提供 `--dump-config`,请用 Guard 的 `dump-desktop` 生成组合配置再回读;见[Desktop 升级步骤](docs/HOST_LOCK_UPGRADE.md#official-desktop-profile)。
36
+
37
+ 需要使用时,再启动 DSH Web,打开会话并启用 Guard:
36
38
 
37
39
  ```text
38
40
  /context-guard on
@@ -57,9 +59,9 @@ Windows 请通过 Web 配置目录下的 `node_modules\.bin\dsh-completion-guard
57
59
 
58
60
  ## 状态与兼容性
59
61
 
60
- 0.8.0 仅支持 **DSH `0.1.7-rc.2`**,配合 Cordis `4.0.4`;元数据、宿主锁和运行时使用同一精确版本。旧 RC、正式版、未来版本、缺包及混合图均被拒绝。46 个关键包的身份及实现字节绑定到已校验的 npm tarball,历史宿主不再进入生产选择器。
62
+ 0.8.2 的版本准入范围是 **DSH `>=0.2.0-rc.2`**,没有版本上限,并把官方 Desktop 应用纳为独立 profile(`desktop`):应用自有的 `dsh-profile-desktop` 按名称识别,其内置依赖图从已签名的 `app.asar` 原位读取,安装字节按发布 tarball 逐文件核验。Cordis 使用独立的 `>=4.0.4` peer 范围,仍须通过适配器资格验证。已发布的 `0.2.0-rc.2` 46 包依赖图为已审查基线(rc.1 图保留为历史证据);较新混合版本图在所消费实现具备资格后,可建立自己的 registry 来源锁。变化的 Session/API 实现须通过有限行为探针,不兼容行为会报告具体资格缺口,旧证书不能转移到新锁。最终制品的 macOS/Windows 原生验收、未来版本原生证据与 Desktop 原生验收仍须分别建立。
61
63
 
62
- 升级后重新检查并注入 host-lock,再重启对应 Profile,步骤见[宿主锁升级](docs/HOST_LOCK_UPGRADE.md)。旧会话由 DSH 迁移为 V4;Guard 保留旧 ledger 和证书,但不会重签或把旧身份升级为当前权限。Goal 为可选能力,宿主安装不代表它已启用。
64
+ 升级后重新检查、注入并验证 host-lock,再按需启动对应 Profile,步骤见[宿主锁升级](docs/HOST_LOCK_UPGRADE.md)。旧会话由 DSH 迁移为 V4;Guard 保留旧 ledger 和证书,但不会重签或把旧身份升级为当前权限。Goal 为可选能力,宿主安装不代表它已启用。
63
65
 
64
66
  宿主检查核对包身份、实现字节及实际加载它们的依赖路径。原生与模型验收绑定到每个版本的精确制品;请查看对应 Release 的附件和[兼容性说明](docs/COMPATIBILITY.md)。
65
67
 
@@ -80,7 +82,7 @@ Context Guard 有两种启用模式:
80
82
 
81
83
  启用模式只控制 Guard 是否保护会话,不是 DSH 的会话模式(例如会话开始时所选的标准模式、极简模式)。Guard 不再在第一条消息之前写入任何内容,因此 DSH 会话模式可以在会话尚为新会话时选择。`/context-guard on` 和 `/context-guard off` 只负责开启或关闭 Guard 保护,不会改变 DSH 会话模式。
82
84
 
83
- 如果希望 DSH 会话自动启用保护,请在当前 DSH 启动方式使用的 `cordis.patch.yml` 中增加:
85
+ 如果希望 DSH 会话自动启用保护,请把实际 profile 的 `cordis.patch.yml` 中已有 `context-guard` 项设为 `activation: always`,保留已注入的宿主锁字段。下面的片段只显示要修改的字段,不用于替换整份配置:
84
86
 
85
87
  ```yaml
86
88
  - id: context-guard
@@ -89,12 +91,14 @@ Context Guard 有两种启用模式:
89
91
  activation: always
90
92
  ```
91
93
 
92
- DSH 有两种运行方式:**Web** 是在浏览器的网页界面里使用 DSH;**Headless** 是不打开网页界面,通常从终端或自动化任务运行 DSH。两种方式使用不同的配置文件。你用哪一种就修改哪一个;两种都用时需要分别修改:
94
+ DSH 的 Web 网页、Headless 终端和 Desktop 桌面应用使用独立配置。请修改实际使用的 profile;多种方式都用时分别修改:
93
95
 
94
96
  | 系统 | 你怎么使用 DSH | 默认路径 |
95
97
  | --- | --- | --- |
96
98
  | macOS / Linux | Web | `$HOME/.dsh/profiles/web/cordis.patch.yml` |
97
99
  | macOS / Linux | Headless | `$HOME/.dsh/profiles/headless/cordis.patch.yml` |
100
+ | macOS | Desktop | `$HOME/.dsh/profiles/desktop/cordis.patch.yml` |
101
+ | Windows | Desktop | `%USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml` |
98
102
  | Windows | Web | `%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml` |
99
103
  | Windows | Headless | `%USERPROFILE%\.dsh\profiles\headless\cordis.patch.yml` |
100
104
 
@@ -102,7 +106,7 @@ DSH 有两种运行方式:**Web** 是在浏览器的网页界面里使用 DSH
102
106
 
103
107
  不想手动改文件,也可以把下面这段话直接发给 DSH:
104
108
 
105
- > 请把 `dsh-completion-guard` 设为 `always` 模式。根据我当前使用 DSH 的方式(网页界面或无网页界面),自动找到对应的 `cordis.patch.yml`,先备份该文件,只把 `id: context-guard` 这一项的 `activation` 设为 `always`,不要修改其他配置,也不要替我重启 DSH。完成后告诉我文件的绝对路径,并显示准确的修改内容。
109
+ > 请把 `dsh-completion-guard` 设为 `always` 模式。根据我当前使用 DSH 的方式(Web、Headless 或 Desktop),自动找到对应的 `cordis.patch.yml`,先备份该文件,只把 `id: context-guard` 这一项的 `activation` 设为 `always`,不要修改其他配置,也不要替我重启 DSH。完成后告诉我文件的绝对路径,并显示准确的修改内容。
106
110
 
107
111
  修改完成后,重启 DSH。
108
112
 
@@ -205,6 +209,7 @@ Context Guard 负责完成认证;Goal、Todo、Compaction、continuation、权
205
209
 
206
210
  ```sh
207
211
  pnpm install --frozen-lockfile
212
+ pnpm --dir tests/fixtures/host-composition install --frozen-lockfile
208
213
  pnpm run test:stats
209
214
  pnpm run typecheck
210
215
  pnpm test
@@ -1,12 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { readFileSync } from 'node:fs'
4
+ import { execFileSync } from 'node:child_process'
4
5
  import { fileURLToPath } from 'node:url'
5
6
  import { dirname, join } from 'node:path'
6
7
  import {
7
8
  injectActiveProfileHostLock,
9
+ prepareActiveHostTrust,
10
+ prepareTargetHostTrust,
11
+ prepareDesktopHostTrust,
8
12
  inspectTargetHostGraph,
9
- evaluateHostLock,
13
+ inspectDesktopTargetGraph,
14
+ hasDesktopImporterState,
15
+ evaluateConfiguredHostLock,
10
16
  resolveActiveProfileHostLock,
11
17
  verifyComposedHostLockDump,
12
18
  } from '../dist/domain/index.js'
@@ -17,12 +23,30 @@ function option(name) {
17
23
  return process.argv[index + 1]
18
24
  }
19
25
 
26
+ function hasFlag(name) {
27
+ return process.argv.includes(name)
28
+ }
29
+
30
+ // Explicit profile selection. `--profile desktop` requires the runtime root
31
+ // to be the official app archive (app.asar); the CLI runtime profiles keep
32
+ // their explicit managed roots. Omitting the flag keeps the documented
33
+ // bundle/name inference — desktop identity never comes from a bundle guess.
34
+ function selectedProfile() {
35
+ if (!hasFlag('--profile')) return undefined
36
+ const value = option('--profile')
37
+ if (!['web', 'headless', 'desktop'].includes(value)) {
38
+ throw new Error('profile must be "web", "headless", or "desktop"')
39
+ }
40
+ return value
41
+ }
42
+
20
43
  function summary(evaluation) {
21
44
  return {
22
45
  status: evaluation.status,
23
46
  cohort_id: evaluation.cohortId,
24
47
  host_lock_digest: evaluation.digest,
25
48
  goal_available: evaluation.goalAvailable,
49
+ ...(evaluation.goalQualificationFailure ? { goal_qualification_reason: evaluation.goalQualificationFailure } : {}),
26
50
  platform: evaluation.platform,
27
51
  profile: evaluation.profileKind,
28
52
  // How the cohort's rows were established. Without this in the READBACK, an
@@ -49,31 +73,103 @@ function summary(evaluation) {
49
73
 
50
74
  try {
51
75
  const command = process.argv[2]
52
- if (!['inspect', 'inspect-graph', 'inject', 'verify-dump'].includes(command)) {
53
- throw new Error('usage: dsh-completion-guard-host-lock <inspect|inject|verify-dump> --runtime-root PATH --profile-root PATH [--dump-config FILE]')
76
+ if (!['inspect', 'inspect-graph', 'inject', 'verify-dump', 'dump-desktop'].includes(command)) {
77
+ throw new Error('usage: dsh-completion-guard-host-lock <inspect|inject|verify-dump|dump-desktop> --runtime-root PATH --profile-root PATH [--profile web|headless|desktop] [--dump-config FILE]')
54
78
  }
55
79
  const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)))
56
80
  const packageManifest = JSON.parse(readFileSync(join(packageRoot, 'package.json'), 'utf8'))
81
+ const profile = selectedProfile()
82
+ if (profile === 'desktop' && (command === 'inspect-graph'
83
+ || (command === 'inspect' && !hasDesktopImporterState(option('--profile-root'))))) {
84
+ const runtimeRoot = option('--runtime-root')
85
+ const profileRoot = option('--profile-root')
86
+ const trust = hasFlag('--rebind-registry') ? await prepareDesktopHostTrust(runtimeRoot, profileRoot) : undefined
87
+ const target = inspectDesktopTargetGraph(runtimeRoot, profileRoot, trust)
88
+ const evaluation = evaluateConfiguredHostLock(target.packages, {
89
+ platform: process.platform === 'win32' ? 'windows' : 'posix',
90
+ profileKind: 'desktop',
91
+ }, trust ? JSON.stringify(trust) : undefined, profileRoot)
92
+ process.stdout.write(`${JSON.stringify({
93
+ ...summary(evaluation),
94
+ inspection_scope: 'pre_install_target',
95
+ profile_graph: target.profileGraph,
96
+ desktop_runtime: {
97
+ asar_realpath: target.runtime.asarRealpath,
98
+ manifest_sha256: target.runtime.manifestSha256,
99
+ header_sha256: target.runtime.headerSha256,
100
+ metadata_sha256: target.runtime.metadataSha256,
101
+ host_version: target.runtime.hostVersion,
102
+ desktop_version: target.runtime.metadata.desktopVersion,
103
+ payload_file_count: target.runtime.metadata.fileTableEntries,
104
+ },
105
+ packages: target.packages,
106
+ })}\n`)
107
+ process.exit(evaluation.status === 'supported' ? 0 : 1)
108
+ }
57
109
  if (command === 'inspect-graph') {
58
- const target = inspectTargetHostGraph(option('--runtime-root'), option('--profile-root'))
110
+ const trust = hasFlag('--rebind-registry')
111
+ ? await prepareTargetHostTrust(option('--runtime-root'), option('--profile-root')) : undefined
112
+ const target = inspectTargetHostGraph(option('--runtime-root'), option('--profile-root'), trust)
59
113
  const rows = target.packages
60
- const evaluation = evaluateHostLock(rows, {
114
+ const evaluation = evaluateConfiguredHostLock(rows, {
61
115
  platform: process.platform === 'win32' ? 'windows' : 'posix',
62
116
  ...(target.profileGraph.state === 'dependency_free_headless' ? { profileKind: 'headless' } : {}),
63
- })
117
+ }, trust ? JSON.stringify(trust) : undefined, option('--profile-root'))
64
118
  process.stdout.write(`${JSON.stringify({ ...summary(evaluation), inspection_scope: 'pre_install_target', profile_graph: target.profileGraph, packages: rows })}\n`)
65
119
  process.exit(evaluation.status === 'supported' ? 0 : 1)
66
120
  }
121
+ // Explicit registry rebind. Existing baseline inspection stays offline.
122
+ const trust = hasFlag('--rebind-registry')
123
+ ? await (profile === 'desktop' ? prepareDesktopHostTrust : prepareActiveHostTrust)(option('--runtime-root'), option('--profile-root')) : undefined
67
124
  const active = resolveActiveProfileHostLock(
68
125
  option('--runtime-root'),
69
126
  option('--profile-root'),
70
127
  packageManifest.version,
128
+ trust,
71
129
  )
130
+ if (profile !== undefined && active.profileKind !== profile) {
131
+ throw new Error(`profile mismatch: requested ${profile}, resolved ${active.profileKind}`)
132
+ }
133
+ if (command === 'dump-desktop') {
134
+ if (active.profileKind !== 'desktop' || active.evaluation.status !== 'supported') {
135
+ throw new Error('dump-desktop requires a supported installed Desktop profile')
136
+ }
137
+ const archive = active.runtimeRoot, profileRoot = active.profileRoot
138
+ const executable = process.platform === 'darwin'
139
+ ? join(dirname(dirname(archive)), 'MacOS', 'DeepSeek Harness')
140
+ : join(dirname(dirname(archive)), 'DeepSeek Harness.exe')
141
+ const script = `
142
+ import { createRequire } from 'node:module';
143
+ import { join } from 'node:path';
144
+ import { existsSync } from 'node:fs';
145
+ import { pathToFileURL } from 'node:url';
146
+ const [archive, profileRoot] = process.argv.slice(1);
147
+ const require = createRequire(join(archive, 'dsh', 'node_modules', '@deepseek-ai', 'dsh', 'package.json'));
148
+ const boot = await import(pathToFileURL(require.resolve('@deepseek-ai/dsh-app-boot')).href);
149
+ const { prepareProfile, PROFILE_ROOT_FILENAME, homePatchPath } = await import(pathToFileURL(require.resolve('@deepseek-ai/dsh/profile-boot')).href);
150
+ const loaded = prepareProfile('desktop');
151
+ if (loaded.dir !== profileRoot) throw Error('Desktop dump profile identity differs');
152
+ const layers = loaded.layers.map(layer => ({label: layer.packageName, patches: layer.patches}));
153
+ if (existsSync(loaded.patchPath)) layers.push({label: loaded.patchPath, patches: loaded.patches});
154
+ const home = homePatchPath(), patches = boot.loadOptionalPatches('dsh', home);
155
+ if (patches !== undefined) layers.push({label: home, patches});
156
+ process.stdout.write(boot.renderConfigDump('dsh', join(profileRoot, PROFILE_ROOT_FILENAME), layers));
157
+ `
158
+ const output = execFileSync(executable, ['--expose-internals', '--input-type=module', '-e', script, archive, profileRoot], {
159
+ encoding: 'utf8', timeout: 30_000, maxBuffer: 16 * 1024 * 1024,
160
+ env: { ...process.env, ELECTRON_RUN_AS_NODE: '1', DSH_HOME: dirname(dirname(profileRoot)) },
161
+ stdio: ['ignore', 'pipe', 'pipe'],
162
+ })
163
+ process.stdout.write(output)
164
+ process.exit(0)
165
+ }
72
166
  if (command === 'inject') injectActiveProfileHostLock(active)
73
167
  if (command === 'verify-dump') {
74
168
  verifyComposedHostLockDump(readFileSync(option('--dump-config') === '-' ? 0 : option('--dump-config'), 'utf8'), active.evaluation, active)
75
169
  }
76
- process.stdout.write(`${JSON.stringify(summary(active.evaluation))}\n`)
170
+ process.stdout.write(`${JSON.stringify({ ...summary(active.evaluation),
171
+ ...(command === 'inspect' ? { inspection_scope: 'active_profile' } : {}),
172
+ })}\n`)
77
173
  } catch (error) {
78
174
  const code = error && typeof error === 'object' && 'code' in error ? String(error.code) : 'host_lock_command_failed'
79
175
  process.stderr.write(`${JSON.stringify({ status: 'unavailable', reason_code: code })}\n`)
@@ -1,2 +1,2 @@
1
- import { $ as PROOF_MANIFEST_DOMAIN_V2, $a as proposeRebindV042, $i as AssetObligation, $n as isDeterministicCheck, $o as legacyQuestionReadingIsInformational, $r as evaluateToolSurfaceCapability, $t as TargetHostGraph, A as V4SessionLike, Aa as SourceSpan, Ai as certifyCheckpoint, An as commitTreeSnapshotDigest, Ao as QualificationStatus, Ar as ExecutableIdentity, As as isStatefulAction, At as validateProofManifestV2, B as V6_ORDINARY_COMPLETION_RULE_COMPACT, Ba as createProjection, Bi as isInformationalMessage, Bn as ShellParseStatus, Bo as hasQuestionScope, Br as HostCohortSelection, Bs as normalizeClause, Bt as validateManifest, C as observeAssistantOutcome, Ca as GuardOperation, Ci as CONFIRM_LINE_PATTERN, Cn as GitEffectExecution, Co as DirectiveClass, Cr as ACTIVE_HOST_COHORT_ID, Cs as STOP_PROTOCOL_VERSION, Ct as proofOperationMatches, D as SESSION_API_UNSUPPORTED, Da as NeedsReviewFact, Di as CheckpointResult, Dn as GitTargetIdentity, Do as InterpretOptions, Dr as BASE_HOST_PACKAGES, Ds as StatefulAction, Dt as sessionQuery, E as v6TestPredicate, Ea as MessageCoverage, Ei as parseConfirmationMessage, En as GitPrestateEnvelope, Eo as GRANTED_QUALIFICATION, Er as AuditedExecutable, Es as SemanticAction, Et as scopeCoverageDigest, F as DEFAULT_RECOVERY_CHAR_BUDGET, Fa as TargetTuple, Fi as classifyClause, Fn as revalidateGitPrestate, Fo as clauseIsGoverned, Fr as HostAuditProvenance, Fs as semanticActionFromText, Ft as isVerifyingCapability, G as openItems, Gi as BoundaryRequest, Gn as goalCompletionDenial, Go as isExecutableItem, Gr as HostPlatform, Gt as LifecyclePhase, H as carriesCleanupCondition, Hi as BOUNDARY_RECORD_PREFIX, Hn as isRunExecutable, Ho as interpretClause, Hr as HostLockContext, Hs as sanitizeUrl, Ht as FIRST_STEP_GUIDANCE, I as MIN_RECOVERY_CHAR_BUDGET, Ia as TargetValue, Ii as environmentDefaultRepositoryTarget, In as verifiedLinearCommitReadback, Io as clauseIsProtected, Ir as HostCapabilityEvaluation, Is as validateActionManifest, It as COMMAND_SURFACE_MANIFEST, J as renderRecoveryPacket, Ja as RebindArgs, Ji as availableBoundaryQualifications, Jn as ToolResultInput, Jo as isOpenObligation, Jr as bindExecutableIdentity, Jt as firstStepGuidanceV6, K as recoveryDigest, Ka as BoundedSource, Ki as GoalActivationState, Kn as hasCurrentCertificate, Ko as isExplanationScope, Kr as HostProfileKind, Kt as claimedBatchHasRealRootInput, L as RecoveryCause, La as VerificationContract, Li as extractArtifactPaths, Ln as CanonicalArgv, Lo as explanationHasActionResidue, Lr as HostCapabilityId, Ls as validateActionTarget, Lt as CommandSurfaceManifest, M as CLEANUP_CONDITION_RULE, Ma as TargetCaptureStatus, Mi as ClauseSegment, Mn as executeRevalidatedGitEffect, Mo as actionVerbMatches, Mr as GOAL_HOST_PACKAGES, Ms as requestedTargetAuthorizesMutation, Mt as bindingSatisfies, N as CLEANUP_CONDITION_RULE_COMPACT, Na as TargetSource, Ni as captureClause, Nn as gitCommandMatchesTarget, No as clarifiedSpanOf, Nr as HOST_CAPABILITY_PACKAGE_GROUPS, Ns as requestedTargetMatchesResolved, Nt as evidenceCoverage, O as SESSION_EVENT_ENVELOPE_INVALID, Oa as NeedsReviewReason, Oi as RejectedBinding, On as LinearCommitReadback, Oo as LEGACY_QUALIFICATION, Or as DEFAULT_HOST_LOCK, Os as actionCompatible, Ot as sessionQueryV2, P as CLEANUP_CONDITION_RULE_SHORT, Pa as TargetSourceKind, Pi as captureItem, Pn as parseGitCommandManifest, Po as clauseAsksOwnQuestion, Pr as HOST_COHORTS, Ps as semanticActionFromCommand, Pt as evidenceMatchesItem, Q as PROOF_KINDS_V2, Qa as proposeRebindOutcome, Qi as AssetInterpretationFact, Qn as extractToolSubject, Qo as kindOfScope, Qr as evaluateHostLock, Qt as HostProfileError, R as RecoveryOptions, Ra as WaitAuthorization, Ri as extractMethod, Rn as CanonicalCommandSurface, Ro as governedClauseRestrictsExecution, Rr as HostCapabilityRequest, Rs as canonicalizePath, Rt as ManifestIssue, S as latestRootInstruction, Sa as GuardItemStatus, Si as classifyUserInteraction, Sn as GitCommandRejected, So as AuthorityDisposition, Sr as rootLocatorFlavor, Ss as STATEFUL_ACTIONS, St as proofHostSurfacesOf, T as testOutcomePredicate, Ta as HostStatus, Ti as isFrozenV042RebindResponse, Tn as GitPrestateCheck, To as ExecutionQualification, Tr as ACTIVE_HOST_LAUNCHER_VERSION, Ts as SUPPORTED_EVIDENCE_ADAPTERS, Tt as requiredSubjectsOf, U as cleanupConditionFor, Ui as BoundaryEffectuation, Un as parsePwshCommand, Uo as interpretMessage, Ur as HostLockEvaluation, Us as sha256, Ut as FirstStepInjection, V as V6_ORDINARY_COMPLETION_RULE_SHORT, Vi as segmentClauses, Vn as canonicalArgvFromCommand, Vo as hasWorkPredicate, Vr as HostCohortSelectionReason, Vs as sanitizeClauseText, Vt as ClaimedMessage, W as closingHint, Wi as BoundaryQualification, Wn as parseShellCommand, Wo as introducesActionClause, Wr as HostLockStatus, Wt as FirstStepPreviewInput, X as PROOF_CAPABILITY_MATRIX, Xa as confirmRebind, Xi as isCurrentAcceptedBoundary, Xn as evidenceFromPersistedToolResult, Xo as isRestatement, Xr as evaluateExternalWaitCapability, Xt as previewFirstStepInjection, Y as v6CurrentRootBoundaries, Ya as RebindProposal, Yi as effectuateBoundary, Yn as ToolSubject, Yo as isQuestionScopeNeedingReview, Yr as bindLiveGoalCapability, Yt as lifecyclePhase, Z as PROOF_KINDS, Za as proposeRebind, Zi as qualifyBoundary, Zn as extractTextContent, Zo as itemHoldsExecutionAuthority, Zr as evaluateHostCapability, Zt as ActiveProfileHostLock, _ as decideTurnStopping, _a as GuardCheckpoint, _i as authorityCaptureCounts, _n as GIT_COMMAND_TEMPLATES, _o as capabilityConsequence, _r as PROTOCOL_V5_NOTICE, _s as ActionSpec, _t as createProofManifestV2, a as AssistantOutcomeObservation, aa as DeriveConfig, ai as MIN_SUPPORTED_HOST_VERSION, an as combineHostPolicy, ao as CapabilityRemedy, ar as TaskKind, as as presentExplanationHead, at as ProofKindV2, b as isWholeTaskCompletionClaim, ba as GuardItem, bi as UserInteractionKind, bn as GitCommandManifest, bo as removalIsComplete, br as deriveProjection, bs as CERTIFICATE_VERSION_V2, bt as proofDigestV2, c as CurrentActionBasis, ca as DerivedEnvelope, ci as SUPPORTED_HOST_VERSIONS, cn as injectActiveProfileHostLock, co as DependencyStatus, cr as deriveItemDiagnosis, cs as reportingHeadGoverns, ct as ProofObligation, d as TurnStoppingDecision, da as EvidenceParseStatus, di as parseHostVersion, dn as packageRowsFromPnpmLock, do as ProcessExitStatus, dr as nativeFileTwoRole, ds as splitTextFragments, dt as SessionQuery, ea as BindingActionClosure, ei as hostVersionFromPackages, en as activeRendererModule, eo as rebindAttemptKey, er as persistedToolResultStatus, es as maskCodeSpans, et as PROOF_PROTOCOL_VERSION, f as assessmentAction, fa as EvidenceRole, fi as satisfiesSupportedHostRange, fn as readActiveHostGraph, fo as ProcessFactSource, fr as relevantEvidence, fs as statefulActionsOfScope, ft as SessionQueryV2, g as decideTurnBoundary, ga as GuardBoundary, gi as AuthorityKind, gn as GIT_COMMAND_MANIFEST_IDS, go as admissibleForRemoval, gr as PROTOCOL_V4_NOTICE, gs as ActionManifest, gt as createProofManifest, h as currentActionBases, ha as GoalRef, hi as AuthorityBlockKind, hn as verifyComposedHostLockDump, ho as actionHasCertificationPath, hr as PROTOCOL_V3_NOTICE, hs as ACTION_MANIFEST_VERSION, ht as canonicalProjection, i as supersedeItem, ia as DelegationRef, ii as LATEST_SUPPORTED_HOST_VERSION, in as auditedHostImplementation, io as CapabilityGap, ir as Repairability, is as opensWithDirective, it as ProofKindCapability, j as snapshotSessionEvents, ja as TargetCaptureReasonCode, ji as CaptureScope, jn as createGitPrestateEnvelope, jo as ScopeInterpretation, jr as ExecutableIdentityBinding, js as requestedIdentityKey, jt as EvidenceFacetCoverage, k as SessionApiError, ka as PersistenceAuthorization, ki as bindingIndividuallyAccepted, kn as commitIndexSnapshotDigest, ko as QualificationReason, kr as EXPECTED_HOST_PACKAGES, ks as boundedArtifactChoiceMatches, kt as validateProofManifest, l as NO_PROGRESS_RECORD_PREFIX, la as EvidenceBinding, li as compareHostVersions, ln as inspectTargetHostGraph, lo as DerivedProcessFacts, lr as evidenceAvailabilityReason, ls as restatedContentOf, lt as ProofObligationV2, m as classifyCompletionClaim, ma as ExternalOperation, mi as AuthorityBlock, mn as resolveInstalledHostLock, mo as RemovalOutcomeReport, mr as DEFAULT_DELEGATION_TOOL_NAMES, ms as ACTION_MANIFEST, mt as bindProofV2ToProjection, n as projectSessionCoreV2, na as BoundaryQualificationKind, ni as HostVersionDecision, nn as auditedDefaultWorkdirProvider, no as replayRebindResult, nr as CertificationSupport, ns as namedActions, nt as ProofHostSurface, o as CONTROL_RECORD_PREFIX, oa as DeriveResult, oi as ParsedHostVersion, on as hostLockContextFromComposedDump, oo as DEPENDENCY_FREE_ONLY_CONDITION, or as UnifiedItemDiagnosis, os as qualificationOfClause, ot as ProofManifest, p as assessmentOutcomePredicate, pa as ExpectedTransition, pi as currentContractDigest, pn as resolveActiveProfileHostLock, po as ProcessOutcomeReason, pr as CAPTURE_V042_NOTICE, ps as verbIsNegated, pt as bindProofToProjection, q as recoveryTitle, qa as ProposeOutcome, qi as GoalBoundaryAccess, qn as ToolCallInput, qo as isInformationalFragment, qr as HostToolSurface, qt as firstStepGuidance, r as projectCoreV2, ra as DeferAuthorization, ri as HostVersionStatus, rn as auditedForegroundRenderers, ro as CapabilityFact, rr as DiagnosisNextAction, rs as opensConditionLead, rt as ProofKind, s as CompletionDisposition, sa as DeriveScope, si as SUPPORTED_HOST_RANGE, sn as hostLockRowsFromComposedDump, so as DeclaredOperationResult, sr as capabilityRemedyPhrase, ss as questionHeadsClause, st as ProofManifestV2, t as RC017_RC2_HOST_PACKAGES, ta as BoundaryDisposition, ti as selectHostCohort, tn as auditedDefaultWorkdirHost, to as rebindResponse, tr as withDurability, ts as maskQuotedSpans, tt as PROOF_PROTOCOL_VERSION_V2, u as NO_PROGRESS_TURNS_BEFORE_STOP, ua as EvidenceOutcome, ui as evaluateMinimumHostVersion, un as packageRowsFromActiveGraph, uo as OperationAttribution, ur as itemDiagnosis, us as semanticActionOfScope, ut as ProofSurface, v as decisionBoundaryKey, va as GuardEvidence, vi as segmentAuthorityBlocks, vn as GitAdapterAction, vo as capabilityFactOf, vr as PROTOCOL_V6_NOTICE, vs as BOUNDED_ARTIFACT_TYPES, vt as proofCapabilityReport, w as progressFingerprint, wa as GuardProjection, wi as ParsedConfirmation, wn as GitEffectRunner, wo as Executee, wr as ACTIVE_HOST_COHORT_IDS, ws as STOP_PROTOCOL_VERSION_V2, wt as proofV2Rejection, x as latestAssistantText, xa as GuardItemKind, xi as classifyTaskIntent, xn as GitCommandParseResult, xo as removalIsPartiallyKnown, xr as legacyRecordsNeedingReview, xs as SEMANTIC_ACTIONS, xt as proofEvidenceConstraints, y as isRootPauseRequest, ya as GuardIntegrity, yi as TaskIntent, yn as GitCommandAccepted, yo as partialFailureOf, yr as applyUpgradeEligibility, ys as CERTIFICATE_VERSION, yt as proofDigest, z as V6_ORDINARY_COMPLETION_RULE, za as WorkUnit, zi as extractOperation, zn as ParsedShell, zo as hasOrderedCoordination, zr as HostCohort, zs as digestStrings, zt as OperationVerbEntry } from "../index-DMr57AgL.js";
2
- export { ACTION_MANIFEST, ACTION_MANIFEST_VERSION, ACTIVE_HOST_COHORT_ID, ACTIVE_HOST_COHORT_IDS, ACTIVE_HOST_LAUNCHER_VERSION, ActionManifest, ActionSpec, ActiveProfileHostLock, AssetInterpretationFact, AssetObligation, AssistantOutcomeObservation, AuditedExecutable, AuthorityBlock, AuthorityBlockKind, AuthorityDisposition, AuthorityKind, BASE_HOST_PACKAGES, BOUNDARY_RECORD_PREFIX, BOUNDED_ARTIFACT_TYPES, BindingActionClosure, BoundaryDisposition, BoundaryEffectuation, BoundaryQualification, BoundaryQualificationKind, BoundaryRequest, BoundedSource, CAPTURE_V042_NOTICE, CERTIFICATE_VERSION, CERTIFICATE_VERSION_V2, CLEANUP_CONDITION_RULE, CLEANUP_CONDITION_RULE_COMPACT, CLEANUP_CONDITION_RULE_SHORT, COMMAND_SURFACE_MANIFEST, CONFIRM_LINE_PATTERN, CONTROL_RECORD_PREFIX, CanonicalArgv, CanonicalCommandSurface, CapabilityFact, CapabilityGap, CapabilityRemedy, CaptureScope, CertificationSupport, CheckpointResult, ClaimedMessage, ClauseSegment, CommandSurfaceManifest, CompletionDisposition, CurrentActionBasis, DEFAULT_DELEGATION_TOOL_NAMES, DEFAULT_HOST_LOCK, DEFAULT_RECOVERY_CHAR_BUDGET, DEPENDENCY_FREE_ONLY_CONDITION, DeclaredOperationResult, DeferAuthorization, DelegationRef, DependencyStatus, DeriveConfig, DeriveResult, DeriveScope, DerivedEnvelope, DerivedProcessFacts, DiagnosisNextAction, DirectiveClass, EXPECTED_HOST_PACKAGES, EvidenceBinding, EvidenceFacetCoverage, EvidenceOutcome, EvidenceParseStatus, EvidenceRole, ExecutableIdentity, ExecutableIdentityBinding, Executee, ExecutionQualification, ExpectedTransition, ExternalOperation, FIRST_STEP_GUIDANCE, FirstStepInjection, FirstStepPreviewInput, GIT_COMMAND_MANIFEST_IDS, GIT_COMMAND_TEMPLATES, GOAL_HOST_PACKAGES, GRANTED_QUALIFICATION, GitAdapterAction, GitCommandAccepted, GitCommandManifest, GitCommandParseResult, GitCommandRejected, GitEffectExecution, GitEffectRunner, GitPrestateCheck, GitPrestateEnvelope, GitTargetIdentity, GoalActivationState, GoalBoundaryAccess, GoalRef, GuardBoundary, GuardCheckpoint, GuardEvidence, GuardIntegrity, GuardItem, GuardItemKind, GuardItemStatus, GuardOperation, GuardProjection, HOST_CAPABILITY_PACKAGE_GROUPS, HOST_COHORTS, HostAuditProvenance, HostCapabilityEvaluation, HostCapabilityId, HostCapabilityRequest, HostCohort, HostCohortSelection, HostCohortSelectionReason, HostLockContext, HostLockEvaluation, HostLockStatus, HostPlatform, HostProfileError, HostProfileKind, HostStatus, HostToolSurface, HostVersionDecision, HostVersionStatus, InterpretOptions, LATEST_SUPPORTED_HOST_VERSION, LEGACY_QUALIFICATION, LifecyclePhase, LinearCommitReadback, MIN_RECOVERY_CHAR_BUDGET, MIN_SUPPORTED_HOST_VERSION, ManifestIssue, MessageCoverage, NO_PROGRESS_RECORD_PREFIX, NO_PROGRESS_TURNS_BEFORE_STOP, NeedsReviewFact, NeedsReviewReason, OperationAttribution, OperationVerbEntry, PROOF_CAPABILITY_MATRIX, PROOF_KINDS, PROOF_KINDS_V2, PROOF_MANIFEST_DOMAIN_V2, PROOF_PROTOCOL_VERSION, PROOF_PROTOCOL_VERSION_V2, PROTOCOL_V3_NOTICE, PROTOCOL_V4_NOTICE, PROTOCOL_V5_NOTICE, PROTOCOL_V6_NOTICE, ParsedConfirmation, ParsedHostVersion, ParsedShell, PersistenceAuthorization, ProcessExitStatus, ProcessFactSource, ProcessOutcomeReason, ProofHostSurface, ProofKind, ProofKindCapability, ProofKindV2, ProofManifest, ProofManifestV2, ProofObligation, ProofObligationV2, ProofSurface, ProposeOutcome, QualificationReason, QualificationStatus, RC017_RC2_HOST_PACKAGES, RebindArgs, RebindProposal, RecoveryCause, RecoveryOptions, RejectedBinding, RemovalOutcomeReport, Repairability, SEMANTIC_ACTIONS, SESSION_API_UNSUPPORTED, SESSION_EVENT_ENVELOPE_INVALID, STATEFUL_ACTIONS, STOP_PROTOCOL_VERSION, STOP_PROTOCOL_VERSION_V2, SUPPORTED_EVIDENCE_ADAPTERS, SUPPORTED_HOST_RANGE, SUPPORTED_HOST_VERSIONS, ScopeInterpretation, SemanticAction, SessionApiError, SessionQuery, SessionQueryV2, ShellParseStatus, SourceSpan, StatefulAction, TargetCaptureReasonCode, TargetCaptureStatus, TargetHostGraph, TargetSource, TargetSourceKind, TargetTuple, TargetValue, TaskIntent, TaskKind, ToolCallInput, ToolResultInput, ToolSubject, TurnStoppingDecision, UnifiedItemDiagnosis, UserInteractionKind, V4SessionLike, V6_ORDINARY_COMPLETION_RULE, V6_ORDINARY_COMPLETION_RULE_COMPACT, V6_ORDINARY_COMPLETION_RULE_SHORT, VerificationContract, WaitAuthorization, WorkUnit, actionCompatible, actionHasCertificationPath, actionVerbMatches, activeRendererModule, admissibleForRemoval, applyUpgradeEligibility, assessmentAction, assessmentOutcomePredicate, auditedDefaultWorkdirHost, auditedDefaultWorkdirProvider, auditedForegroundRenderers, auditedHostImplementation, authorityCaptureCounts, availableBoundaryQualifications, bindExecutableIdentity, bindLiveGoalCapability, bindProofToProjection, bindProofV2ToProjection, bindingIndividuallyAccepted, bindingSatisfies, boundedArtifactChoiceMatches, canonicalArgvFromCommand, canonicalProjection, canonicalizePath, capabilityConsequence, capabilityFactOf, capabilityRemedyPhrase, captureClause, captureItem, carriesCleanupCondition, certifyCheckpoint, claimedBatchHasRealRootInput, clarifiedSpanOf, classifyClause, classifyCompletionClaim, classifyTaskIntent, classifyUserInteraction, clauseAsksOwnQuestion, clauseIsGoverned, clauseIsProtected, cleanupConditionFor, closingHint, combineHostPolicy, commitIndexSnapshotDigest, commitTreeSnapshotDigest, compareHostVersions, confirmRebind, createGitPrestateEnvelope, createProjection, createProofManifest, createProofManifestV2, currentActionBases, currentContractDigest, decideTurnBoundary, decideTurnStopping, decisionBoundaryKey, deriveItemDiagnosis, deriveProjection, digestStrings, effectuateBoundary, environmentDefaultRepositoryTarget, evaluateExternalWaitCapability, evaluateHostCapability, evaluateHostLock, evaluateMinimumHostVersion, evaluateToolSurfaceCapability, evidenceAvailabilityReason, evidenceCoverage, evidenceFromPersistedToolResult, evidenceMatchesItem, executeRevalidatedGitEffect, explanationHasActionResidue, extractArtifactPaths, extractMethod, extractOperation, extractTextContent, extractToolSubject, firstStepGuidance, firstStepGuidanceV6, gitCommandMatchesTarget, goalCompletionDenial, governedClauseRestrictsExecution, hasCurrentCertificate, hasOrderedCoordination, hasQuestionScope, hasWorkPredicate, hostLockContextFromComposedDump, hostLockRowsFromComposedDump, hostVersionFromPackages, injectActiveProfileHostLock, inspectTargetHostGraph, interpretClause, interpretMessage, introducesActionClause, isCurrentAcceptedBoundary, isDeterministicCheck, isExecutableItem, isExplanationScope, isFrozenV042RebindResponse, isInformationalFragment, isInformationalMessage, isOpenObligation, isQuestionScopeNeedingReview, isRestatement, isRootPauseRequest, isRunExecutable, isStatefulAction, isVerifyingCapability, isWholeTaskCompletionClaim, itemDiagnosis, itemHoldsExecutionAuthority, kindOfScope, latestAssistantText, latestRootInstruction, legacyQuestionReadingIsInformational, legacyRecordsNeedingReview, lifecyclePhase, maskCodeSpans, maskQuotedSpans, namedActions, nativeFileTwoRole, normalizeClause, observeAssistantOutcome, openItems, opensConditionLead, opensWithDirective, packageRowsFromActiveGraph, packageRowsFromPnpmLock, parseConfirmationMessage, parseGitCommandManifest, parseHostVersion, parsePwshCommand, parseShellCommand, partialFailureOf, persistedToolResultStatus, presentExplanationHead, previewFirstStepInjection, progressFingerprint, projectCoreV2, projectSessionCoreV2, proofCapabilityReport, proofDigest, proofDigestV2, proofEvidenceConstraints, proofHostSurfacesOf, proofOperationMatches, proofV2Rejection, proposeRebind, proposeRebindOutcome, proposeRebindV042, qualificationOfClause, qualifyBoundary, questionHeadsClause, readActiveHostGraph, rebindAttemptKey, rebindResponse, recoveryDigest, recoveryTitle, relevantEvidence, removalIsComplete, removalIsPartiallyKnown, renderRecoveryPacket, replayRebindResult, reportingHeadGoverns, requestedIdentityKey, requestedTargetAuthorizesMutation, requestedTargetMatchesResolved, requiredSubjectsOf, resolveActiveProfileHostLock, resolveInstalledHostLock, restatedContentOf, revalidateGitPrestate, rootLocatorFlavor, sanitizeClauseText, sanitizeUrl, satisfiesSupportedHostRange, scopeCoverageDigest, segmentAuthorityBlocks, segmentClauses, selectHostCohort, semanticActionFromCommand, semanticActionFromText, semanticActionOfScope, sessionQuery, sessionQueryV2, sha256, snapshotSessionEvents, splitTextFragments, statefulActionsOfScope, supersedeItem, testOutcomePredicate, v6CurrentRootBoundaries, v6TestPredicate, validateActionManifest, validateActionTarget, validateManifest, validateProofManifest, validateProofManifestV2, verbIsNegated, verifiedLinearCommitReadback, verifyComposedHostLockDump, withDurability };
1
+ import { $ as PROOF_KINDS_V2, $a as GuardCheckpoint, $i as authorityCaptureCounts, $n as GitCommandAccepted, $o as capabilityConsequence, $r as applyUpgradeEligibility, $s as ActionSpec, $t as AuditedPackageExpectation, A as SessionApiError, Aa as availableBoundaryQualifications, Ai as evaluateExternalWaitCapability, An as DesktopAppRuntime, Ao as RebindArgs, Ar as evidenceFromPersistedToolResult, As as isOpenObligation, At as validateProofManifest, B as V6_ORDINARY_COMPLETION_RULE, Ba as DelegationRef, Bi as LATEST_TESTED_HOST_VERSION, Bn as HostRebindTrust, Bo as CapabilityGap, Br as UnifiedItemDiagnosis, Bs as opensWithDirective, Bt as OperationVerbEntry, C as latestRootInstruction, Ca as segmentClauses, Cc as sanitizeClauseText, Ci as HostLockEvaluation, Cn as resolveInstalledHostLock, Cr as parsePwshCommand, Cs as hasWorkPredicate, Ct as proofHostSurfacesOf, D as v6TestPredicate, Da as BoundaryRequest, Di as HostToolSurface, Dn as DESKTOP_IDENTITY_FACTS, Dr as ToolCallInput, Ds as isExecutableItem, Dt as scopeCoverageDigest, E as testOutcomePredicate, Ea as BoundaryQualification, Ei as HostProfileKind, En as AsarIndex, Er as hasCurrentCertificate, Es as introducesActionClause, Et as requiredSubjectsOf, F as CLEANUP_CONDITION_RULE_SHORT, Fa as AssetObligation, Fi as hostVersionFromPackages, Fn as readAsarIndex, Fo as proposeRebindV042, Fr as withDurability, Fs as legacyQuestionReadingIsInformational, Ft as evidenceMatchesItem, G as closingHint, Ga as EvidenceBinding, Gi as compareHostVersions, Gn as hostTrustDigest, Go as DerivedProcessFacts, Gr as nativeFileTwoRole, Gs as restatedContentOf, Gt as FirstStepPreviewInput, H as V6_ORDINARY_COMPLETION_RULE_SHORT, Ha as DeriveResult, Hi as ParsedHostVersion, Hn as HostTrustError, Ho as DEPENDENCY_FREE_ONLY_CONDITION, Hr as deriveItemDiagnosis, Hs as qualificationOfClause, Ht as ClaimedMessage, I as DEFAULT_RECOVERY_CHAR_BUDGET, Ia as BindingActionClosure, Ii as selectHostCohort, In as readDesktopAppRuntime, Io as rebindAttemptKey, Ir as CertificationSupport, Is as maskCodeSpans, It as isVerifyingCapability, J as recoveryTitle, Ja as EvidenceRole, Ji as satisfiesSupportedHostRange, Jn as registryArchiveFiles, Jo as ProcessFactSource, Jr as DEFAULT_DELEGATION_TOOL_NAMES, Js as statefulActionsOfScope, Jt as firstStepGuidance, K as openItems, Ka as EvidenceOutcome, Ki as evaluateMinimumHostVersion, Kn as parseHostTrust, Ko as OperationAttribution, Kr as relevantEvidence, Ks as semanticActionOfScope, Kt as LifecyclePhase, L as MIN_RECOVERY_CHAR_BUDGET, La as BoundaryDisposition, Li as HOST_VALIDATED_VERSIONS, Ln as readDesktopDependency, Lo as rebindResponse, Lr as DiagnosisNextAction, Ls as maskQuotedSpans, Lt as COMMAND_SURFACE_MANIFEST, M as snapshotSessionEvents, Ma as isCurrentAcceptedBoundary, Mi as evaluateHostCapability, Mn as auditDesktopInstalledImplementation, Mo as confirmRebind, Mr as extractToolSubject, Ms as isRestatement, Mt as EvidenceFacetCoverage, N as CLEANUP_CONDITION_RULE, Na as qualifyBoundary, Ni as evaluateHostLock, Nn as hasDesktopImporterState, No as proposeRebind, Nr as isDeterministicCheck, Ns as itemHoldsExecutionAuthority, Nt as bindingSatisfies, O as SESSION_API_UNSUPPORTED, Oa as GoalActivationState, Oi as bindExecutableIdentity, On as DESKTOP_PROFILE_PACKAGE_NAME, Oo as BoundedSource, Or as ToolResultInput, Os as isExplanationScope, Ot as sessionQuery, P as CLEANUP_CONDITION_RULE_COMPACT, Pa as AssetInterpretationFact, Pi as evaluateToolSurfaceCapability, Pn as readAsarFile, Po as proposeRebindOutcome, Pr as persistedToolResultStatus, Ps as kindOfScope, Pt as evidenceCoverage, Q as PROOF_KINDS, Qa as GuardBoundary, Qi as AuthorityKind, Qn as GitAdapterAction, Qo as admissibleForRemoval, Qr as PROTOCOL_V6_NOTICE, Qs as ActionManifest, Qt as ActiveProfileHostLock, R as RecoveryCause, Ra as BoundaryQualificationKind, Ri as HostVersionDecision, Rn as readDesktopTargetGraph, Ro as replayRebindResult, Rr as Repairability, Rs as namedActions, Rt as CommandSurfaceManifest, S as latestAssistantText, Sa as isInformationalMessage, Sc as normalizeClause, Si as HostLockContext, Sn as resolveDesktopProfileHostLock, So as createProjection, Sr as isRunExecutable, Ss as hasQuestionScope, St as proofEvidenceConstraints, T as progressFingerprint, Ta as BoundaryEffectuation, Tc as sha256, Ti as HostPlatform, Tn as verifyComposedHostLockDump, Tr as goalCompletionDenial, Ts as interpretMessage, Tt as proofV2Rejection, U as carriesCleanupCondition, Ua as DeriveScope, Ui as SUPPORTED_HOST_RANGE, Un as HostTrustedPackage, Uo as DeclaredOperationResult, Ur as evidenceAvailabilityReason, Us as questionHeadsClause, Ut as FIRST_STEP_GUIDANCE, V as V6_ORDINARY_COMPLETION_RULE_COMPACT, Va as DeriveConfig, Vi as MIN_SUPPORTED_HOST_VERSION, Vn as HostTrustAcquisitionOptions, Vo as CapabilityRemedy, Vr as capabilityRemedyPhrase, Vs as presentExplanationHead, Vt as validateManifest, W as cleanupConditionFor, Wa as DerivedEnvelope, Wi as SUPPORTED_HOST_VERSIONS, Wn as acquireHostTrust, Wo as DependencyStatus, Wr as itemDiagnosis, Ws as reportingHeadGoverns, Wt as FirstStepInjection, X as v6CurrentRootBoundaries, Xa as ExternalOperation, Xi as AuthorityBlock, Xn as GIT_COMMAND_MANIFEST_IDS, Xo as RemovalOutcomeReport, Xr as PROTOCOL_V4_NOTICE, Xs as ACTION_MANIFEST, Xt as lifecyclePhase, Y as renderRecoveryPacket, Ya as ExpectedTransition, Yi as currentContractDigest, Yn as registryArchiveModules, Yo as ProcessOutcomeReason, Yr as PROTOCOL_V3_NOTICE, Ys as verbIsNegated, Yt as firstStepGuidanceV6, Z as PROOF_CAPABILITY_MATRIX, Za as GoalRef, Zi as AuthorityBlockKind, Zn as GIT_COMMAND_TEMPLATES, Zo as actionHasCertificationPath, Zr as PROTOCOL_V5_NOTICE, Zs as ACTION_MANIFEST_VERSION, Zt as previewFirstStepInjection, _ as decideTurnBoundary, _a as classifyClause, _c as semanticActionFromText, _i as HostCapabilityId, _n as prepareActiveHostTrust, _o as TargetTuple, _r as CanonicalArgv, _s as clauseIsGoverned, _t as createProofManifest, a as supersedeItem, aa as CONFIRM_LINE_PATTERN, ac as STOP_PROTOCOL_VERSION, ai as ACTIVE_HOST_LAUNCHER_VERSION, an as auditedForegroundRenderers, ao as GuardOperation, ar as GitPrestateCheck, as as DirectiveClass, at as ProofKindCapability, b as isRootPauseRequest, ba as extractMethod, bc as canonicalizePath, bi as HostCohortSelection, bn as readActiveHostGraph, bo as WaitAuthorization, br as ShellParseStatus, bs as governedClauseRestrictsExecution, bt as proofDigest, c as CompletionDisposition, ca as parseConfirmationMessage, cc as SemanticAction, ci as DEFAULT_HOST_LOCK, cn as evaluateActiveHostLock, co as MessageCoverage, cr as LinearCommitReadback, cs as GRANTED_QUALIFICATION, ct as ProofManifestV2, d as NO_PROGRESS_TURNS_BEFORE_STOP, da as bindingIndividuallyAccepted, dc as boundedArtifactChoiceMatches, di as ExecutableIdentityBinding, dn as hostLockRowsFromComposedDump, do as PersistenceAuthorization, dr as createGitPrestateEnvelope, ds as QualificationReason, dt as ProofSurface, ea as segmentAuthorityBlocks, ec as BOUNDED_ARTIFACT_TYPES, ei as deriveProjection, en as HostProfileError, eo as GuardEvidence, er as GitCommandManifest, es as capabilityFactOf, et as PROOF_MANIFEST_DOMAIN_V2, f as TurnStoppingDecision, fa as certifyCheckpoint, fc as isStatefulAction, fi as GOAL_HOST_PACKAGES, fn as injectActiveProfileHostLock, fo as SourceSpan, fr as executeRevalidatedGitEffect, fs as QualificationStatus, ft as SessionQuery, g as currentActionBases, ga as captureItem, gc as semanticActionFromCommand, gi as HostCapabilityEvaluation, gn as packageRowsFromPnpmLock, go as TargetSourceKind, gr as verifiedLinearCommitReadback, gs as clauseAsksOwnQuestion, gt as canonicalProjection, h as classifyCompletionClaim, ha as captureClause, hc as requestedTargetMatchesResolved, hi as HostAuditProvenance, hn as packageRowsFromActiveGraph, ho as TargetSource, hr as revalidateGitPrestate, hs as clarifiedSpanOf, ht as bindProofV2ToProjection, i as projectCoreV2, ia as classifyUserInteraction, ic as STATEFUL_ACTIONS, ii as ACTIVE_HOST_COHORT_IDS, in as auditedDefaultWorkdirProvider, io as GuardItemStatus, ir as GitEffectRunner, is as AuthorityDisposition, it as ProofKind, j as V4SessionLike, ja as effectuateBoundary, ji as evaluateGraphDerivedHostLock, jn as DesktopTargetGraph, jo as RebindProposal, jr as extractTextContent, js as isQuestionScopeNeedingReview, jt as validateProofManifestV2, k as SESSION_EVENT_ENVELOPE_INVALID, ka as GoalBoundaryAccess, ki as bindLiveGoalCapability, kn as DESKTOP_RUNTIME_PACKAGE_NAME, ko as ProposeOutcome, kr as ToolSubject, ks as isInformationalFragment, kt as sessionQueryV2, l as CurrentActionBasis, la as CheckpointResult, lc as StatefulAction, li as EXPECTED_HOST_PACKAGES, ln as evaluateConfiguredHostLock, lo as NeedsReviewFact, lr as commitIndexSnapshotDigest, ls as InterpretOptions, lt as ProofObligation, m as assessmentOutcomePredicate, ma as ClauseSegment, mc as requestedTargetAuthorizesMutation, mi as HOST_COHORTS, mn as inspectTargetHostGraph, mo as TargetCaptureStatus, mr as parseGitCommandManifest, ms as actionVerbMatches, mt as bindProofToProjection, n as RC020_RC1_HOST_PACKAGES, na as UserInteractionKind, nc as CERTIFICATE_VERSION_V2, ni as rootLocatorFlavor, nn as activeRendererModule, no as GuardItem, nr as GitCommandRejected, ns as removalIsComplete, nt as PROOF_PROTOCOL_VERSION_V2, o as AssistantOutcomeObservation, oa as ParsedConfirmation, oc as STOP_PROTOCOL_VERSION_V2, oi as AuditedExecutable, on as auditedHostImplementation, oo as GuardProjection, or as GitPrestateEnvelope, os as Executee, ot as ProofKindV2, p as assessmentAction, pa as CaptureScope, pc as requestedIdentityKey, pi as HOST_CAPABILITY_PACKAGE_GROUPS, pn as inspectDesktopTargetGraph, po as TargetCaptureReasonCode, pr as gitCommandMatchesTarget, ps as ScopeInterpretation, pt as SessionQueryV2, q as recoveryDigest, qa as EvidenceParseStatus, qi as parseHostVersion, qn as qualifyHostTrust, qo as ProcessExitStatus, qr as CAPTURE_V042_NOTICE, qs as splitTextFragments, qt as claimedBatchHasRealRootInput, r as projectSessionCoreV2, ra as classifyTaskIntent, rc as SEMANTIC_ACTIONS, ri as ACTIVE_HOST_COHORT_ID, rn as auditedDefaultWorkdirHost, ro as GuardItemKind, rr as GitEffectExecution, rs as removalIsPartiallyKnown, rt as ProofHostSurface, s as CONTROL_RECORD_PREFIX, sa as isFrozenV042RebindResponse, sc as SUPPORTED_EVIDENCE_ADAPTERS, si as BASE_HOST_PACKAGES, sn as combineHostPolicy, so as HostStatus, sr as GitTargetIdentity, ss as ExecutionQualification, st as ProofManifest, t as RC020_RC2_HOST_PACKAGES, ta as TaskIntent, tc as CERTIFICATE_VERSION, ti as legacyRecordsNeedingReview, tn as TargetHostGraph, to as GuardIntegrity, tr as GitCommandParseResult, ts as partialFailureOf, tt as PROOF_PROTOCOL_VERSION, u as NO_PROGRESS_RECORD_PREFIX, ua as RejectedBinding, uc as actionCompatible, ui as ExecutableIdentity, un as hostLockContextFromComposedDump, uo as NeedsReviewReason, ur as commitTreeSnapshotDigest, us as LEGACY_QUALIFICATION, ut as ProofObligationV2, v as decideTurnStopping, va as environmentDefaultRepositoryTarget, vc as validateActionManifest, vi as HostCapabilityRequest, vn as prepareDesktopHostTrust, vo as TargetValue, vr as CanonicalCommandSurface, vs as clauseIsProtected, vt as createProofManifestV2, w as observeAssistantOutcome, wa as BOUNDARY_RECORD_PREFIX, wc as sanitizeUrl, wi as HostLockStatus, wn as revalidateDesktopCoreLock, wr as parseShellCommand, ws as interpretClause, wt as proofOperationMatches, x as isWholeTaskCompletionClaim, xa as extractOperation, xc as digestStrings, xi as HostCohortSelectionReason, xn as resolveActiveProfileHostLock, xo as WorkUnit, xr as canonicalArgvFromCommand, xs as hasOrderedCoordination, xt as proofDigestV2, y as decisionBoundaryKey, ya as extractArtifactPaths, yc as validateActionTarget, yi as HostCohort, yn as prepareTargetHostTrust, yo as VerificationContract, yr as ParsedShell, ys as explanationHasActionResidue, yt as proofCapabilityReport, z as RecoveryOptions, za as DeferAuthorization, zi as HostVersionStatus, zn as writeDesktopRuntimeReceipt, zo as CapabilityFact, zr as TaskKind, zs as opensConditionLead, zt as ManifestIssue } from "../index-DqvBEsNc.js";
2
+ export { ACTION_MANIFEST, ACTION_MANIFEST_VERSION, ACTIVE_HOST_COHORT_ID, ACTIVE_HOST_COHORT_IDS, ACTIVE_HOST_LAUNCHER_VERSION, ActionManifest, ActionSpec, ActiveProfileHostLock, AsarIndex, AssetInterpretationFact, AssetObligation, AssistantOutcomeObservation, AuditedExecutable, AuditedPackageExpectation, AuthorityBlock, AuthorityBlockKind, AuthorityDisposition, AuthorityKind, BASE_HOST_PACKAGES, BOUNDARY_RECORD_PREFIX, BOUNDED_ARTIFACT_TYPES, BindingActionClosure, BoundaryDisposition, BoundaryEffectuation, BoundaryQualification, BoundaryQualificationKind, BoundaryRequest, BoundedSource, CAPTURE_V042_NOTICE, CERTIFICATE_VERSION, CERTIFICATE_VERSION_V2, CLEANUP_CONDITION_RULE, CLEANUP_CONDITION_RULE_COMPACT, CLEANUP_CONDITION_RULE_SHORT, COMMAND_SURFACE_MANIFEST, CONFIRM_LINE_PATTERN, CONTROL_RECORD_PREFIX, CanonicalArgv, CanonicalCommandSurface, CapabilityFact, CapabilityGap, CapabilityRemedy, CaptureScope, CertificationSupport, CheckpointResult, ClaimedMessage, ClauseSegment, CommandSurfaceManifest, CompletionDisposition, CurrentActionBasis, DEFAULT_DELEGATION_TOOL_NAMES, DEFAULT_HOST_LOCK, DEFAULT_RECOVERY_CHAR_BUDGET, DEPENDENCY_FREE_ONLY_CONDITION, DESKTOP_IDENTITY_FACTS, DESKTOP_PROFILE_PACKAGE_NAME, DESKTOP_RUNTIME_PACKAGE_NAME, DeclaredOperationResult, DeferAuthorization, DelegationRef, DependencyStatus, DeriveConfig, DeriveResult, DeriveScope, DerivedEnvelope, DerivedProcessFacts, DesktopAppRuntime, DesktopTargetGraph, DiagnosisNextAction, DirectiveClass, EXPECTED_HOST_PACKAGES, EvidenceBinding, EvidenceFacetCoverage, EvidenceOutcome, EvidenceParseStatus, EvidenceRole, ExecutableIdentity, ExecutableIdentityBinding, Executee, ExecutionQualification, ExpectedTransition, ExternalOperation, FIRST_STEP_GUIDANCE, FirstStepInjection, FirstStepPreviewInput, GIT_COMMAND_MANIFEST_IDS, GIT_COMMAND_TEMPLATES, GOAL_HOST_PACKAGES, GRANTED_QUALIFICATION, GitAdapterAction, GitCommandAccepted, GitCommandManifest, GitCommandParseResult, GitCommandRejected, GitEffectExecution, GitEffectRunner, GitPrestateCheck, GitPrestateEnvelope, GitTargetIdentity, GoalActivationState, GoalBoundaryAccess, GoalRef, GuardBoundary, GuardCheckpoint, GuardEvidence, GuardIntegrity, GuardItem, GuardItemKind, GuardItemStatus, GuardOperation, GuardProjection, HOST_CAPABILITY_PACKAGE_GROUPS, HOST_COHORTS, HOST_VALIDATED_VERSIONS, HostAuditProvenance, HostCapabilityEvaluation, HostCapabilityId, HostCapabilityRequest, HostCohort, HostCohortSelection, HostCohortSelectionReason, HostLockContext, HostLockEvaluation, HostLockStatus, HostPlatform, HostProfileError, HostProfileKind, HostRebindTrust, HostStatus, HostToolSurface, HostTrustAcquisitionOptions, HostTrustError, HostTrustedPackage, HostVersionDecision, HostVersionStatus, InterpretOptions, LATEST_TESTED_HOST_VERSION, LEGACY_QUALIFICATION, LifecyclePhase, LinearCommitReadback, MIN_RECOVERY_CHAR_BUDGET, MIN_SUPPORTED_HOST_VERSION, ManifestIssue, MessageCoverage, NO_PROGRESS_RECORD_PREFIX, NO_PROGRESS_TURNS_BEFORE_STOP, NeedsReviewFact, NeedsReviewReason, OperationAttribution, OperationVerbEntry, PROOF_CAPABILITY_MATRIX, PROOF_KINDS, PROOF_KINDS_V2, PROOF_MANIFEST_DOMAIN_V2, PROOF_PROTOCOL_VERSION, PROOF_PROTOCOL_VERSION_V2, PROTOCOL_V3_NOTICE, PROTOCOL_V4_NOTICE, PROTOCOL_V5_NOTICE, PROTOCOL_V6_NOTICE, ParsedConfirmation, ParsedHostVersion, ParsedShell, PersistenceAuthorization, ProcessExitStatus, ProcessFactSource, ProcessOutcomeReason, ProofHostSurface, ProofKind, ProofKindCapability, ProofKindV2, ProofManifest, ProofManifestV2, ProofObligation, ProofObligationV2, ProofSurface, ProposeOutcome, QualificationReason, QualificationStatus, RC020_RC1_HOST_PACKAGES, RC020_RC2_HOST_PACKAGES, RebindArgs, RebindProposal, RecoveryCause, RecoveryOptions, RejectedBinding, RemovalOutcomeReport, Repairability, SEMANTIC_ACTIONS, SESSION_API_UNSUPPORTED, SESSION_EVENT_ENVELOPE_INVALID, STATEFUL_ACTIONS, STOP_PROTOCOL_VERSION, STOP_PROTOCOL_VERSION_V2, SUPPORTED_EVIDENCE_ADAPTERS, SUPPORTED_HOST_RANGE, SUPPORTED_HOST_VERSIONS, ScopeInterpretation, SemanticAction, SessionApiError, SessionQuery, SessionQueryV2, ShellParseStatus, SourceSpan, StatefulAction, TargetCaptureReasonCode, TargetCaptureStatus, TargetHostGraph, TargetSource, TargetSourceKind, TargetTuple, TargetValue, TaskIntent, TaskKind, ToolCallInput, ToolResultInput, ToolSubject, TurnStoppingDecision, UnifiedItemDiagnosis, UserInteractionKind, V4SessionLike, V6_ORDINARY_COMPLETION_RULE, V6_ORDINARY_COMPLETION_RULE_COMPACT, V6_ORDINARY_COMPLETION_RULE_SHORT, VerificationContract, WaitAuthorization, WorkUnit, acquireHostTrust, actionCompatible, actionHasCertificationPath, actionVerbMatches, activeRendererModule, admissibleForRemoval, applyUpgradeEligibility, assessmentAction, assessmentOutcomePredicate, auditDesktopInstalledImplementation, auditedDefaultWorkdirHost, auditedDefaultWorkdirProvider, auditedForegroundRenderers, auditedHostImplementation, authorityCaptureCounts, availableBoundaryQualifications, bindExecutableIdentity, bindLiveGoalCapability, bindProofToProjection, bindProofV2ToProjection, bindingIndividuallyAccepted, bindingSatisfies, boundedArtifactChoiceMatches, canonicalArgvFromCommand, canonicalProjection, canonicalizePath, capabilityConsequence, capabilityFactOf, capabilityRemedyPhrase, captureClause, captureItem, carriesCleanupCondition, certifyCheckpoint, claimedBatchHasRealRootInput, clarifiedSpanOf, classifyClause, classifyCompletionClaim, classifyTaskIntent, classifyUserInteraction, clauseAsksOwnQuestion, clauseIsGoverned, clauseIsProtected, cleanupConditionFor, closingHint, combineHostPolicy, commitIndexSnapshotDigest, commitTreeSnapshotDigest, compareHostVersions, confirmRebind, createGitPrestateEnvelope, createProjection, createProofManifest, createProofManifestV2, currentActionBases, currentContractDigest, decideTurnBoundary, decideTurnStopping, decisionBoundaryKey, deriveItemDiagnosis, deriveProjection, digestStrings, effectuateBoundary, environmentDefaultRepositoryTarget, evaluateActiveHostLock, evaluateConfiguredHostLock, evaluateExternalWaitCapability, evaluateGraphDerivedHostLock, evaluateHostCapability, evaluateHostLock, evaluateMinimumHostVersion, evaluateToolSurfaceCapability, evidenceAvailabilityReason, evidenceCoverage, evidenceFromPersistedToolResult, evidenceMatchesItem, executeRevalidatedGitEffect, explanationHasActionResidue, extractArtifactPaths, extractMethod, extractOperation, extractTextContent, extractToolSubject, firstStepGuidance, firstStepGuidanceV6, gitCommandMatchesTarget, goalCompletionDenial, governedClauseRestrictsExecution, hasCurrentCertificate, hasDesktopImporterState, hasOrderedCoordination, hasQuestionScope, hasWorkPredicate, hostLockContextFromComposedDump, hostLockRowsFromComposedDump, hostTrustDigest, hostVersionFromPackages, injectActiveProfileHostLock, inspectDesktopTargetGraph, inspectTargetHostGraph, interpretClause, interpretMessage, introducesActionClause, isCurrentAcceptedBoundary, isDeterministicCheck, isExecutableItem, isExplanationScope, isFrozenV042RebindResponse, isInformationalFragment, isInformationalMessage, isOpenObligation, isQuestionScopeNeedingReview, isRestatement, isRootPauseRequest, isRunExecutable, isStatefulAction, isVerifyingCapability, isWholeTaskCompletionClaim, itemDiagnosis, itemHoldsExecutionAuthority, kindOfScope, latestAssistantText, latestRootInstruction, legacyQuestionReadingIsInformational, legacyRecordsNeedingReview, lifecyclePhase, maskCodeSpans, maskQuotedSpans, namedActions, nativeFileTwoRole, normalizeClause, observeAssistantOutcome, openItems, opensConditionLead, opensWithDirective, packageRowsFromActiveGraph, packageRowsFromPnpmLock, parseConfirmationMessage, parseGitCommandManifest, parseHostTrust, parseHostVersion, parsePwshCommand, parseShellCommand, partialFailureOf, persistedToolResultStatus, prepareActiveHostTrust, prepareDesktopHostTrust, prepareTargetHostTrust, presentExplanationHead, previewFirstStepInjection, progressFingerprint, projectCoreV2, projectSessionCoreV2, proofCapabilityReport, proofDigest, proofDigestV2, proofEvidenceConstraints, proofHostSurfacesOf, proofOperationMatches, proofV2Rejection, proposeRebind, proposeRebindOutcome, proposeRebindV042, qualificationOfClause, qualifyBoundary, qualifyHostTrust, questionHeadsClause, readActiveHostGraph, readAsarFile, readAsarIndex, readDesktopAppRuntime, readDesktopDependency, readDesktopTargetGraph, rebindAttemptKey, rebindResponse, recoveryDigest, recoveryTitle, registryArchiveFiles, registryArchiveModules, relevantEvidence, removalIsComplete, removalIsPartiallyKnown, renderRecoveryPacket, replayRebindResult, reportingHeadGoverns, requestedIdentityKey, requestedTargetAuthorizesMutation, requestedTargetMatchesResolved, requiredSubjectsOf, resolveActiveProfileHostLock, resolveDesktopProfileHostLock, resolveInstalledHostLock, restatedContentOf, revalidateDesktopCoreLock, revalidateGitPrestate, rootLocatorFlavor, sanitizeClauseText, sanitizeUrl, satisfiesSupportedHostRange, scopeCoverageDigest, segmentAuthorityBlocks, segmentClauses, selectHostCohort, semanticActionFromCommand, semanticActionFromText, semanticActionOfScope, sessionQuery, sessionQueryV2, sha256, snapshotSessionEvents, splitTextFragments, statefulActionsOfScope, supersedeItem, testOutcomePredicate, v6CurrentRootBoundaries, v6TestPredicate, validateActionManifest, validateActionTarget, validateManifest, validateProofManifest, validateProofManifestV2, verbIsNegated, verifiedLinearCommitReadback, verifyComposedHostLockDump, withDurability, writeDesktopRuntimeReceipt };