@deepseek-ai/dsh-cordis-host-runner 0.2.0-rc.2 → 0.2.1-alpha.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/README.i18n.yaml +6 -6
- package/README.md +2 -4
- package/README.zh.md +2 -4
- package/lib/index.js +9 -9
- package/lib/typert.host.js +54 -22
- package/lib/typert.remote-client.js +12 -12
- package/lib/types/index.d.ts +5 -4
- package/lib/types/index.js +12 -8
- package/package.json +22 -22
package/README.i18n.yaml
CHANGED
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
en: d1a8777f171d22bb
|
|
31
31
|
zh: 7f6aa4c2680557b1
|
|
32
32
|
/deepseek-ai-dsh-cordis-host-runner/use-this-package/trust-stance:
|
|
33
|
-
en:
|
|
34
|
-
zh:
|
|
33
|
+
en: af859a1591c02386
|
|
34
|
+
zh: 46d3c82713fa9055
|
|
35
35
|
/deepseek-ai-dsh-cordis-host-runner/understand-the-implementation:
|
|
36
36
|
en: b0a536c0d00cbdb8
|
|
37
37
|
zh: 08e5d813aa6a612a
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
en: 40d63d9a75d233e6
|
|
46
46
|
zh: 96954bf346c6d9e6
|
|
47
47
|
/deepseek-ai-dsh-cordis-host-runner/further-exploration:
|
|
48
|
-
en:
|
|
49
|
-
zh:
|
|
48
|
+
en: 86c7f132478aa682
|
|
49
|
+
zh: 4c0729a12b8e5b66
|
|
50
50
|
/deepseek-ai-dsh-cordis-host-runner/model-experience:
|
|
51
51
|
en: 215e7ba838619b7b
|
|
52
52
|
zh: a311da3843709f90
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
en: 1f10688ae249a077
|
|
67
67
|
zh: ab2ff597e1769b81
|
|
68
68
|
/deepseek-ai-dsh-cordis-host-runner/known-limitations-and-deferred-work/dev-note:
|
|
69
|
-
en:
|
|
70
|
-
zh:
|
|
69
|
+
en: e67f633dc6fe7773
|
|
70
|
+
zh: 3bb0c20c93f16f98
|
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ Definitions are session-scoped and process-local: other sessions read them as ab
|
|
|
59
59
|
|
|
60
60
|
### Trust stance
|
|
61
61
|
|
|
62
|
-
The sandbox isolates globals but is not a security boundary: Node globals are absent or redirect to Cordis services (`ctx.fs`, `ctx.web`, `ctx.bash`, the timer helpers), and a host half receives a façade without framework internals, yet the services it declares reach the live runtime. Treat a dynamic package like bash access — see the [self-referential toolset
|
|
62
|
+
The sandbox isolates globals but is not a security boundary: Node globals are absent or redirect to Cordis services (`ctx.fs`, `ctx.web`, `ctx.bash`, the timer helpers), and a host half receives a façade without framework internals, yet the services it declares reach the live runtime. Treat a dynamic package like bash access — see the [self-referential toolset reference](README.md).
|
|
63
63
|
|
|
64
64
|
-----
|
|
65
65
|
|
|
@@ -105,7 +105,7 @@ Read these pages when the package-level contract is not enough. They move from t
|
|
|
105
105
|
- [UI package](../ui-cordis/README.md) — the panel users approve and operate runs with.
|
|
106
106
|
- [Generated configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-cordis-host-runner) — every accepted config field.
|
|
107
107
|
- [Extensions subsystem](../../../docs/subsystems/extensions.md) — the generated `ctx.cordisInspect` and `ctx.dynamicCordisRunner` API and `cordis/*` events.
|
|
108
|
-
- [Self-referential Cordis toolset Agent Note](../../../.agents/notes/
|
|
108
|
+
- [historical Self-referential Cordis toolset Agent Note](../../../.agents/notes/archived/feature/2026-07-08-self-referential-cordis-toolset.md) — sandbox semantics, lifecycle, and composition rationale.
|
|
109
109
|
|
|
110
110
|
-----
|
|
111
111
|
|
|
@@ -150,5 +150,3 @@ These limits define when the runner needs special care. They are current package
|
|
|
150
150
|
None.
|
|
151
151
|
|
|
152
152
|
</details>
|
|
153
|
-
|
|
154
|
-
**Runtime invariant:** No companion is published. The definition registry is process memory with no event stream to observe, and its one owned relation (a running definition owns a settled host-half fiber and its handler table) is established and unwound inside single awaited verbs, so package tests assert it directly.
|
package/README.zh.md
CHANGED
|
@@ -59,7 +59,7 @@ Client 查询在 `clientInspectTimeoutMs` 内接受首个有效页面响应。
|
|
|
59
59
|
|
|
60
60
|
### 信任立场
|
|
61
61
|
|
|
62
|
-
沙箱隔离全局变量,但不是安全边界:Node 全局变量不存在,或重定向到 Cordis 服务(`ctx.fs`、`ctx.web`、`ctx.bash` 与定时器 helper),host 半收到的是不含框架内部机制的 façade,但它声明的服务仍会触达存活运行时。对待动态包要像对待 bash 访问一样,参见[自引用工具集
|
|
62
|
+
沙箱隔离全局变量,但不是安全边界:Node 全局变量不存在,或重定向到 Cordis 服务(`ctx.fs`、`ctx.web`、`ctx.bash` 与定时器 helper),host 半收到的是不含框架内部机制的 façade,但它声明的服务仍会触达存活运行时。对待动态包要像对待 bash 访问一样,参见[自引用工具集 参考](README.zh.md)。
|
|
63
63
|
|
|
64
64
|
-----
|
|
65
65
|
|
|
@@ -105,7 +105,7 @@ runner 基于两项职责划分。**注册表与沙箱是同一个服务。** `D
|
|
|
105
105
|
- [UI 包](../ui-cordis/README.zh.md)——用户批准并操作运行的面板。
|
|
106
106
|
- [生成的配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-cordis-host-runner)——每个受支持配置字段。
|
|
107
107
|
- [extensions 子系统](../../../docs/subsystems/extensions.zh.md)——生成的 `ctx.cordisInspect` 与 `ctx.dynamicCordisRunner` API 及 `cordis/*` 事件。
|
|
108
|
-
- [
|
|
108
|
+
- [历史自引用 Cordis 工具集 Agent Note](../../../.agents/notes/archived/feature/2026-07-08-self-referential-cordis-toolset.md)——沙箱语义、生命周期与组合的理由。
|
|
109
109
|
|
|
110
110
|
-----
|
|
111
111
|
|
|
@@ -150,5 +150,3 @@ runner 基于两项职责划分。**注册表与沙箱是同一个服务。** `D
|
|
|
150
150
|
无。
|
|
151
151
|
|
|
152
152
|
</details>
|
|
153
|
-
|
|
154
|
-
**运行时不变式:** 不发布伴生入口。definition registry 位于进程内存中且没有可观察的事件流;它唯一负责的关系是运行中的 definition 拥有已结算的 host-half fiber 及其 handler table,该关系在单个等待完成的操作中建立和解除,因此由包测试直接断言。
|
package/lib/index.js
CHANGED
|
@@ -1372,7 +1372,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
|
|
|
1372
1372
|
* @param id - opaque identifier minted by the Host registry.
|
|
1373
1373
|
* @returns the branded Plugin identifier.
|
|
1374
1374
|
*/
|
|
1375
|
-
function
|
|
1375
|
+
function brandCordisDynamicPluginId(id) {
|
|
1376
1376
|
return id;
|
|
1377
1377
|
}
|
|
1378
1378
|
/**
|
|
@@ -1380,7 +1380,7 @@ function CordisDynamicPluginId(id) {
|
|
|
1380
1380
|
* @param id - opaque identifier minted by the Host registry.
|
|
1381
1381
|
* @returns the branded Package identifier.
|
|
1382
1382
|
*/
|
|
1383
|
-
function
|
|
1383
|
+
function brandCordisDynamicPackageId(id) {
|
|
1384
1384
|
return id;
|
|
1385
1385
|
}
|
|
1386
1386
|
/**
|
|
@@ -1388,7 +1388,7 @@ function CordisDynamicPackageId(id) {
|
|
|
1388
1388
|
* @param id - opaque identifier minted by the Host registry.
|
|
1389
1389
|
* @returns the branded Plugin Run identifier.
|
|
1390
1390
|
*/
|
|
1391
|
-
function
|
|
1391
|
+
function brandCordisDynamicPluginRunId(id) {
|
|
1392
1392
|
return id;
|
|
1393
1393
|
}
|
|
1394
1394
|
/**
|
|
@@ -1396,7 +1396,7 @@ function CordisDynamicPluginRunId(id) {
|
|
|
1396
1396
|
* @param id - opaque identifier minted by the Host registry.
|
|
1397
1397
|
* @returns the branded approval request identifier.
|
|
1398
1398
|
*/
|
|
1399
|
-
function
|
|
1399
|
+
function brandApprovalRequestId(id) {
|
|
1400
1400
|
return id;
|
|
1401
1401
|
}
|
|
1402
1402
|
/** Dynamic Plugin registry and Host-half lifecycle. */
|
|
@@ -1605,7 +1605,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
1605
1605
|
const prefix = request.plugin.idPrefix.trim();
|
|
1606
1606
|
if (!/^[a-z]{3,6}$/.test(prefix)) throw new Error("cordis_define `plugin.idPrefix` must contain 3–6 lowercase English letters");
|
|
1607
1607
|
plugin = {
|
|
1608
|
-
pluginId:
|
|
1608
|
+
pluginId: brandCordisDynamicPluginId(this.registry.mintPluginId(prefix)),
|
|
1609
1609
|
sessionId: request.sessionId,
|
|
1610
1610
|
packages: /* @__PURE__ */ new Map(),
|
|
1611
1611
|
approvedClientPackages: /* @__PURE__ */ new Set(),
|
|
@@ -1617,7 +1617,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
1617
1617
|
if (found === void 0 || found.sessionId !== request.sessionId) throw new Error(missingPluginMessage(request.plugin.pluginId));
|
|
1618
1618
|
plugin = found;
|
|
1619
1619
|
}
|
|
1620
|
-
const packageId =
|
|
1620
|
+
const packageId = brandCordisDynamicPackageId(this.registry.mintPackageId());
|
|
1621
1621
|
const definition = {
|
|
1622
1622
|
packageId,
|
|
1623
1623
|
name,
|
|
@@ -1703,7 +1703,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
1703
1703
|
reason: "host-half-failed"
|
|
1704
1704
|
};
|
|
1705
1705
|
}
|
|
1706
|
-
const requestId =
|
|
1706
|
+
const requestId = brandApprovalRequestId(this.registry.mintApprovalRequestId());
|
|
1707
1707
|
const requiresApproval = !plan.plugin.clientVersionUpdatesApproved && !plan.plugin.approvedClientPackages.has(packageId);
|
|
1708
1708
|
attempt.approvalRequestId = requestId;
|
|
1709
1709
|
attempt.requiresApproval = requiresApproval;
|
|
@@ -2474,7 +2474,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
2474
2474
|
}
|
|
2475
2475
|
createAttempt(plan) {
|
|
2476
2476
|
return {
|
|
2477
|
-
pluginRunId:
|
|
2477
|
+
pluginRunId: brandCordisDynamicPluginRunId(this.registry.mintPluginRunId()),
|
|
2478
2478
|
packageId: plan.definition.packageId,
|
|
2479
2479
|
mode: plan.mode,
|
|
2480
2480
|
status: "starting-host",
|
|
@@ -2569,4 +2569,4 @@ function cloneAttempt(attempt) {
|
|
|
2569
2569
|
};
|
|
2570
2570
|
}
|
|
2571
2571
|
//#endregion
|
|
2572
|
-
export { ApprovalRequestId, CordisDynamicPackageId, CordisDynamicPluginId, CordisDynamicPluginRunId, CordisInspectRegistryService, DynamicCordisRunnerService, DynamicCordisRunnerService as default };
|
|
2572
|
+
export { brandApprovalRequestId as ApprovalRequestId, brandCordisDynamicPackageId as CordisDynamicPackageId, brandCordisDynamicPluginId as CordisDynamicPluginId, brandCordisDynamicPluginRunId as CordisDynamicPluginRunId, CordisInspectRegistryService, DynamicCordisRunnerService, DynamicCordisRunnerService as default };
|
package/lib/typert.host.js
CHANGED
|
@@ -304,7 +304,7 @@ export const TYPERT = {
|
|
|
304
304
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisClientSource',
|
|
305
305
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_getClientCode_result$schema,
|
|
306
306
|
},
|
|
307
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
307
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":402,"column":3},
|
|
308
308
|
},
|
|
309
309
|
{
|
|
310
310
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/inventory',
|
|
@@ -319,7 +319,7 @@ export const TYPERT = {
|
|
|
319
319
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/inventory:result',
|
|
320
320
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_inventory_result$schema,
|
|
321
321
|
},
|
|
322
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
322
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":544,"column":3},
|
|
323
323
|
},
|
|
324
324
|
{
|
|
325
325
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/invoke',
|
|
@@ -374,7 +374,7 @@ export const TYPERT = {
|
|
|
374
374
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisInvokeResult',
|
|
375
375
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_invoke_result$schema,
|
|
376
376
|
},
|
|
377
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
377
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":760,"column":9},
|
|
378
378
|
},
|
|
379
379
|
{
|
|
380
380
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportClientGuardFailure',
|
|
@@ -434,7 +434,7 @@ export const TYPERT = {
|
|
|
434
434
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportClientGuardFailure:result',
|
|
435
435
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_reportClientGuardFailure_result$schema,
|
|
436
436
|
},
|
|
437
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
437
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":737,"column":9},
|
|
438
438
|
},
|
|
439
439
|
{
|
|
440
440
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportRenderFailure',
|
|
@@ -494,7 +494,7 @@ export const TYPERT = {
|
|
|
494
494
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportRenderFailure:result',
|
|
495
495
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_reportRenderFailure_result$schema,
|
|
496
496
|
},
|
|
497
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
497
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":703,"column":9},
|
|
498
498
|
},
|
|
499
499
|
{
|
|
500
500
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/resolveInspectQuery',
|
|
@@ -544,7 +544,7 @@ export const TYPERT = {
|
|
|
544
544
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#CordisInspectResolveAck',
|
|
545
545
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_resolveInspectQuery_result$schema,
|
|
546
546
|
},
|
|
547
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
547
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":530,"column":3},
|
|
548
548
|
},
|
|
549
549
|
{
|
|
550
550
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/resolveRequestRun',
|
|
@@ -579,7 +579,7 @@ export const TYPERT = {
|
|
|
579
579
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisResolveAck',
|
|
580
580
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_resolveRequestRun_result$schema,
|
|
581
581
|
},
|
|
582
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
582
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":431,"column":9},
|
|
583
583
|
},
|
|
584
584
|
{
|
|
585
585
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/runHostHalf',
|
|
@@ -659,7 +659,7 @@ export const TYPERT = {
|
|
|
659
659
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisHostHalfResult',
|
|
660
660
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_runHostHalf_result$schema,
|
|
661
661
|
},
|
|
662
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
662
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":343,"column":9},
|
|
663
663
|
},
|
|
664
664
|
{
|
|
665
665
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/settleUserRun',
|
|
@@ -709,7 +709,7 @@ export const TYPERT = {
|
|
|
709
709
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisRunResponse',
|
|
710
710
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_settleUserRun_result$schema,
|
|
711
711
|
},
|
|
712
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
712
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":456,"column":9},
|
|
713
713
|
},
|
|
714
714
|
{
|
|
715
715
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/stopFromPanel',
|
|
@@ -749,7 +749,7 @@ export const TYPERT = {
|
|
|
749
749
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisStopResponse',
|
|
750
750
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_stopFromPanel_result$schema,
|
|
751
751
|
},
|
|
752
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
752
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":498,"column":9},
|
|
753
753
|
},
|
|
754
754
|
{
|
|
755
755
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/syncInspectManifest',
|
|
@@ -774,7 +774,7 @@ export const TYPERT = {
|
|
|
774
774
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/syncInspectManifest:result',
|
|
775
775
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_syncInspectManifest_result$schema,
|
|
776
776
|
},
|
|
777
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
777
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":516,"column":3},
|
|
778
778
|
},
|
|
779
779
|
{
|
|
780
780
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/undefineFromPanel',
|
|
@@ -814,7 +814,7 @@ export const TYPERT = {
|
|
|
814
814
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisUndefineReceipt',
|
|
815
815
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_undefineFromPanel_result$schema,
|
|
816
816
|
},
|
|
817
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
817
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":245,"column":9},
|
|
818
818
|
},
|
|
819
819
|
],
|
|
820
820
|
model: {
|
|
@@ -1142,16 +1142,28 @@ export const TYPERT = {
|
|
|
1142
1142
|
},
|
|
1143
1143
|
{
|
|
1144
1144
|
"name": "LlmCallConfig",
|
|
1145
|
-
"declaration": "export interface LlmCallConfig {\n provider: string;\n model: string;\n
|
|
1145
|
+
"declaration": "export interface LlmCallConfig extends LlmCallControls {\n provider: string;\n model: string;\n}"
|
|
1146
1146
|
},
|
|
1147
1147
|
{
|
|
1148
1148
|
"name": "LlmCallConfigAdapterDefaults",
|
|
1149
1149
|
"declaration": "export interface LlmCallConfigAdapterDefaults {\n reasoningEffort?: true;\n maxTokens?: true;\n}"
|
|
1150
1150
|
},
|
|
1151
|
+
{
|
|
1152
|
+
"name": "LlmCallControls",
|
|
1153
|
+
"declaration": "export interface LlmCallControls {\n reasoningEffort?: ReasoningEffortId;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n}"
|
|
1154
|
+
},
|
|
1151
1155
|
{
|
|
1152
1156
|
"name": "LlmFailure",
|
|
1153
1157
|
"declaration": "export interface LlmFailure {\n readonly message: string;\n readonly code: string;\n readonly status?: number;\n readonly providerRetryAfterMs?: number;\n readonly requestId?: ProviderRequestId;\n readonly offloadImages?: number;\n}"
|
|
1154
1158
|
},
|
|
1159
|
+
{
|
|
1160
|
+
"name": "LlmRetryEventData",
|
|
1161
|
+
"declaration": "export type LlmRetryEventData = { retryId: RetryId; turn: number; step: number; provider: string; mode: 'normal'; policyKey: string; retry: number; maxRetries: number; delayMs: number; failure: LlmFailure; } | { retryId: RetryId; turn: number; step: number; provider: string; mode: 'always'; policyKey: string; retry: number; delayMs: number; failure: LlmFailure; };"
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"name": "LlmRetryStartedEventData",
|
|
1165
|
+
"declaration": "export interface LlmRetryStartedEventData {\n retryId: RetryId;\n turn: number;\n step: number;\n retry: number;\n}"
|
|
1166
|
+
},
|
|
1155
1167
|
{
|
|
1156
1168
|
"name": "Message",
|
|
1157
1169
|
"declaration": "export type Message = MessageRoleMap[keyof MessageRoleMap];"
|
|
@@ -1194,7 +1206,7 @@ export const TYPERT = {
|
|
|
1194
1206
|
},
|
|
1195
1207
|
{
|
|
1196
1208
|
"name": "MessageSourceMap",
|
|
1197
|
-
"declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n
|
|
1209
|
+
"declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'compact-checkpoint': CompactionCheckpointSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n}"
|
|
1198
1210
|
},
|
|
1199
1211
|
{
|
|
1200
1212
|
"name": "ModelMessageSource",
|
|
@@ -1222,7 +1234,7 @@ export const TYPERT = {
|
|
|
1222
1234
|
},
|
|
1223
1235
|
{
|
|
1224
1236
|
"name": "PtcDispatchEventData",
|
|
1225
|
-
"declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n error?: { name: string; code: string; reason?: string; };\n}"
|
|
1237
|
+
"declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n meta?: JsonValue;\n error?: { name: string; code: string; reason?: string; };\n}"
|
|
1226
1238
|
},
|
|
1227
1239
|
{
|
|
1228
1240
|
"name": "PtcDispatchStartEventData",
|
|
@@ -1248,6 +1260,10 @@ export const TYPERT = {
|
|
|
1248
1260
|
"name": "RequestHeaderReason",
|
|
1249
1261
|
"declaration": "export type RequestHeaderReason = 'initial' | 'resume' | 'change' | 'series';"
|
|
1250
1262
|
},
|
|
1263
|
+
{
|
|
1264
|
+
"name": "RetryId",
|
|
1265
|
+
"declaration": "export type RetryId = Branded<'RetryId'>;"
|
|
1266
|
+
},
|
|
1251
1267
|
{
|
|
1252
1268
|
"name": "SandboxMode",
|
|
1253
1269
|
"declaration": "export type SandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';"
|
|
@@ -1282,7 +1298,7 @@ export const TYPERT = {
|
|
|
1282
1298
|
},
|
|
1283
1299
|
{
|
|
1284
1300
|
"name": "SessionEventMap",
|
|
1285
|
-
"declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n '
|
|
1301
|
+
"declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\n}"
|
|
1286
1302
|
},
|
|
1287
1303
|
{
|
|
1288
1304
|
"name": "SessionEventType",
|
|
@@ -1342,7 +1358,7 @@ export const TYPERT = {
|
|
|
1342
1358
|
},
|
|
1343
1359
|
{
|
|
1344
1360
|
"name": "SubagentCatalogEvent",
|
|
1345
|
-
"declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })));"
|
|
1361
|
+
"declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })) | { readonly version: 2; readonly mode: 'external'; readonly label?: string; });"
|
|
1346
1362
|
},
|
|
1347
1363
|
{
|
|
1348
1364
|
"name": "SubagentDescriptorBase",
|
|
@@ -1973,16 +1989,28 @@ export const TYPERT = {
|
|
|
1973
1989
|
},
|
|
1974
1990
|
{
|
|
1975
1991
|
"name": "LlmCallConfig",
|
|
1976
|
-
"declaration": "export interface LlmCallConfig {\n provider: string;\n model: string;\n
|
|
1992
|
+
"declaration": "export interface LlmCallConfig extends LlmCallControls {\n provider: string;\n model: string;\n}"
|
|
1977
1993
|
},
|
|
1978
1994
|
{
|
|
1979
1995
|
"name": "LlmCallConfigAdapterDefaults",
|
|
1980
1996
|
"declaration": "export interface LlmCallConfigAdapterDefaults {\n reasoningEffort?: true;\n maxTokens?: true;\n}"
|
|
1981
1997
|
},
|
|
1998
|
+
{
|
|
1999
|
+
"name": "LlmCallControls",
|
|
2000
|
+
"declaration": "export interface LlmCallControls {\n reasoningEffort?: ReasoningEffortId;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n}"
|
|
2001
|
+
},
|
|
1982
2002
|
{
|
|
1983
2003
|
"name": "LlmFailure",
|
|
1984
2004
|
"declaration": "export interface LlmFailure {\n readonly message: string;\n readonly code: string;\n readonly status?: number;\n readonly providerRetryAfterMs?: number;\n readonly requestId?: ProviderRequestId;\n readonly offloadImages?: number;\n}"
|
|
1985
2005
|
},
|
|
2006
|
+
{
|
|
2007
|
+
"name": "LlmRetryEventData",
|
|
2008
|
+
"declaration": "export type LlmRetryEventData = { retryId: RetryId; turn: number; step: number; provider: string; mode: 'normal'; policyKey: string; retry: number; maxRetries: number; delayMs: number; failure: LlmFailure; } | { retryId: RetryId; turn: number; step: number; provider: string; mode: 'always'; policyKey: string; retry: number; delayMs: number; failure: LlmFailure; };"
|
|
2009
|
+
},
|
|
2010
|
+
{
|
|
2011
|
+
"name": "LlmRetryStartedEventData",
|
|
2012
|
+
"declaration": "export interface LlmRetryStartedEventData {\n retryId: RetryId;\n turn: number;\n step: number;\n retry: number;\n}"
|
|
2013
|
+
},
|
|
1986
2014
|
{
|
|
1987
2015
|
"name": "Message",
|
|
1988
2016
|
"declaration": "export type Message = MessageRoleMap[keyof MessageRoleMap];"
|
|
@@ -2025,7 +2053,7 @@ export const TYPERT = {
|
|
|
2025
2053
|
},
|
|
2026
2054
|
{
|
|
2027
2055
|
"name": "MessageSourceMap",
|
|
2028
|
-
"declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n
|
|
2056
|
+
"declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'compact-checkpoint': CompactionCheckpointSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n}"
|
|
2029
2057
|
},
|
|
2030
2058
|
{
|
|
2031
2059
|
"name": "ModelMessageSource",
|
|
@@ -2053,7 +2081,7 @@ export const TYPERT = {
|
|
|
2053
2081
|
},
|
|
2054
2082
|
{
|
|
2055
2083
|
"name": "PtcDispatchEventData",
|
|
2056
|
-
"declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n error?: { name: string; code: string; reason?: string; };\n}"
|
|
2084
|
+
"declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n meta?: JsonValue;\n error?: { name: string; code: string; reason?: string; };\n}"
|
|
2057
2085
|
},
|
|
2058
2086
|
{
|
|
2059
2087
|
"name": "PtcDispatchStartEventData",
|
|
@@ -2079,6 +2107,10 @@ export const TYPERT = {
|
|
|
2079
2107
|
"name": "RequestHeaderReason",
|
|
2080
2108
|
"declaration": "export type RequestHeaderReason = 'initial' | 'resume' | 'change' | 'series';"
|
|
2081
2109
|
},
|
|
2110
|
+
{
|
|
2111
|
+
"name": "RetryId",
|
|
2112
|
+
"declaration": "export type RetryId = Branded<'RetryId'>;"
|
|
2113
|
+
},
|
|
2082
2114
|
{
|
|
2083
2115
|
"name": "SandboxMode",
|
|
2084
2116
|
"declaration": "export type SandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';"
|
|
@@ -2113,7 +2145,7 @@ export const TYPERT = {
|
|
|
2113
2145
|
},
|
|
2114
2146
|
{
|
|
2115
2147
|
"name": "SessionEventMap",
|
|
2116
|
-
"declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n '
|
|
2148
|
+
"declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\n}"
|
|
2117
2149
|
},
|
|
2118
2150
|
{
|
|
2119
2151
|
"name": "SessionEventType",
|
|
@@ -2173,7 +2205,7 @@ export const TYPERT = {
|
|
|
2173
2205
|
},
|
|
2174
2206
|
{
|
|
2175
2207
|
"name": "SubagentCatalogEvent",
|
|
2176
|
-
"declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })));"
|
|
2208
|
+
"declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })) | { readonly version: 2; readonly mode: 'external'; readonly label?: string; });"
|
|
2177
2209
|
},
|
|
2178
2210
|
{
|
|
2179
2211
|
"name": "SubagentDescriptorBase",
|
|
@@ -301,7 +301,7 @@ export const TYPERT_REMOTE = {
|
|
|
301
301
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisClientSource',
|
|
302
302
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_getClientCode_result$schema,
|
|
303
303
|
},
|
|
304
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
304
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":402,"column":3},
|
|
305
305
|
},
|
|
306
306
|
{
|
|
307
307
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/inventory',
|
|
@@ -316,7 +316,7 @@ export const TYPERT_REMOTE = {
|
|
|
316
316
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/inventory:result',
|
|
317
317
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_inventory_result$schema,
|
|
318
318
|
},
|
|
319
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
319
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":544,"column":3},
|
|
320
320
|
},
|
|
321
321
|
{
|
|
322
322
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/invoke',
|
|
@@ -371,7 +371,7 @@ export const TYPERT_REMOTE = {
|
|
|
371
371
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisInvokeResult',
|
|
372
372
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_invoke_result$schema,
|
|
373
373
|
},
|
|
374
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
374
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":760,"column":9},
|
|
375
375
|
},
|
|
376
376
|
{
|
|
377
377
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportClientGuardFailure',
|
|
@@ -431,7 +431,7 @@ export const TYPERT_REMOTE = {
|
|
|
431
431
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportClientGuardFailure:result',
|
|
432
432
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_reportClientGuardFailure_result$schema,
|
|
433
433
|
},
|
|
434
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
434
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":737,"column":9},
|
|
435
435
|
},
|
|
436
436
|
{
|
|
437
437
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportRenderFailure',
|
|
@@ -491,7 +491,7 @@ export const TYPERT_REMOTE = {
|
|
|
491
491
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/reportRenderFailure:result',
|
|
492
492
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_reportRenderFailure_result$schema,
|
|
493
493
|
},
|
|
494
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
494
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":703,"column":9},
|
|
495
495
|
},
|
|
496
496
|
{
|
|
497
497
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/resolveInspectQuery',
|
|
@@ -541,7 +541,7 @@ export const TYPERT_REMOTE = {
|
|
|
541
541
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#CordisInspectResolveAck',
|
|
542
542
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_resolveInspectQuery_result$schema,
|
|
543
543
|
},
|
|
544
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
544
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":530,"column":3},
|
|
545
545
|
},
|
|
546
546
|
{
|
|
547
547
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/resolveRequestRun',
|
|
@@ -576,7 +576,7 @@ export const TYPERT_REMOTE = {
|
|
|
576
576
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisResolveAck',
|
|
577
577
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_resolveRequestRun_result$schema,
|
|
578
578
|
},
|
|
579
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
579
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":431,"column":9},
|
|
580
580
|
},
|
|
581
581
|
{
|
|
582
582
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/runHostHalf',
|
|
@@ -656,7 +656,7 @@ export const TYPERT_REMOTE = {
|
|
|
656
656
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisHostHalfResult',
|
|
657
657
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_runHostHalf_result$schema,
|
|
658
658
|
},
|
|
659
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
659
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":343,"column":9},
|
|
660
660
|
},
|
|
661
661
|
{
|
|
662
662
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/settleUserRun',
|
|
@@ -706,7 +706,7 @@ export const TYPERT_REMOTE = {
|
|
|
706
706
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisRunResponse',
|
|
707
707
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_settleUserRun_result$schema,
|
|
708
708
|
},
|
|
709
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
709
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":456,"column":9},
|
|
710
710
|
},
|
|
711
711
|
{
|
|
712
712
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/stopFromPanel',
|
|
@@ -746,7 +746,7 @@ export const TYPERT_REMOTE = {
|
|
|
746
746
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisStopResponse',
|
|
747
747
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_stopFromPanel_result$schema,
|
|
748
748
|
},
|
|
749
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
749
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":498,"column":9},
|
|
750
750
|
},
|
|
751
751
|
{
|
|
752
752
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/syncInspectManifest',
|
|
@@ -771,7 +771,7 @@ export const TYPERT_REMOTE = {
|
|
|
771
771
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/syncInspectManifest:result',
|
|
772
772
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_syncInspectManifest_result$schema,
|
|
773
773
|
},
|
|
774
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
774
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":516,"column":3},
|
|
775
775
|
},
|
|
776
776
|
{
|
|
777
777
|
id: '@deepseek-ai/dsh-cordis-host-runner#dynamicCordisRunner/undefineFromPanel',
|
|
@@ -811,7 +811,7 @@ export const TYPERT_REMOTE = {
|
|
|
811
811
|
typeSymbol: '@deepseek-ai/dsh-cordis-host-runner/types#DynamicCordisUndefineReceipt',
|
|
812
812
|
create: _deepseek_ai_dsh_cordis_host_runner_dynamicCordisRunner_undefineFromPanel_result$schema,
|
|
813
813
|
},
|
|
814
|
-
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":
|
|
814
|
+
sourceLocation: {"file":"packages/extensions/cordis-host-runner/src/index.ts","line":245,"column":9},
|
|
815
815
|
},
|
|
816
816
|
],
|
|
817
817
|
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -27,25 +27,26 @@ export type { HostCordisInspectProviderRegistration } from './inspect-registry.t
|
|
|
27
27
|
* @param id - opaque identifier minted by the Host registry.
|
|
28
28
|
* @returns the branded Plugin identifier.
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
declare function brandCordisDynamicPluginId(id: string): CordisDynamicPluginId;
|
|
31
31
|
/**
|
|
32
32
|
* Brand a Host-minted Package ID.
|
|
33
33
|
* @param id - opaque identifier minted by the Host registry.
|
|
34
34
|
* @returns the branded Package identifier.
|
|
35
35
|
*/
|
|
36
|
-
|
|
36
|
+
declare function brandCordisDynamicPackageId(id: string): CordisDynamicPackageId;
|
|
37
37
|
/**
|
|
38
38
|
* Brand a Host-minted Plugin Run ID.
|
|
39
39
|
* @param id - opaque identifier minted by the Host registry.
|
|
40
40
|
* @returns the branded Plugin Run identifier.
|
|
41
41
|
*/
|
|
42
|
-
|
|
42
|
+
declare function brandCordisDynamicPluginRunId(id: string): CordisDynamicPluginRunId;
|
|
43
43
|
/**
|
|
44
44
|
* Brand a Host-minted approval request ID.
|
|
45
45
|
* @param id - opaque identifier minted by the Host registry.
|
|
46
46
|
* @returns the branded approval request identifier.
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
declare function brandApprovalRequestId(id: string): ApprovalRequestId;
|
|
49
|
+
export { brandApprovalRequestId as ApprovalRequestId, brandCordisDynamicPackageId as CordisDynamicPackageId, brandCordisDynamicPluginId as CordisDynamicPluginId, brandCordisDynamicPluginRunId as CordisDynamicPluginRunId, };
|
|
49
50
|
declare module '@deepseek-ai/cordis' {
|
|
50
51
|
interface Context {
|
|
51
52
|
/** Process-local dynamic Plugin registry and lifecycle service. */
|
package/lib/types/index.js
CHANGED
|
@@ -51,7 +51,7 @@ export { CordisInspectRegistryService } from "./inspect-registry.js";
|
|
|
51
51
|
* @param id - opaque identifier minted by the Host registry.
|
|
52
52
|
* @returns the branded Plugin identifier.
|
|
53
53
|
*/
|
|
54
|
-
|
|
54
|
+
function brandCordisDynamicPluginId(id) {
|
|
55
55
|
return id;
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
@@ -59,7 +59,7 @@ export function CordisDynamicPluginId(id) {
|
|
|
59
59
|
* @param id - opaque identifier minted by the Host registry.
|
|
60
60
|
* @returns the branded Package identifier.
|
|
61
61
|
*/
|
|
62
|
-
|
|
62
|
+
function brandCordisDynamicPackageId(id) {
|
|
63
63
|
return id;
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
@@ -67,7 +67,7 @@ export function CordisDynamicPackageId(id) {
|
|
|
67
67
|
* @param id - opaque identifier minted by the Host registry.
|
|
68
68
|
* @returns the branded Plugin Run identifier.
|
|
69
69
|
*/
|
|
70
|
-
|
|
70
|
+
function brandCordisDynamicPluginRunId(id) {
|
|
71
71
|
return id;
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
@@ -75,9 +75,13 @@ export function CordisDynamicPluginRunId(id) {
|
|
|
75
75
|
* @param id - opaque identifier minted by the Host registry.
|
|
76
76
|
* @returns the branded approval request identifier.
|
|
77
77
|
*/
|
|
78
|
-
|
|
78
|
+
function brandApprovalRequestId(id) {
|
|
79
79
|
return id;
|
|
80
80
|
}
|
|
81
|
+
// The public names are exported separately: a local declaration sharing a name
|
|
82
|
+
// with a type-only import is ambiguous for checkers that bind the import in
|
|
83
|
+
// value position.
|
|
84
|
+
export { brandApprovalRequestId as ApprovalRequestId, brandCordisDynamicPackageId as CordisDynamicPackageId, brandCordisDynamicPluginId as CordisDynamicPluginId, brandCordisDynamicPluginRunId as CordisDynamicPluginRunId, };
|
|
81
85
|
/** Dynamic Plugin registry and Host-half lifecycle. */
|
|
82
86
|
let DynamicCordisRunnerService = (() => {
|
|
83
87
|
let _classSuper = TypertRemoteService;
|
|
@@ -166,7 +170,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
166
170
|
if (!/^[a-z]{3,6}$/.test(prefix)) {
|
|
167
171
|
throw new Error('cordis_define `plugin.idPrefix` must contain 3–6 lowercase English letters');
|
|
168
172
|
}
|
|
169
|
-
const pluginId =
|
|
173
|
+
const pluginId = brandCordisDynamicPluginId(this.registry.mintPluginId(prefix));
|
|
170
174
|
plugin = {
|
|
171
175
|
pluginId,
|
|
172
176
|
sessionId: request.sessionId,
|
|
@@ -183,7 +187,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
183
187
|
}
|
|
184
188
|
plugin = found;
|
|
185
189
|
}
|
|
186
|
-
const packageId =
|
|
190
|
+
const packageId = brandCordisDynamicPackageId(this.registry.mintPackageId());
|
|
187
191
|
const definition = {
|
|
188
192
|
packageId,
|
|
189
193
|
name,
|
|
@@ -265,7 +269,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
265
269
|
this.failAttempt(plan.plugin, attempt, 'host-load', started);
|
|
266
270
|
return { ...started, reason: 'host-half-failed' };
|
|
267
271
|
}
|
|
268
|
-
const requestId =
|
|
272
|
+
const requestId = brandApprovalRequestId(this.registry.mintApprovalRequestId());
|
|
269
273
|
const requiresApproval = !plan.plugin.clientVersionUpdatesApproved
|
|
270
274
|
&& !plan.plugin.approvedClientPackages.has(packageId);
|
|
271
275
|
attempt.approvalRequestId = requestId;
|
|
@@ -1060,7 +1064,7 @@ let DynamicCordisRunnerService = (() => {
|
|
|
1060
1064
|
}
|
|
1061
1065
|
createAttempt(plan) {
|
|
1062
1066
|
return {
|
|
1063
|
-
pluginRunId:
|
|
1067
|
+
pluginRunId: brandCordisDynamicPluginRunId(this.registry.mintPluginRunId()),
|
|
1064
1068
|
packageId: plan.definition.packageId,
|
|
1065
1069
|
mode: plan.mode,
|
|
1066
1070
|
status: 'starting-host',
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-cordis-host-runner",
|
|
3
3
|
"description": "Dynamic package definition registry, host-half sandbox lifecycle, and invoke handler table for model-mounted dual-half packages",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.1-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -44,30 +44,30 @@
|
|
|
44
44
|
],
|
|
45
45
|
"license": "MIT",
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"
|
|
48
|
-
"@deepseek-ai/
|
|
49
|
-
"
|
|
47
|
+
"@deepseek-ai/dsh-util-values": "0.2.1-alpha.2",
|
|
48
|
+
"@deepseek-ai/schemastery": "~3.18.5-alpha.1",
|
|
49
|
+
"zod": "^4.4.3"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
53
|
-
"@deepseek-ai/dsh-agent": "0.2.
|
|
54
|
-
"@deepseek-ai/dsh-brand": "0.2.
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-
|
|
57
|
-
"@deepseek-ai/dsh-
|
|
58
|
-
"@deepseek-ai/dsh-tools": "0.2.
|
|
59
|
-
"@deepseek-ai/dsh-typert-protocol": "0.2.
|
|
52
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
53
|
+
"@deepseek-ai/dsh-agent": "0.2.1-alpha.2",
|
|
54
|
+
"@deepseek-ai/dsh-brand": "0.2.1-alpha.2",
|
|
55
|
+
"@deepseek-ai/dsh-llm": "0.2.1-alpha.2",
|
|
56
|
+
"@deepseek-ai/dsh-scope": "0.2.1-alpha.2",
|
|
57
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.2",
|
|
58
|
+
"@deepseek-ai/dsh-tools": "0.2.1-alpha.2",
|
|
59
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.1-alpha.2"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
63
|
-
"@deepseek-ai/cordis-plugin-timer": "~1.1.
|
|
64
|
-
"@deepseek-ai/dsh-agent": "0.2.
|
|
65
|
-
"@deepseek-ai/dsh-api-gateway": "0.2.
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-
|
|
68
|
-
"@deepseek-ai/dsh-
|
|
69
|
-
"@deepseek-ai/dsh-
|
|
70
|
-
"@deepseek-ai/dsh-
|
|
71
|
-
"@deepseek-ai/dsh-
|
|
62
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
63
|
+
"@deepseek-ai/cordis-plugin-timer": "~1.1.7-alpha.1",
|
|
64
|
+
"@deepseek-ai/dsh-agent": "0.2.1-alpha.2",
|
|
65
|
+
"@deepseek-ai/dsh-api-gateway": "0.2.1-alpha.2",
|
|
66
|
+
"@deepseek-ai/dsh-brand": "0.2.1-alpha.2",
|
|
67
|
+
"@deepseek-ai/dsh-llm": "0.2.1-alpha.2",
|
|
68
|
+
"@deepseek-ai/dsh-scope": "0.2.1-alpha.2",
|
|
69
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.2",
|
|
70
|
+
"@deepseek-ai/dsh-tools": "0.2.1-alpha.2",
|
|
71
|
+
"@deepseek-ai/dsh-typert-protocol": "0.2.1-alpha.2"
|
|
72
72
|
}
|
|
73
73
|
}
|