@deepseek-ai/dsh-shell-env 0.1.1-rc.2 → 0.1.2-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.i18n.yaml CHANGED
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/shell/shell-env/README.md
5
- README.md: b056289bd58e960e9fd36ee84ed20579e7bde42e
6
- README.zh.md: 76d1af497b603d4df41fa1b65eaeddd38c0ae9b3
5
+ README.md: 3a5992264cb04ceda5b0726de0a0fdbfdbd001d2
6
+ README.zh.md: 94ed15e34e5b730b3268bb796d6e6a8d51cc92f0
package/README.md CHANGED
@@ -1,25 +1,39 @@
1
+ ---
2
+ description: "The managed DSH_* shell environment for users and maintainers choosing, configuring, or extending the environment every model shell call runs with."
3
+ kind: "package-reference"
4
+ ---
5
+
1
6
  # @deepseek-ai/dsh-shell-env
2
7
 
3
8
  English | [中文](README.zh.md)
4
9
 
5
- The tool-independent shell environment plugin: owns the `ctx.shellEnv` registry of trusted, per-execution `DSH_*` variables that the model-facing shell tools (`dsh-tool-bash`, `dsh-tool-pwsh`) collect into every shell call's environment. Built-in shell facts (`DSH_HOME`, `DSH_SHELL=1`, `DSH_SESSION_ID`) are owned by the registry itself; other plugins register additional enumerable facts with effect-scoped disposal, and duplicate ownership or undeclared runtime keys fail loudly.
10
+ ## Summary
6
11
 
7
- The package root exports the Cordis plugin contract (`name`, `inject`, `Config`, `apply`) plus the `ShellEnvRegistry` service class and its contributor types; consumers use `ctx.shellEnv` after loading this plugin.
12
+ `dsh-shell-env` provides the trusted `DSH_*` environment that every model shell call — bash or pwsh — runs with: built-in facts such as `DSH_HOME`, `DSH_SHELL=1`, and the agent's `DSH_SESSION_ID`, plus `DSH_SESSION_JSONL` when the active persistence backend locates a JSONL artifact. Plugin authors can register their own facts with declared keys, collected per execution and disposed with their plugin; duplicate ownership or undeclared runtime keys fail loudly instead of silently overwriting. The registry changes nothing else the model sees — the shell tools own their own schemas and prompts. Choose it in any composition that mounts a model shell tool; configuration only picks the Harness home directory.
8
13
 
9
- ## Config
14
+ ## Table of Contents
10
15
 
