@deepseek-ai/dsh-subagent-fork-in-process 0.0.1-rc.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/LICENSE +28 -0
- package/README.i18n.yaml +6 -0
- package/README.md +61 -0
- package/README.zh.md +61 -0
- package/lib/index.js +59 -0
- package/lib/invariant.js +23 -0
- package/lib/types/index.d.ts +20 -0
- package/lib/types/invariant.d.ts +16 -0
- package/package.json +58 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026, DeepSeek
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
16
|
+
contributors may be used to endorse or promote products derived from
|
|
17
|
+
this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
package/README.i18n.yaml
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
|
|
2
|
+
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
|
+
# after editing either side, bring the other along and re-record with:
|
|
4
|
+
# pnpm run verify-translation-pairing --write packages/subagent/subagent-fork-in-process/README.md
|
|
5
|
+
README.md: 74c27ff10c76aa711ed3e954e806c00a27aacfa5
|
|
6
|
+
README.zh.md: bca890769bab1f898abd0b71fc8aa321b66e93c8
|
package/README.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# @deepseek-ai/dsh-subagent-fork-in-process
|
|
2
|
+
|
|
3
|
+
English | [中文](README.zh.md)
|
|
4
|
+
|
|
5
|
+
The fork provider creates an in-process child seeded with the parent's completed conversation turns. It shares all run mechanics with spawn; the session seed is the only behavioral difference.
|
|
6
|
+
|
|
7
|
+
## Seed boundary
|
|
8
|
+
|
|
9
|
+
The parent's current tool-calling turn is still open when a subagent starts: its log contains the assistant tool call but not the matching tool result or `turn/end`. Copying that raw log would give the child an invalid, unbalanced session.
|
|
10
|
+
|
|
11
|
+
Fork therefore computes the contiguous prefix ending at the last `turn/end`. The child sees all completed parent turns and none of the in-flight turn. If the parent has not completed a turn yet, the seed is empty and the child behaves like a fresh spawn.
|
|
12
|
+
|
|
13
|
+
The seed transfers conversation history only. The child still receives a fresh flat registration scope; it does not inherit the parent's tool restrictions or authority.
|
|
14
|
+
|
|
15
|
+
## Start and capabilities
|
|
16
|
+
|
|
17
|
+
`start(request)` passes the completed-turn seed to [`startInProcessRun`](../subagent-in-process-driver/README.md) and awaits child publication. The shared driver owns cancellation, depth, customization, result reading, and disposal.
|
|
18
|
+
|
|
19
|
+
Fork advertises `{ outputSchema: true, depthLimit: true, toolFilter: true, persona: true }`, identical to spawn.
|
|
20
|
+
|
|
21
|
+
## Config
|
|
22
|
+
|
|
23
|
+
| Key | Meaning |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `providerName` | Registry name on `ctx.subagents` (default `fork`). |
|
|
26
|
+
See [`dsh-subagent-spawn-in-process`](../subagent-spawn-in-process/README.md) for the run lifecycle, model inheritance, and depth tracking — all shared.
|
|
27
|
+
|
|
28
|
+
## Model Experience
|
|
29
|
+
|
|
30
|
+
### Child-agent history and envelope
|
|
31
|
+
|
|
32
|
+
#### What the model sees
|
|
33
|
+
|
|
34
|
+
The child receives the parent's balanced completed-turn surface prefix, then the new task content verbatim. A configured persona shadows prompt text in the child's fresh scope; a tool restriction filters its global wire schemas, executable lookup, and Code Mode SDK bindings but not standalone guidance. The parent's tool view and authority are not inherited. An optional structured-output request adds its child-only contract. The parent's current in-flight turn is excluded.
|
|
35
|
+
|
|
36
|
+
#### Token effect
|
|
37
|
+
|
|
38
|
+
Forking duplicates retained completed history into separate child requests; the child then accumulates its own tokens independently. Persona changes repeated prompt cost, filtering changes schema or generated SDK cost, and a first-turn fork has no inherited history.
|
|
39
|
+
|
|
40
|
+
#### KV Cache effect
|
|
41
|
+
|
|
42
|
+
The child may reuse the inherited byte-identical prefix under the same provider and model. Persona, tool-filter, generated-SDK, or route changes may invalidate reuse before inherited history; later child history is append-only. Shipped compositions therefore bind this provider to `backgroundMode: one-shot`, because a continuable child additionally carries the child-scoped `report` tool and its prompt section — deltas that precede the inherited history and so invalidate all of it ([the fork-one-shot Agent Note](../../../.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.md)).
|
|
43
|
+
|
|
44
|
+
### Parent tool result, indirectly
|
|
45
|
+
|
|
46
|
+
#### What the model sees
|
|
47
|
+
|
|
48
|
+
The parent receives only the child's own final output through `dsh-tool-subagent`, not the inherited prefix or intermediate work.
|
|
49
|
+
|
|
50
|
+
#### Token effect
|
|
51
|
+
|
|
52
|
+
Parent input grows by one data-dependent final result retained until compaction.
|
|
53
|
+
|
|
54
|
+
#### KV Cache effect
|
|
55
|
+
|
|
56
|
+
Append-only; newly visible content follows the reusable request prefix and does not invalidate existing KV-cache entries.
|
|
57
|
+
|
|
58
|
+
## Known Limitations and Deferred Work
|
|
59
|
+
|
|
60
|
+
- **The seed is a one-time snapshot** — the child sees the parent's completed turns as of the fork and nothing the parent logs afterwards; there is no live context sharing.
|
|
61
|
+
- **No shipped composition creates a continuable fork child** — `prepareContinuable` remains implemented and the seam accepts it, but every shipped `cordis.yml` sets `backgroundMode: one-shot` on the fork delegation tool, so the provider's continuable path has no production caller. Reopening it requires the child's system prompt and tool schemas to match the parent's byte for byte, which the [`report` return channel](../tool-subagent-report/README.md) currently prevents. Rationale and the reintroduction condition: [the fork-one-shot Agent Note](../../../.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.md).
|
package/README.zh.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# @deepseek-ai/dsh-subagent-fork-in-process
|
|
2
|
+
|
|
3
|
+
[English](README.md) | 中文
|
|
4
|
+
|
|
5
|
+
fork 提供方会创建一个进程内子 agent(智能体),并以父 agent 已完成的对话轮次作为初始内容。它与 spawn 共用全部运行机制;唯一的行为差异是会话初始内容。
|
|
6
|
+
|
|
7
|
+
## 初始内容边界
|
|
8
|
+
|
|
9
|
+
subagent 启动时,父 agent 当前的工具调用轮次仍未结束:其日志包含 assistant 工具调用,但尚无匹配的工具结果或 `turn/end`。直接复制这份原始日志会给子 agent 一个无效且不平衡的会话。
|
|
10
|
+
|
|
11
|
+
因此,fork 会计算截至最后一个 `turn/end` 的连续前缀。子 agent 能看到父 agent 所有已完成轮次,但看不到进行中的轮次。如果父 agent 尚未完成任何轮次,初始内容为空,子 agent 的行为与全新 spawn 相同。
|
|
12
|
+
|
|
13
|
+
初始内容只传递对话历史。子 agent 仍会获得全新的扁平注册作用域;它不继承父 agent 的工具限制或权限。
|
|
14
|
+
|
|
15
|
+
## 启动与能力
|
|
16
|
+
|
|
17
|
+
`start(request)` 将已完成轮次的初始内容传给 [`startInProcessRun`](../subagent-in-process-driver/README.md),并等待子 agent 发布。共享驱动器负责取消、深度、定制、结果读取和 dispose(资源释放)。
|
|
18
|
+
|
|
19
|
+
fork 声明 `{ outputSchema: true, depthLimit: true, toolFilter: true, persona: true }`,与 spawn 相同。
|
|
20
|
+
|
|
21
|
+
## 配置
|
|
22
|
+
|
|
23
|
+
| 键 | 含义 |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `providerName` | `ctx.subagents` 上的注册表名称(默认 `fork`)。 |
|
|
26
|
+
运行生命周期、模型继承与深度跟踪均为共享行为,见 [`dsh-subagent-spawn-in-process`](../subagent-spawn-in-process/README.md)。
|
|
27
|
+
|
|
28
|
+
## 模型体验
|
|
29
|
+
|
|
30
|
+
### 子 agent 历史与包络
|
|
31
|
+
|
|
32
|
+
#### 模型看到的内容
|
|
33
|
+
|
|
34
|
+
子 agent 先接收由父 agent 已配平的已完成轮次构成的表层前缀,再逐字接收新的任务内容。配置的 persona 会在子 agent 的全新作用域中遮蔽提示词文本;工具限制会过滤其全局协议 schema、可执行工具查找和 Code Mode SDK 绑定,但不影响独立的指导内容。父 agent 的工具视图与权限不会被继承。可选的结构化输出请求会添加仅属于子 agent 的约定。父 agent 当前进行中的轮次会被排除。
|
|
35
|
+
|
|
36
|
+
#### Token 影响
|
|
37
|
+
|
|
38
|
+
fork 会把保留的已完成历史复制到独立的子 agent 请求中;随后子 agent 独立累积自己的 token。persona 会改变重复提示词的成本,过滤会改变 schema 或生成 SDK 的成本,而首轮 fork 没有继承历史。
|
|
39
|
+
|
|
40
|
+
#### KV Cache 影响
|
|
41
|
+
|
|
42
|
+
在提供方和模型相同的前提下,子 agent 可以复用继承的逐字节相同前缀。persona、工具过滤、生成 SDK 或路由变化可能在继承历史之前使复用失效;后续子 agent 历史仅追加。因此随附组合把本提供方绑定为 `backgroundMode: one-shot`:可继续子 agent 还会额外携带作用域局部的 `report` 工具及其提示词 section,而这些增量位于继承历史之前,会使继承历史整体失效(见 [fork 保持 one-shot 的 Agent Note](../../../.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.md))。
|
|
43
|
+
|
|
44
|
+
### 父 agent 工具结果(间接)
|
|
45
|
+
|
|
46
|
+
#### 模型看到的内容
|
|
47
|
+
|
|
48
|
+
父 agent 只通过 `dsh-tool-subagent` 接收子 agent 自身的最终输出,不接收继承的前缀或中间工作。
|
|
49
|
+
|
|
50
|
+
#### Token 影响
|
|
51
|
+
|
|
52
|
+
父 agent 输入会增加一个取决于数据的最终结果,并保留到压缩(compaction)为止。
|
|
53
|
+
|
|
54
|
+
#### KV Cache 影响
|
|
55
|
+
|
|
56
|
+
仅追加;新增可见内容位于可复用请求前缀之后,不会使现有 KV Cache 条目失效。
|
|
57
|
+
|
|
58
|
+
## 已知限制与暂缓事项
|
|
59
|
+
|
|
60
|
+
- **初始内容是一次性快照**:子 agent 只能看到 fork 时父 agent 已完成的轮次,看不到父 agent 此后记录的任何内容;不会实时共享上下文。
|
|
61
|
+
- **没有任何随附组合会创建可继续的 fork 子 agent**:`prepareContinuable` 仍然实现完好,seam 也接受它,但每份随附的 `cordis.yml` 都在 fork 委派工具上设置 `backgroundMode: one-shot`,因此该提供方的可继续路径没有生产调用方。重新开放它需要子 agent 的系统提示词与工具 schema 与父 agent 逐字节一致,而这一点目前被 [`report` 返回通道](../tool-subagent-report/README.md)阻止。理由与重新开放条件见 [fork 保持 one-shot 的 Agent Note](../../../.agents/notes/implemented/architecture/2026-08-10-fork-children-stay-one-shot.md)。
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import z from "@deepseek-ai/schemastery";
|
|
2
|
+
import { startInProcessRun } from "@deepseek-ai/dsh-subagent-in-process-driver";
|
|
3
|
+
//#region lib/types/index.js
|
|
4
|
+
/**
|
|
5
|
+
* The in-process FORK subagent backend: registers a {@link SubagentProvider} on
|
|
6
|
+
* `ctx.subagents` that runs each child as a child {@link Agent} SEEDED with a prefix of the
|
|
7
|
+
* parent's session log — so the child inherits the parent's conversation context instead of
|
|
8
|
+
* starting fresh. The seed ends at the last `turn/end`: the current tool-call turn is
|
|
9
|
+
* unbalanced and cannot be replayed as a valid child session.
|
|
10
|
+
* @module @deepseek-ai/dsh-subagent-fork-in-process
|
|
11
|
+
*/
|
|
12
|
+
const name = "subagent-fork-in-process";
|
|
13
|
+
const inject = ["subagents"];
|
|
14
|
+
const Config = z.object({ providerName: z.string().default("fork") });
|
|
15
|
+
/**
|
|
16
|
+
* The balanced completed-turn prefix of `parent`'s log: every event up to and including the
|
|
17
|
+
* last `turn/end`. The in-flight turn is excluded; before any completed turn the child starts
|
|
18
|
+
* fresh. Because live sequence numbers equal array indexes, the result remains a valid seed
|
|
19
|
+
* beginning at sequence zero.
|
|
20
|
+
* @param parent - the agent whose session log to slice.
|
|
21
|
+
* @returns the seed events, contiguous from seq 0; empty when no turn has completed.
|
|
22
|
+
*/
|
|
23
|
+
function completedTurnPrefix(parent) {
|
|
24
|
+
const events = parent.session.events;
|
|
25
|
+
const lastEnd = events.findLast((e) => e.type === "turn/end");
|
|
26
|
+
if (lastEnd === void 0) return [];
|
|
27
|
+
return events.slice(0, lastEnd.seq + 1);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The fork provider. Supports `depthLimit` and `outputSchema` (via the shared
|
|
31
|
+
* in-process structured runtime), plus `toolFilter`/`persona` (scoped
|
|
32
|
+
* restrict() and a scoped shadowing persona section).
|
|
33
|
+
*/
|
|
34
|
+
var ForkInProcessProvider = class {
|
|
35
|
+
name;
|
|
36
|
+
capabilities = {
|
|
37
|
+
outputSchema: true,
|
|
38
|
+
depthLimit: true,
|
|
39
|
+
toolFilter: true,
|
|
40
|
+
persona: true
|
|
41
|
+
};
|
|
42
|
+
inheritsParentContext = true;
|
|
43
|
+
constructor(name) {
|
|
44
|
+
this.name = name;
|
|
45
|
+
}
|
|
46
|
+
start(request) {
|
|
47
|
+
const seed = completedTurnPrefix(request.parent);
|
|
48
|
+
return startInProcessRun(request, { ...seed.length > 0 ? { seed } : {} });
|
|
49
|
+
}
|
|
50
|
+
prepareContinuable(request) {
|
|
51
|
+
const seed = completedTurnPrefix(request.parent);
|
|
52
|
+
return Promise.resolve(seed.length > 0 ? { seed } : {});
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
function apply(ctx, config) {
|
|
56
|
+
ctx.subagents.registerProvider(new ForkInProcessProvider(config.providerName));
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { Config, apply, inject, name };
|
package/lib/invariant.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region lib/types/invariant.js
|
|
2
|
+
/**
|
|
3
|
+
* Package-owned invariant companion for `@deepseek-ai/dsh-subagent-fork-in-process`.
|
|
4
|
+
* @module @deepseek-ai/dsh-subagent-fork-in-process/invariant
|
|
5
|
+
*/
|
|
6
|
+
const PACKAGE_NAME = "@deepseek-ai/dsh-subagent-fork-in-process";
|
|
7
|
+
/** Cordis companion plugin name. */
|
|
8
|
+
const name = "subagent-fork-in-process-invariant";
|
|
9
|
+
/** Service required before the companion can reserve package ownership. */
|
|
10
|
+
const inject = ["invariants"];
|
|
11
|
+
/**
|
|
12
|
+
* No runtime invariant: this package exposes no independent event sequence or mutable data relation
|
|
13
|
+
* beyond contracts enforced at its owning seam.
|
|
14
|
+
*/
|
|
15
|
+
const install = () => {};
|
|
16
|
+
/**
|
|
17
|
+
* Register this package's invariant companion.
|
|
18
|
+
* @param ctx - Cordis context carrying the invariant service.
|
|
19
|
+
* @returns the installed registration's disposer after setup succeeds.
|
|
20
|
+
*/
|
|
21
|
+
const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
22
|
+
//#endregion
|
|
23
|
+
export { apply, inject, name };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The in-process FORK subagent backend: registers a {@link SubagentProvider} on
|
|
3
|
+
* `ctx.subagents` that runs each child as a child {@link Agent} SEEDED with a prefix of the
|
|
4
|
+
* parent's session log — so the child inherits the parent's conversation context instead of
|
|
5
|
+
* starting fresh. The seed ends at the last `turn/end`: the current tool-call turn is
|
|
6
|
+
* unbalanced and cannot be replayed as a valid child session.
|
|
7
|
+
* @module @deepseek-ai/dsh-subagent-fork-in-process
|
|
8
|
+
*/
|
|
9
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
10
|
+
import z from '@deepseek-ai/schemastery';
|
|
11
|
+
export declare const name = "subagent-fork-in-process";
|
|
12
|
+
export declare const inject: string[];
|
|
13
|
+
/** Config: the registry name to register the provider under. */
|
|
14
|
+
export interface Config {
|
|
15
|
+
/** Provider name on `ctx.subagents` (default `fork`). */
|
|
16
|
+
providerName: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const Config: z<Config>;
|
|
19
|
+
export declare function apply(ctx: Context, config: Config): void;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package-owned invariant companion for `@deepseek-ai/dsh-subagent-fork-in-process`.
|
|
3
|
+
* @module @deepseek-ai/dsh-subagent-fork-in-process/invariant
|
|
4
|
+
*/
|
|
5
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
6
|
+
/** Cordis companion plugin name. */
|
|
7
|
+
export declare const name = "subagent-fork-in-process-invariant";
|
|
8
|
+
/** Service required before the companion can reserve package ownership. */
|
|
9
|
+
export declare const inject: string[];
|
|
10
|
+
/**
|
|
11
|
+
* Register this package's invariant companion.
|
|
12
|
+
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
+
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
+
*/
|
|
15
|
+
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
+
//# sourceMappingURL=invariant.d.ts.map
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@deepseek-ai/dsh-subagent-fork-in-process",
|
|
3
|
+
"description": "In-process fork subagent backend: runs a child agent seeded with a prefix of the parent's log",
|
|
4
|
+
"version": "0.0.1-rc.3",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "restricted"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/deepseek-ai/deepseek-harness.git",
|
|
11
|
+
"directory": "packages/subagent/subagent-fork-in-process"
|
|
12
|
+
},
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "lib/index.js",
|
|
15
|
+
"types": "lib/types/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./lib/types/index.d.ts",
|
|
19
|
+
"default": "./lib/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./invariant": {
|
|
22
|
+
"types": "./lib/types/invariant.d.ts",
|
|
23
|
+
"default": "./lib/invariant.js"
|
|
24
|
+
},
|
|
25
|
+
"./src/*": "./src/*",
|
|
26
|
+
"./package.json": "./package.json"
|
|
27
|
+
},
|
|
28
|
+
"files": [
|
|
29
|
+
"lib/index.js",
|
|
30
|
+
"lib/invariant.js",
|
|
31
|
+
"lib/types/**/*.d.ts"
|
|
32
|
+
],
|
|
33
|
+
"license": "BSD-3-Clause",
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"@deepseek-ai/dsh-agent": "^0.0.1-rc.3",
|
|
36
|
+
"@deepseek-ai/dsh-invariants": "^0.0.1-rc.3",
|
|
37
|
+
"@deepseek-ai/dsh-session": "^0.0.1-rc.3",
|
|
38
|
+
"@deepseek-ai/dsh-subagent": "^0.0.1-rc.3",
|
|
39
|
+
"@deepseek-ai/dsh-subagent-in-process-driver": "^0.0.1-rc.3",
|
|
40
|
+
"@deepseek-ai/cordis": "^4.0.1-rc.1"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@deepseek-ai/schemastery": "^3.18.1-rc.1"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@deepseek-ai/cordis-plugin-loader": "^1.0.1-rc.1",
|
|
47
|
+
"@deepseek-ai/dsh-agent": "^0.0.1-rc.3",
|
|
48
|
+
"@deepseek-ai/dsh-agent-loop": "^0.0.1-rc.3",
|
|
49
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "^0.0.1-rc.3",
|
|
50
|
+
"@deepseek-ai/dsh-invariants": "^0.0.1-rc.3",
|
|
51
|
+
"@deepseek-ai/dsh-session": "^0.0.1-rc.3",
|
|
52
|
+
"@deepseek-ai/dsh-llm": "^0.0.1-rc.3",
|
|
53
|
+
"@deepseek-ai/dsh-subagent": "^0.0.1-rc.3",
|
|
54
|
+
"@deepseek-ai/dsh-subagent-in-process-driver": "^0.0.1-rc.3",
|
|
55
|
+
"@deepseek-ai/dsh-subagent-spawn-in-process": "^0.0.1-rc.3",
|
|
56
|
+
"@deepseek-ai/cordis": "^4.0.1-rc.1"
|
|
57
|
+
}
|
|
58
|
+
}
|