@deepseek-ai/dsh-api-session-controller 0.1.7-rc.2 → 0.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.i18n.yaml CHANGED
@@ -6,8 +6,8 @@
6
6
  en: 82789442228fc62a
7
7
  zh: f1d511ad838187de
8
8
  /session-controller:
9
- en: fb78499ee63f41b9
10
- zh: 6fff916b1fa26314
9
+ en: c7a4c58ea6d3437b
10
+ zh: 45c2b472a074bb1b
11
11
  /session-controller/summary:
12
12
  en: 4914824c347fdab5
13
13
  zh: 684a7b7fa970c39f
package/README.md CHANGED
@@ -6,6 +6,8 @@ kind: "package-reference"
6
6
 
7
7
  English | [中文](README.zh.md)
8
8
 
9
+ Desktop analytics follows the [product collection policy](../../client/product-analytics/README.md), including its launch-time switch. Web usage is excluded.
10
+
9
11
  ## Summary
10
12
 
11
13
  `@deepseek-ai/dsh-api-session-controller` owns the Host `ctx.sessionController` service and the generated Client `session`, `skills`, and `fileReferences` Remote namespaces. It serves Session lifecycle and history, the Host-generation model catalog, human background-job kill, workspace-path opening, user-invocable skill discovery, and Agent-scoped file references. Use it through API Gateway when a Client needs operations addressed by a Session.
package/README.zh.md CHANGED
@@ -6,6 +6,8 @@ kind: "package-reference"
6
6
 
7
7
  [English](README.md) | 中文
8
8
 
9
+ 桌面埋点遵循[产品采集策略](../../client/product-analytics/README.zh.md)及其启动时开关,不包含 Web 使用情况。
10
+
9
11
  ## 概述
10
12
 
11
13
  `@deepseek-ai/dsh-api-session-controller` 拥有 Host 的 `ctx.sessionController` 服务,以及生成的 Client `session`、`skills` 和 `fileReferences` Remote namespace。它提供 Session 生命周期与历史、Host generation 模型目录、人工后台任务终止、工作区路径打开、用户可调用 skill(技能)发现和 Agent(智能体)范围的文件引用。当 Client 需要按 Session 寻址的操作时,请通过 API Gateway 使用它。