11
- ```yaml
12
- - id: shell-env
13
- name: '@deepseek-ai/dsh-shell-env'
14
- config:
15
- dshHome: C:\Users\me\.dsh # default: $DSH_HOME, then ~/.dsh
16
- ```
16
+ - [Use this package](#use-this-package)
17
+ - [Understand the implementation](#understand-the-implementation)
18
+ - [Further Exploration](#further-exploration)
19
+ - [Model Experience](#model-experience)
20
+ - [Known Limitations and Deferred Work](#known-limitations-and-deferred-work)
21
+ - [Dev Note](#dev-note)
22
+
23
+ -----
24
+
25
+ <a id="use-this-package"></a>
26
+ ## Use this package
27
+
28
+ Load this plugin in any composition that mounts a model shell tool (`dsh-tool-bash` or `dsh-tool-pwsh`): each foreground or background shell call then runs with a freshly collected managed environment instead of whatever `DSH_*` values the process inherited.
17
29
 
18
- ## Managed environment
30
+ ### What every shell call receives
19
31
 
20
- Every foreground and background model shell call receives a newly collected trusted `DSH_*` environment. `DSH_HOME` is the absolute Harness home resolved by [`@deepseek-ai/dsh-home-paths`](../../util/home-paths/README.md) (`dshHome` config, then ambient `$DSH_HOME`, then `~/.dsh`) and `DSH_SHELL=1` identifies the managed child. Agent calls additionally receive `DSH_SESSION_ID=agent.session.header.id`; when the active persistence seam locates a JSONL artifact they also receive `DSH_SESSION_JSONL=<absolute target path>`. The JSONL path is a location hint: it may not exist before the first flush or contain the current buffered turn, and it is not an authorization credential.
32
+ Every call receives `DSH_HOME` (the absolute Harness home), `DSH_SHELL=1`, and, for agent calls, `DSH_SESSION_ID` (the calling session's id). When the active persistence backend locates a JSONL artifact for the session, calls also receive `DSH_SESSION_JSONL` with its absolute target path a location hint, not a guarantee: the file may not exist before the first flush and may not contain the current buffered turn, and the value is not an authorization credential.
21
33
 
22
- `ctx.shellEnv` owns collection. Other plugins can register an effect-scoped contributor with a stable name, declared keys/descriptions, and `resolve(execution: ToolExecution)`; duplicate ownership and undeclared runtime keys fail loudly, while `list()` enumerates declarations without executing providers. Harness built-ins reserve `DSH_HOME`, `DSH_SHELL`, and `DSH_SESSION_ID`; this plugin's persistence translator owns `DSH_SESSION_JSONL` by reading the backend-neutral `sessionPersistence.locate()` seam.
34
+ ### Adding your own environment facts
35
+
36
+ Other plugins contribute facts by registering a contributor with a stable name, the complete set of `DSH_*` keys it may return, a description per key, and a resolver that computes values for one execution:
23
37
 
24
38
  ```ts
25
39
  import type { Context } from '@deepseek-ai/cordis'
@@ -36,16 +50,92 @@ export function apply(ctx: Context): void {
36
50
  }
37
51
  ```
38
52
 
39
- The overlay is computed from the current `ToolExecution` and passed through the dedicated `ShellExecRequest.dshEnv` channel. The local executors remove all inherited `DSH_*` before merging that snapshot, so nested harnesses and concurrent parent/child agents cannot leak stale identities. `process.env` is never modified. The shell tools' descriptions teach the generic `$DSH_*` convention rather than naming persistence-specific variables or adding a permanent system-prompt section.
53
+ Contributors must declare every key they return; returning an undeclared or non-string value fails the call. Registration is disposed with the registering plugin, so hot-reloading a plugin removes its facts.
54
+
55
+ ### Choosing the Harness home
56
+
57
+ The single config field picks the home directory exposed as `DSH_HOME`; the default resolution order is the `dshHome` config, then ambient `$DSH_HOME`, then `~/.dsh`.
58
+
59
+ | Field | Default | Meaning |
60
+ |---|---|---|
61
+ | `dshHome` | `$DSH_HOME`, then `~/.dsh` | Absolute Harness home exposed as `DSH_HOME` |
62
+
63
+ The generated [configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-shell-env) is the exhaustive source for every accepted field and its JSDoc.
64
+
65
+ ### What can go wrong
66
+
67
+ Two contributors declaring the same key, or a contributor claiming a reserved built-in (`DSH_HOME`, `DSH_SHELL`, `DSH_SESSION_ID`), fails plugin load loudly. A `DSH_*` key must be all-caps with underscores (for example `DSH_REGION`), and a missing description fails registration.
68
+
69
+ -----
70
+
71
+ <a id="understand-the-implementation"></a>
72
+ ## Understand the implementation
73
+
74
+ <details>
75
+ <summary>Implementation internals — click to expand</summary>
76
+
77
+ This section explains the design decisions behind the registry and points at the code that realizes them; the observable behavior is fully covered in [Use this package](#use-this-package).
78
+
79
+ ### Design philosophy
80
+
81
+ - **Trusted namespace, rebuilt per call.** The environment is a Harness-owned `DSH_*` namespace: the shell executor discards inherited `DSH_*` values and merges the registry's current snapshot for each execution, so nested harnesses and concurrent parent/child agents cannot leak stale identities, and `process.env` is never modified.
82
+ - **Declared ownership, loud conflicts.** Contributors declare their keys up front so duplicate ownership is detected before the first command; resolvers may only return declared keys.
83
+ - **Built-ins stay here.** `DSH_HOME`, `DSH_SHELL`, and `DSH_SESSION_ID` are reserved for the registry; `DSH_SESSION_JSONL` is contributed by this plugin's own persistence translator, which reads the backend-neutral `sessionPersistence.locate()` seam.
40
84
 
85
+ ### Source map
86
+
87
+ | File | Role |
88
+ |---|---|
89
+ | [`src/index.ts`](src/index.ts) | Plugin entry, `ShellEnvRegistry` service, built-in facts and the persistence contributor |
90
+ | [`src/invariant.ts`](src/invariant.ts) | Invariant companion (no runtime invariant; collection is observable through tool execution) |
91
+
92
+ ### Collection
93
+
94
+ `collect(execution)` starts from the built-ins, adds the session id when the execution carries an agent, then merges each registered contributor's resolved values sorted by contributor name. The result is a frozen, key-sorted snapshot passed through `ShellExecRequest.dshEnv`. `list()` enumerates declarations without running resolvers, so it cannot reflect execution-dependent values.
95
+
96
+ </details>
97
+
98
+ -----
99
+
100
+ <a id="further-exploration"></a>
101
+ ## Further Exploration
102
+
103
+ Read these pages when the package-level contract is not enough. They move from the shell family to the executor seam and the generated catalogs.
104
+
105
+ - [shell package map](../README.md) — the bash capability family and its roles.
106
+ - [Bash executor subsystem](../../../docs/subsystems/shell.md) — the `ctx.shell` seam the tools execute through.
107
+ - [tool-bash](../tool-bash/README.md) — the bash tool that consumes this environment.
108
+ - [tool-pwsh](../tool-pwsh/README.md) — the pwsh tool that consumes this environment.
109
+ - [home paths package](../../util/home-paths/README.md) — how `DSH_HOME` is resolved.
110
+ - [Generated configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-shell-env) — every accepted config field and its source declaration.
111
+
112
+ -----
113
+
114
+ <a id="model-experience"></a>
41
115
  ## Model Experience
42
116
 
43
- Indirectly, through the shell tools (`dsh-tool-bash`, `dsh-tool-pwsh`), which collect this registry's managed `DSH_*` snapshot into every shell-tool call.
117
+ Indirectly, through the shell tools (`dsh-tool-bash`, `dsh-tool-pwsh`), which expose this registry's managed `DSH_*` facts in every shell-tool call.
44
118
 
45
119
  #### KV Cache effect
46
120
 
47
- No direct invalidation; the named consumers own any request-prefix changes.
121
+ The managed environment never enters the request prefix, so it does not invalidate provider cache reuse; the shell tools' definitions and the current request envelope own any prefix change.
48
122
 
49
123
  ## Known Limitations and Deferred Work
50
124
 
51
- - **`list()` enumerates contributor-declared variables only** — registry-owned built-ins (`DSH_HOME`, `DSH_SHELL`, `DSH_SESSION_ID`) are not included, so diagnostics, prompt, or UI code must not treat `list()` as an exhaustive environment catalog.
125
+ <a id="known-limitations-and-deferred-work"></a>
126
+
127
+
128
+ These limits define when the registry is a poor fit or needs care. They are current package constraints, not a task backlog.
129
+
130
+ - **`list()` enumerates plugin-contributed variables only** — registry-owned built-ins (`DSH_HOME`, `DSH_SHELL`, `DSH_SESSION_ID`) are not included, so diagnostics, prompt, or UI code must not treat `list()` as an exhaustive environment catalog.
131
+ - **`DSH_SESSION_JSONL` is a location hint, not a guarantee** — the file may not exist before the first flush and may not contain the current buffered turn, and the value is not an authorization credential.
132
+
133
+ <a id="dev-note"></a>
134
+ ### Dev Note
135
+
136
+ <details>
137
+ <summary>Working context for maintainers — click to expand</summary>
138
+
139
+ None.
140
+
141
+ </details>
package/README.zh.md CHANGED
@@ -1,25 +1,39 @@
1
+ ---
2
+ description: "受管 DSH_* shell 环境,供选择、配置或扩展每次模型 shell 调用所运行环境的使用者与维护者阅读。"
3
+ kind: "package-reference"
4
+ ---
5
+
1
6
  # @deepseek-ai/dsh-shell-env
2
7
 
3
8
  [English](README.md) | 中文
4
9
 
5
- 工具无关的 shell 环境插件:拥有 `ctx.shellEnv` 注册表,管理受信任的、每次执行收集的 `DSH_*` 变量,供模型可见的 shell 工具(`dsh-tool-bash`、`dsh-tool-pwsh`)收集进每次 shell 调用的环境。内置 shell 事实(`DSH_HOME`、`DSH_SHELL=1`、`DSH_SESSION_ID`)归注册表自身所有;其他插件可以注册额外的可枚举事实,注册随插件纤维(fiber)释放,重复所有权或未声明的运行时键会响亮失败。
10
+ ## 概述
6
11
 
7
- 包根导出 Cordis 插件约定(`name`、`inject`、`Config`、`apply`)以及 `ShellEnvRegistry` 服务类及其 contributor 类型;消费方在加载本插件后使用 `ctx.shellEnv`。
12
+ `dsh-shell-env` 提供每次模型 shell 调用——bash 或 pwsh——所运行的受信 `DSH_*` 环境:内置事实如 `DSH_HOME`、`DSH_SHELL=1` 与 agent(智能体)的 `DSH_SESSION_ID`,以及活跃持久化后端定位到 JSONL 产物时的 `DSH_SESSION_JSONL`。插件作者可以注册自己的事实,带声明键、按每次执行收集,并随插件释放;重复所有权或未声明的运行时键会响亮失败,而不是静默覆盖。注册表不会改变模型看到的其他任何内容——shell 工具拥有各自的 schema 与提示词。任何挂载了模型 shell 工具的组合都适合选择它;配置只决定 Harness 主目录。
8
13
 
9
- ## Config
14
+ ## 目录
10
15
 
11
- ```yaml
12
- - id: shell-env
13
- name: '@deepseek-ai/dsh-shell-env'
14
- config:
15
- dshHome: C:\Users\me\.dsh # default: $DSH_HOME, then ~/.dsh
16
- ```
16
+ - [使用本包](#use-this-package)
17
+ - [理解实现](#understand-the-implementation)
18
+ - [进一步探索](#further-exploration)
19
+ - [模型体验](#model-experience)
20
+ - [已知限制与延期工作](#known-limitations-and-deferred-work)
21
+ - [开发备注](#dev-note)
22
+
23
+ -----
24
+
25
+ <a id="use-this-package"></a>
26
+ ## 使用本包
27
+
28
+ 在任何挂载模型 shell 工具(`dsh-tool-bash` 或 `dsh-tool-pwsh`)的组合中加载本插件:此后每次前台或后台 shell 调用都会运行在新收集的受管环境中,而不是进程继承来的任意 `DSH_*` 值。
17
29
 
18
- ## Managed environment
30
+ ### 每次 shell 调用都会收到什么
19
31
 
20
- 每次前台与后台模型 shell 调用都会收到一份新收集的受信任 `DSH_*` 环境。`DSH_HOME` 是由 [`@deepseek-ai/dsh-home-paths`](../../util/home-paths/README.zh.md) 解析的 Harness 主目录绝对路径(`dshHome` 配置,然后环境变量 `$DSH_HOME`,然后 `~/.dsh`),`DSH_SHELL=1` 标识受管理的子进程。带 agent(智能体)的调用额外收到 `DSH_SESSION_ID=agent.session.header.id`;当活动的持久化 seam 定位到 JSONL 工件时,它们还会收到 `DSH_SESSION_JSONL=<绝对目标路径>`。JSONL 路径只是位置提示:首次 flush 之前它可能不存在,也不一定包含当前缓冲中的轮次,并且它不是授权凭据。
32
+ 每次调用都会收到 `DSH_HOME`(Harness 主目录的绝对路径)、`DSH_SHELL=1`,agent 调用还会收到 `DSH_SESSION_ID`(调用方会话的 id)。当活跃持久化后端为该会话定位到 JSONL 产物时,调用还会收到带绝对目标路径的 `DSH_SESSION_JSONL`——这只是位置提示,不是保证:首次 flush 之前文件可能不存在,也可能不包含当前缓冲中的轮次,而且该值不是授权凭据。
21
33
 
22
- `ctx.shellEnv` 负责收集。其他插件可以注册一个受 effect 作用域约束的 contributor,带有稳定名称、已声明的键/描述以及 `resolve(execution: ToolExecution)`;重复所有权与未声明的运行时键会响亮失败,而 `list()` 只枚举声明、不执行 provider。Harness 内置键保留 `DSH_HOME`、`DSH_SHELL` 与 `DSH_SESSION_ID`;本插件的持久化翻译器通过读取与后端无关的 `sessionPersistence.locate()` seam 拥有 `DSH_SESSION_JSONL`。
34
+ ### 添加你自己的环境事实
35
+
36
+ 其他插件通过注册一个 contributor 来贡献事实,需要提供稳定名称、它可能返回的完整 `DSH_*` 键集合、每个键的描述,以及为一次执行计算取值的 resolver:
23
37
 
24
38
  ```ts
25
39
  import type { Context } from '@deepseek-ai/cordis'
@@ -36,16 +50,92 @@ export function apply(ctx: Context): void {
36
50
  }
37
51
  ```
38
52
 
39
- 覆盖层根据当前 `ToolExecution` 计算,并通过专用的 `ShellExecRequest.dshEnv` 通道传递。本地执行器在合并该快照前移除所有继承的 `DSH_*`,因此嵌套 harness 与并发的父子 agent 无法泄漏陈旧身份。`process.env` 永不被修改。shell 工具的描述只教授通用的 `$DSH_*` 约定,而不是点名持久化相关的变量或添加常驻的 system-prompt 段落。
53
+ contributor 必须声明它返回的每个键;返回未声明或非字符串的值会让该次调用失败。注册随注册插件的释放而释放,因此热重载插件会移除它的事实。
54
+
55
+ ### 选择 Harness 主目录
56
+
57
+ 唯一配置字段决定暴露为 `DSH_HOME` 的主目录;默认解析顺序为 `dshHome` 配置、环境变量 `$DSH_HOME`,然后是 `~/.dsh`。
58
+
59
+ | 字段 | 默认值 | 含义 |
60
+ |---|---|---|
61
+ | `dshHome` | `$DSH_HOME`,然后 `~/.dsh` | 暴露为 `DSH_HOME` 的 Harness 主目录绝对路径 |
62
+
63
+ 生成的[配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-shell-env)是每个受支持字段及其 JSDoc 的穷尽式真源。
64
+
65
+ ### 可能出什么问题
66
+
67
+ 两个 contributor 声明同一个键,或 contributor 声称拥有保留内置键(`DSH_HOME`、`DSH_SHELL`、`DSH_SESSION_ID`),都会让插件加载响亮失败。`DSH_*` 键必须全大写并带下划线(例如 `DSH_REGION`),缺少描述也会让注册失败。
68
+
69
+ -----
70
+
71
+ <a id="understand-the-implementation"></a>
72
+ ## 理解实现
73
+
74
+ <details>
75
+ <summary>实现细节——点击展开</summary>
76
+
77
+ 本节解释注册表背后的设计决策,并指出实现它们的代码位置;可观察行为已在[使用本包](#use-this-package)中完整说明。
78
+
79
+ ### 设计理念
80
+
81
+ - **受信命名空间,每次调用重建。** 环境是归 Harness 所有的 `DSH_*` 命名空间:shell 执行器丢弃继承的 `DSH_*` 值,并为每次执行合并注册表的当前快照,因此嵌套 harness 与并发的父子 agent 无法泄漏陈旧身份,`process.env` 也永不被修改。
82
+ - **声明的所有权,响亮的冲突。** contributor 预先声明键,使重复所有权在第一条命令之前就被发现;resolver 只能返回已声明的键。
83
+ - **内置键留在这里。** `DSH_HOME`、`DSH_SHELL` 与 `DSH_SESSION_ID` 为注册表保留;`DSH_SESSION_JSONL` 由本插件自己的持久化翻译器贡献,它读取与后端无关的 `sessionPersistence.locate()` seam。
84
+
85
+ ### 源码地图
86
+
87
+ | 文件 | 职责 |
88
+ |---|---|
89
+ | [`src/index.ts`](src/index.ts) | 插件入口、`ShellEnvRegistry` 服务、内置事实与持久化 contributor |
90
+ | [`src/invariant.ts`](src/invariant.ts) | 不变式伴生插件(无运行时不变式;收集可通过工具执行观察) |
91
+
92
+ ### 收集
93
+
94
+ `collect(execution)` 从内置键出发,当执行携带 agent 时加入会话 id,再按 contributor 名称排序合并每个已注册 contributor 解析出的值。结果是一个冻结、按键排序的快照,通过 `ShellExecRequest.dshEnv` 传递。`list()` 枚举声明而不运行 resolver,因此无法反映依赖执行的值。
95
+
96
+ </details>
97
+
98
+ -----
99
+
100
+ <a id="further-exploration"></a>
101
+ ## 进一步探索
102
+
103
+ 当包级约定不够用时阅读以下页面。它们从 shell 家族逐步进入执行器 seam 与生成目录。
104
+
105
+ - [shell 包映射](../README.zh.md)——bash 能力家族及其角色。
106
+ - [Bash 执行器子系统](../../../docs/subsystems/shell.zh.md)——工具执行所经由的 `ctx.shell` seam。
107
+ - [tool-bash](../tool-bash/README.zh.md)——消费本环境的 bash 工具。
108
+ - [tool-pwsh](../tool-pwsh/README.zh.md)——消费本环境的 pwsh 工具。
109
+ - [home paths 包](../../util/home-paths/README.zh.md)——`DSH_HOME` 如何解析。
110
+ - [生成的配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-shell-env)——每个受支持配置字段及其源声明。
111
+
112
+ -----
113
+
114
+ <a id="model-experience"></a>
115
+ ## 模型体验
116
+
117
+ 通过 shell 工具(`dsh-tool-bash`、`dsh-tool-pwsh`)间接产生影响;这些工具把本注册表的受管 `DSH_*` 事实暴露在每次 shell 工具调用中。
118
+
119
+ #### KV Cache 影响
120
+
121
+ 受管环境永远不会进入请求前缀,因此不会使提供方缓存复用失效;shell 工具的定义与当前请求信封拥有任何前缀变更。
122
+
123
+ ## 已知限制与延期工作
124
+
125
+ <a id="known-limitations-and-deferred-work"></a>
126
+
40
127
 
41
- ## Model Experience
128
+ 这些限制说明注册表何时不合适或需要小心使用。它们是当前包约束,不是任务积压。
42
129
 
43
- 通过 shell 工具(`dsh-tool-bash`、`dsh-tool-pwsh`)间接产生影响;这些工具会把该注册表的受管 `DSH_*` 快照收集进每次 shell 工具调用。
130
+ - **`list()` 只枚举插件贡献的变量**——注册表自有的内置键(`DSH_HOME`、`DSH_SHELL`、`DSH_SESSION_ID`)不包含在内,因此诊断、prompt UI 代码不得把 `list()` 当作完整的环境目录。
131
+ - **`DSH_SESSION_JSONL` 只是位置提示,不是保证**——首次 flush 之前文件可能不存在,也可能不包含当前缓冲中的轮次,而且该值不是授权凭据。
44
132
 
45
- #### KV Cache effect
133
+ <a id="dev-note"></a>
134
+ ### 开发备注
46
135
 
47
- 不会直接导致缓存失效;任何请求前缀变更均由上述消费方负责。
136
+ <details>
137
+ <summary>维护者的工作上下文——点击展开</summary>
48
138
 
49
- ## Known Limitations and Deferred Work
139
+ 无。
50
140
 
51
- - **`list()` 只枚举 contributor 声明的变量** — 注册表自有的内置键(`DSH_HOME`、`DSH_SHELL`、`DSH_SESSION_ID`)不包含在内,因此诊断、prompt 或 UI 代码不得把 `list()` 当作完整的环境目录。
141
+ </details>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-shell-env",
3
3
  "description": "Tool-independent managed DSH_* shell environment registry",
4
- "version": "0.1.1-rc.2",
4
+ "version": "0.1.2-alpha.3",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -32,24 +32,24 @@
32
32
  ],
33
33
  "license": "MIT",
34
34
  "peerDependencies": {
35
- "@deepseek-ai/dsh-shell": "^0.1.1-rc.2",
36
- "@deepseek-ai/dsh-home-paths": "^0.1.1-rc.2",
37
- "@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
38
- "@deepseek-ai/dsh-tools": "^0.1.1-rc.2",
39
- "@deepseek-ai/dsh-session-persistence": "^0.1.1-rc.2",
40
- "@deepseek-ai/cordis": "^4.0.1"
35
+ "@deepseek-ai/dsh-shell": "^0.1.2-alpha.3",
36
+ "@deepseek-ai/dsh-invariants": "^0.1.2-alpha.3",
37
+ "@deepseek-ai/dsh-home-paths": "^0.1.2-alpha.3",
38
+ "@deepseek-ai/dsh-session-persistence": "^0.1.2-alpha.3",
39
+ "@deepseek-ai/dsh-tools": "^0.1.2-alpha.3",
40
+ "@deepseek-ai/cordis": "^4.0.2"
41
41
  },
42
42
  "dependencies": {
43
- "@deepseek-ai/schemastery": "^3.18.1"
43
+ "@deepseek-ai/schemastery": "^3.18.2"
44
44
  },
45
45
  "devDependencies": {
46
- "@deepseek-ai/dsh-agent": "^0.1.1-rc.2",
47
- "@deepseek-ai/dsh-shell": "^0.1.1-rc.2",
48
- "@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
49
- "@deepseek-ai/dsh-llm": "^0.1.1-rc.2",
50
- "@deepseek-ai/dsh-home-paths": "^0.1.1-rc.2",
51
- "@deepseek-ai/dsh-session-persistence": "^0.1.1-rc.2",
52
- "@deepseek-ai/dsh-tools": "^0.1.1-rc.2",
53
- "@deepseek-ai/cordis": "^4.0.1"
46
+ "@deepseek-ai/dsh-agent": "^0.1.2-alpha.3",
47
+ "@deepseek-ai/dsh-llm": "^0.1.2-alpha.3",
48
+ "@deepseek-ai/dsh-home-paths": "^0.1.2-alpha.3",
49
+ "@deepseek-ai/dsh-session-persistence": "^0.1.2-alpha.3",
50
+ "@deepseek-ai/dsh-tools": "^0.1.2-alpha.3",
51
+ "@deepseek-ai/cordis": "^4.0.2",
52
+ "@deepseek-ai/dsh-invariants": "^0.1.2-alpha.3",
53
+ "@deepseek-ai/dsh-shell": "^0.1.2-alpha.3"
54
54
  }
55
55
  }