package/lib/client.js CHANGED
@@ -591,12 +591,12 @@ window.__ModuleLoader__.load({
591
591
  const rendered = JSON.stringify(value) ?? String(value);
592
592
  throw new Error(`unreachable variant${context ? ` in ${context}` : ""}: ${rendered}`);
593
593
  }
594
- /** Whether a realm-owned intrinsic prototype is backed by its native constructor. */
594
+ /** Whether a realm-owned intrinsic prototype has a native constructor matching this engine's representation. */
595
595
  function hasIntrinsicConstructor(prototype, name) {
596
596
  const constructor = Object.getOwnPropertyDescriptor(prototype, "constructor")?.value;
597
597
  if (typeof constructor !== "function") return false;
598
598
  try {
599
- return constructor.name === name && constructor.prototype === prototype && Function.prototype.toString.call(constructor) === `function ${name}() { [native code] }`;
599
+ return constructor.name === name && constructor.prototype === prototype && Function.prototype.toString.call(constructor) === Function.prototype.toString.call(name === "Array" ? Array : Object);
600
600
  } catch {
601
601
  return false;
602
602
  }
@@ -3349,6 +3349,7 @@ window.__ModuleLoader__.load({
3349
3349
  if (!result.ok) throw new SessionForkError(result.error, opts.sessionId);
3350
3350
  this.projectList();
3351
3351
  const childId = result.value.sessionId;
3352
+ opts.onCreated?.(childId);
3352
3353
  if (sourceTitle !== void 0) {
3353
3354
  const renamed = await this.manager.rename(childId, increasedForkTitle(sourceTitle));
3354
3355
  if (!renamed.ok) throw new Error(`fork child rename failed: ${renamed.error.code}: ${renamed.error.message}`);
@@ -1990,7 +1990,7 @@ export const TYPERT = {
1990
1990
  },
1991
1991
  {
1992
1992
  "name": "SessionEventMap",
1993
- "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 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\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}"
1993
+ "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 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\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 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\n}"
1994
1994
  },
1995
1995
  {
1996
1996
  "name": "SessionEventType",
@@ -2725,7 +2725,7 @@ export const TYPERT = {
2725
2725
  },
2726
2726
  {
2727
2727
  "name": "SessionEventMap",
2728
- "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 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\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}"
2728
+ "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 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\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 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\n}"
2729
2729
  },
2730
2730
  {
2731
2731
  "name": "SessionEventType",
@@ -117,7 +117,7 @@ export interface ISessions {
117
117
  * seq (a real event seq the caller already knows; a cut inside an open
118
118
  * turn is balanced Host-side with synthetic closers, and omission selects
119
119
  * the latest completed-turn prefix), and whether to increment an
120
- * inherited durable title before resolving.
120
+ * inherited durable title before resolving. `onCreated` observes the catalogued child before that optional rename.
121
121
  * @returns the child session id.
122
122
  * @throws when the fork fails, or when a requested child-title rename fails after creation.
123
123
  */
@@ -125,6 +125,7 @@ export interface ISessions {
125
125
  sessionId: SessionId;
126
126
  atSeq?: number;
127
127
  increaseTitle?: boolean;
128
+ onCreated?: (childId: SessionId) => void;
128
129
  }): Promise<SessionId>;
129
130
  /**
130
131
  * Borrow an already-retained Agent-scoped Context without extending its lifetime.
@@ -198,6 +198,7 @@ export declare class ClientSessions implements ISessions {
198
198
  sessionId: SessionId;
199
199
  atSeq?: number;
200
200
  increaseTitle?: boolean;
201
+ onCreated?: (childId: SessionId) => void;
201
202
  }): Promise<SessionId>;
202
203
  /**
203
204
  * Borrow an already-retained Agent-scoped Context.
@@ -348,6 +348,7 @@ export class ClientSessions {
348
348
  throw new SessionForkError(result.error, opts.sessionId);
349
349
  this.projectList();
350
350
  const childId = result.value.sessionId;
351
+ opts.onCreated?.(childId);
351
352
  if (sourceTitle !== undefined) {
352
353
  const renamed = await this.manager.rename(childId, increasedForkTitle(sourceTitle));
353
354
  if (!renamed.ok)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-api-session-controller",
3
3
  "description": "Session Remote commands, cold reads, and live control transport",
4
- "version": "0.1.7-rc.2",
4
+ "version": "0.2.0-rc.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -67,41 +67,41 @@
67
67
  "dependencies": {
68
68
  "mime-types": "^3.0.2",
69
69
  "zod": "^4.4.3",
70
- "@deepseek-ai/dsh-deque": "0.1.7-rc.2",
71
- "@deepseek-ai/dsh-brand": "0.1.7-rc.2",
72
- "@deepseek-ai/schemastery": "~3.18.4"
70
+ "@deepseek-ai/dsh-brand": "0.2.0-rc.1",
71
+ "@deepseek-ai/schemastery": "~3.18.4",
72
+ "@deepseek-ai/dsh-deque": "0.2.0-rc.1"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "@deepseek-ai/cordis": "~4.0.4",
76
- "@deepseek-ai/dsh-agent-default-model": "0.1.7-rc.2",
77
- "@deepseek-ai/dsh-agent-preset-registry": "0.1.7-rc.2",
78
- "@deepseek-ai/dsh-api-gateway": "0.1.7-rc.2",
79
- "@deepseek-ai/dsh-attachment": "0.1.7-rc.2",
80
- "@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
81
- "@deepseek-ai/dsh-client-file-upload": "0.1.7-rc.2",
82
- "@deepseek-ai/dsh-commands": "0.1.7-rc.2",
83
- "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
84
- "@deepseek-ai/dsh-credentials": "0.1.7-rc.2",
85
- "@deepseek-ai/dsh-file-reference": "0.1.7-rc.2",
86
- "@deepseek-ai/dsh-fs": "0.1.7-rc.2",
87
- "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
88
- "@deepseek-ai/dsh-native-command": "0.1.7-rc.2",
89
- "@deepseek-ai/dsh-session": "0.1.7-rc.2",
90
- "@deepseek-ai/dsh-session-persistence": "0.1.7-rc.2",
91
- "@deepseek-ai/dsh-session-projection": "0.1.7-rc.2",
92
- "@deepseek-ai/dsh-session-projection-cache": "0.1.7-rc.2",
93
- "@deepseek-ai/dsh-scope": "0.1.7-rc.2",
94
- "@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
95
- "@deepseek-ai/dsh-session-title": "0.1.7-rc.2",
96
- "@deepseek-ai/dsh-settings": "0.1.7-rc.2",
97
- "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.2",
98
- "@deepseek-ai/dsh-typert-registry": "0.1.7-rc.2",
99
- "@deepseek-ai/dsh-util-values": "0.1.7-rc.2",
100
- "@deepseek-ai/dsh-util-workspace-path": "0.1.7-rc.2",
101
- "@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
102
- "@deepseek-ai/dsh-skill": "0.1.7-rc.2",
103
- "@deepseek-ai/dsh-util-time": "0.1.7-rc.2",
104
- "@deepseek-ai/dsh-workspace": "0.1.7-rc.2"
76
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.1",
77
+ "@deepseek-ai/dsh-api-gateway": "0.2.0-rc.1",
78
+ "@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
79
+ "@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
80
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.1",
81
+ "@deepseek-ai/dsh-client-file-upload": "0.2.0-rc.1",
82
+ "@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.1",
83
+ "@deepseek-ai/dsh-credentials": "0.2.0-rc.1",
84
+ "@deepseek-ai/dsh-file-reference": "0.2.0-rc.1",
85
+ "@deepseek-ai/dsh-fs": "0.2.0-rc.1",
86
+ "@deepseek-ai/dsh-scope": "0.2.0-rc.1",
87
+ "@deepseek-ai/dsh-session": "0.2.0-rc.1",
88
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.1",
89
+ "@deepseek-ai/dsh-session-persistence": "0.2.0-rc.1",
90
+ "@deepseek-ai/dsh-session-projection-cache": "0.2.0-rc.1",
91
+ "@deepseek-ai/dsh-session-query": "0.2.0-rc.1",
92
+ "@deepseek-ai/dsh-settings": "0.2.0-rc.1",
93
+ "@deepseek-ai/dsh-skill": "0.2.0-rc.1",
94
+ "@deepseek-ai/dsh-session-projection": "0.2.0-rc.1",
95
+ "@deepseek-ai/dsh-session-title": "0.2.0-rc.1",
96
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.1",
97
+ "@deepseek-ai/dsh-typert-registry": "0.2.0-rc.1",
98
+ "@deepseek-ai/dsh-util-time": "0.2.0-rc.1",
99
+ "@deepseek-ai/dsh-util-values": "0.2.0-rc.1",
100
+ "@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.1",
101
+ "@deepseek-ai/dsh-native-command": "0.2.0-rc.1",
102
+ "@deepseek-ai/dsh-workspace": "0.2.0-rc.1",
103
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.1",
104
+ "@deepseek-ai/dsh-subagent": "0.2.0-rc.1"
105
105
  },
106
106
  "peerDependenciesMeta": {
107
107
  "@deepseek-ai/dsh-session-persistence": {
@@ -117,46 +117,46 @@
117
117
  "devDependencies": {
118
118
  "@types/mime-types": "^3.0.1",
119
119
  "@deepseek-ai/cordis": "~4.0.4",
120
- "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
121
- "@deepseek-ai/dsh-agent-default-model": "0.1.7-rc.2",
122
- "@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-rc.2",
123
- "@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
124
- "@deepseek-ai/dsh-agent-preset-registry": "0.1.7-rc.2",
125
- "@deepseek-ai/dsh-api-gateway": "0.1.7-rc.2",
126
- "@deepseek-ai/dsh-attachment": "0.1.7-rc.2",
127
- "@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
128
- "@deepseek-ai/dsh-client-file-upload": "0.1.7-rc.2",
129
- "@deepseek-ai/dsh-client-store": "0.1.7-rc.2",
130
- "@deepseek-ai/dsh-client-test-runtime": "0.1.7-rc.2",
131
- "@deepseek-ai/dsh-commands": "0.1.7-rc.2",
132
- "@deepseek-ai/dsh-credentials": "0.1.7-rc.2",
133
- "@deepseek-ai/dsh-file-reference": "0.1.7-rc.2",
134
- "@deepseek-ai/dsh-fs": "0.1.7-rc.2",
135
- "@deepseek-ai/dsh-fs-local": "0.1.7-rc.2",
136
- "@deepseek-ai/dsh-permission-presets": "0.1.7-rc.2",
137
- "@deepseek-ai/dsh-remote-mock": "0.1.7-rc.2",
138
- "@deepseek-ai/dsh-scope": "0.1.7-rc.2",
139
- "@deepseek-ai/dsh-session": "0.1.7-rc.2",
140
- "@deepseek-ai/dsh-session-persistence": "0.1.7-rc.2",
141
- "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
142
- "@deepseek-ai/dsh-native-command": "0.1.7-rc.2",
143
- "@deepseek-ai/dsh-session-projection-cache": "0.1.7-rc.2",
144
- "@deepseek-ai/dsh-session-projection": "0.1.7-rc.2",
145
- "@deepseek-ai/dsh-session-title": "0.1.7-rc.2",
146
- "@deepseek-ai/dsh-settings": "0.1.7-rc.2",
147
- "@deepseek-ai/dsh-session-query": "0.1.7-rc.2",
148
- "@deepseek-ai/dsh-skill": "0.1.7-rc.2",
149
- "@deepseek-ai/dsh-storage-json": "0.1.7-rc.2",
150
- "@deepseek-ai/dsh-subagent": "0.1.7-rc.2",
151
- "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.2",
152
- "@deepseek-ai/dsh-typert-registry": "0.1.7-rc.2",
153
- "@deepseek-ai/dsh-storage-domain": "0.1.7-rc.2",
154
- "@deepseek-ai/dsh-storage": "0.1.7-rc.2",
155
- "@deepseek-ai/dsh-util-crypto": "0.1.7-rc.2",
156
- "@deepseek-ai/dsh-util-time": "0.1.7-rc.2",
157
- "@deepseek-ai/dsh-util-values": "0.1.7-rc.2",
158
- "@deepseek-ai/dsh-util-workspace-path": "0.1.7-rc.2",
159
- "@deepseek-ai/dsh-workspace": "0.1.7-rc.2"
120
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.1",
121
+ "@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.1",
122
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.2.0-rc.1",
123
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.1",
124
+ "@deepseek-ai/dsh-api-gateway": "0.2.0-rc.1",
125
+ "@deepseek-ai/dsh-client-connection": "0.2.0-rc.1",
126
+ "@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
127
+ "@deepseek-ai/dsh-client-store": "0.2.0-rc.1",
128
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.1",
129
+ "@deepseek-ai/dsh-client-test-runtime": "0.2.0-rc.1",
130
+ "@deepseek-ai/dsh-client-file-upload": "0.2.0-rc.1",
131
+ "@deepseek-ai/dsh-credentials": "0.2.0-rc.1",
132
+ "@deepseek-ai/dsh-file-reference": "0.2.0-rc.1",
133
+ "@deepseek-ai/dsh-fs": "0.2.0-rc.1",
134
+ "@deepseek-ai/dsh-fs-local": "0.2.0-rc.1",
135
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.1",
136
+ "@deepseek-ai/dsh-native-command": "0.2.0-rc.1",
137
+ "@deepseek-ai/dsh-permission-presets": "0.2.0-rc.1",
138
+ "@deepseek-ai/dsh-session": "0.2.0-rc.1",
139
+ "@deepseek-ai/dsh-session-persistence": "0.2.0-rc.1",
140
+ "@deepseek-ai/dsh-session-projection": "0.2.0-rc.1",
141
+ "@deepseek-ai/dsh-session-projection-cache": "0.2.0-rc.1",
142
+ "@deepseek-ai/dsh-session-query": "0.2.0-rc.1",
143
+ "@deepseek-ai/dsh-scope": "0.2.0-rc.1",
144
+ "@deepseek-ai/dsh-remote-mock": "0.2.0-rc.1",
145
+ "@deepseek-ai/dsh-session-title": "0.2.0-rc.1",
146
+ "@deepseek-ai/dsh-settings": "0.2.0-rc.1",
147
+ "@deepseek-ai/dsh-storage": "0.2.0-rc.1",
148
+ "@deepseek-ai/dsh-storage-domain": "0.2.0-rc.1",
149
+ "@deepseek-ai/dsh-storage-json": "0.2.0-rc.1",
150
+ "@deepseek-ai/dsh-subagent": "0.2.0-rc.1",
151
+ "@deepseek-ai/dsh-agent-loop": "0.2.0-rc.1",
152
+ "@deepseek-ai/dsh-typert-registry": "0.2.0-rc.1",
153
+ "@deepseek-ai/dsh-util-crypto": "0.2.0-rc.1",
154
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.1",
155
+ "@deepseek-ai/dsh-util-time": "0.2.0-rc.1",
156
+ "@deepseek-ai/dsh-util-values": "0.2.0-rc.1",
157
+ "@deepseek-ai/dsh-workspace": "0.2.0-rc.1",
158
+ "@deepseek-ai/dsh-skill": "0.2.0-rc.1",
159
+ "@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.1"
160
160
  },
161
161
  "scripts": {
162
162
  "bundle": "tsdown",