@crazx/dsh-api-session-controller 0.1.5-alpha.1.zw.3 → 0.1.5-rc.1.zw.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.
@@ -133,6 +133,19 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = z.
133
133
  'reasoningEffort': z.string().readonly().optional(),
134
134
  })]).readonly(),
135
135
  }).optional(),
136
+ 'subagentCatalog': z.array(z.union([z.intersection(z.object({
137
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
138
+ 'createdAt': z.number().readonly(),
139
+ }), z.object({
140
+ 'mode': z.literal("one-shot").readonly(),
141
+ 'label': z.string().readonly().optional(),
142
+ })), z.intersection(z.object({
143
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
144
+ 'createdAt': z.number().readonly(),
145
+ }), z.object({
146
+ 'mode': z.literal("continuable").readonly(),
147
+ 'label': z.string().readonly(),
148
+ }))])).optional(),
136
149
  'subagentTiming': z.object({
137
150
  'settledMs': z.number(),
138
151
  'active': z.object({
@@ -298,6 +311,19 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
298
311
  'reasoningEffort': z.string().readonly().optional(),
299
312
  })]).readonly(),
300
313
  }).optional(),
314
+ 'subagentCatalog': z.array(z.union([z.intersection(z.object({
315
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
316
+ 'createdAt': z.number().readonly(),
317
+ }), z.object({
318
+ 'mode': z.literal("one-shot").readonly(),
319
+ 'label': z.string().readonly().optional(),
320
+ })), z.intersection(z.object({
321
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
322
+ 'createdAt': z.number().readonly(),
323
+ }), z.object({
324
+ 'mode': z.literal("continuable").readonly(),
325
+ 'label': z.string().readonly(),
326
+ }))])).optional(),
301
327
  'subagentTiming': z.object({
302
328
  'settledMs': z.number(),
303
329
  'active': z.object({
@@ -429,6 +455,19 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = z.obj
429
455
  'reasoningEffort': z.string().readonly().optional(),
430
456
  })]).readonly(),
431
457
  }).optional(),
458
+ 'subagentCatalog': z.array(z.union([z.intersection(z.object({
459
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
460
+ 'createdAt': z.number().readonly(),
461
+ }), z.object({
462
+ 'mode': z.literal("one-shot").readonly(),
463
+ 'label': z.string().readonly().optional(),
464
+ })), z.intersection(z.object({
465
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
466
+ 'createdAt': z.number().readonly(),
467
+ }), z.object({
468
+ 'mode': z.literal("continuable").readonly(),
469
+ 'label': z.string().readonly(),
470
+ }))])).optional(),
432
471
  'subagentTiming': z.object({
433
472
  'settledMs': z.number(),
434
473
  'active': z.object({
@@ -496,6 +535,7 @@ const _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema
496
535
  })).readonly(),
497
536
  })
498
537
  const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema = z.object({
538
+ 'action': z.literal("reveal").readonly().optional(),
499
539
  'path': z.string().readonly(),
500
540
  })
501
541
  const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema = z.object({
@@ -716,7 +756,7 @@ export const TYPERT = {
716
756
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionAttachmentValue',
717
757
  schema: _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema,
718
758
  },
719
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":342,"column":3},
759
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":357,"column":3},
720
760
  },
721
761
  {
722
762
  id: '@deepseek-ai/dsh-api-session-controller#session/cancel',
@@ -741,7 +781,7 @@ export const TYPERT = {
741
781
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCancelValue',
742
782
  schema: _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema,
743
783
  },
744
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":362,"column":3},
784
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":377,"column":3},
745
785
  },
746
786
  {
747
787
  id: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath',
@@ -756,7 +796,7 @@ export const TYPERT = {
756
796
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath:result',
757
797
  schema: _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema,
758
798
  },
759
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":267,"column":3},
799
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":272,"column":3},
760
800
  },
761
801
  {
762
802
  id: '@deepseek-ai/dsh-api-session-controller#session/control',
@@ -773,7 +813,7 @@ export const TYPERT = {
773
813
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionControlFrame',
774
814
  schema: _deepseek_ai_dsh_api_session_controller_session_control_result$schema,
775
815
  },
776
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":395,"column":3},
816
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":410,"column":3},
777
817
  },
778
818
  {
779
819
  id: '@deepseek-ai/dsh-api-session-controller#session/create',
@@ -798,7 +838,7 @@ export const TYPERT = {
798
838
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCreateValue',
799
839
  schema: _deepseek_ai_dsh_api_session_controller_session_create_result$schema,
800
840
  },
801
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":239,"column":3},
841
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":244,"column":3},
802
842
  },
803
843
  {
804
844
  id: '@deepseek-ai/dsh-api-session-controller#session/follow',
@@ -825,7 +865,7 @@ export const TYPERT = {
825
865
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionFollowFrame',
826
866
  schema: _deepseek_ai_dsh_api_session_controller_session_follow_result$schema,
827
867
  },
828
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":385,"column":3},
868
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":400,"column":3},
829
869
  },
830
870
  {
831
871
  id: '@deepseek-ai/dsh-api-session-controller#session/fork',
@@ -850,7 +890,7 @@ export const TYPERT = {
850
890
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionForkValue',
851
891
  schema: _deepseek_ai_dsh_api_session_controller_session_fork_result$schema,
852
892
  },
853
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":320,"column":3},
893
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":335,"column":3},
854
894
  },
855
895
  {
856
896
  id: '@deepseek-ai/dsh-api-session-controller#session/list',
@@ -876,7 +916,7 @@ export const TYPERT = {
876
916
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionListValue',
877
917
  schema: _deepseek_ai_dsh_api_session_controller_session_list_result$schema,
878
918
  },
879
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":218,"column":9},
919
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":223,"column":9},
880
920
  },
881
921
  {
882
922
  id: '@deepseek-ai/dsh-api-session-controller#session/modelCatalog',
@@ -891,7 +931,7 @@ export const TYPERT = {
891
931
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#ModelCatalog',
892
932
  schema: _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema,
893
933
  },
894
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":258,"column":3},
934
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":263,"column":3},
895
935
  },
896
936
  {
897
937
  id: '@deepseek-ai/dsh-api-session-controller#session/openWorkspacePath',
@@ -917,7 +957,7 @@ export const TYPERT = {
917
957
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionOpenWorkspacePathValue',
918
958
  schema: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema,
919
959
  },
920
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":279,"column":9},
960
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":293,"column":9},
921
961
  },
922
962
  {
923
963
  id: '@deepseek-ai/dsh-api-session-controller#session/page',
@@ -943,7 +983,7 @@ export const TYPERT = {
943
983
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPage',
944
984
  schema: _deepseek_ai_dsh_api_session_controller_session_page_result$schema,
945
985
  },
946
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":373,"column":3},
986
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":388,"column":3},
947
987
  },
948
988
  {
949
989
  id: '@deepseek-ai/dsh-api-session-controller#session/prompt',
@@ -969,7 +1009,7 @@ export const TYPERT = {
969
1009
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPromptValue',
970
1010
  schema: _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema,
971
1011
  },
972
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":331,"column":3},
1012
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":346,"column":3},
973
1013
  },
974
1014
  {
975
1015
  id: '@deepseek-ai/dsh-api-session-controller#session/rename',
@@ -994,7 +1034,7 @@ export const TYPERT = {
994
1034
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionRenameValue',
995
1035
  schema: _deepseek_ai_dsh_api_session_controller_session_rename_result$schema,
996
1036
  },
997
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":310,"column":3},
1037
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":325,"column":3},
998
1038
  },
999
1039
  {
1000
1040
  id: '@deepseek-ai/dsh-api-session-controller#session/search',
@@ -1020,7 +1060,7 @@ export const TYPERT = {
1020
1060
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSearchValue',
1021
1061
  schema: _deepseek_ai_dsh_api_session_controller_session_search_result$schema,
1022
1062
  },
1023
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":229,"column":3},
1063
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":234,"column":3},
1024
1064
  },
1025
1065
  {
1026
1066
  id: '@deepseek-ai/dsh-api-session-controller#session/selectModel',
@@ -1045,7 +1085,7 @@ export const TYPERT = {
1045
1085
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSelectModelValue',
1046
1086
  schema: _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema,
1047
1087
  },
1048
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":249,"column":3},
1088
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":254,"column":3},
1049
1089
  },
1050
1090
  {
1051
1091
  id: '@deepseek-ai/dsh-api-session-controller#session/updateQueue',
@@ -1070,7 +1110,7 @@ export const TYPERT = {
1070
1110
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionUpdateQueueValue',
1071
1111
  schema: _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema,
1072
1112
  },
1073
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":352,"column":3},
1113
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":367,"column":3},
1074
1114
  },
1075
1115
  {
1076
1116
  id: '@deepseek-ai/dsh-api-session-controller#skills/list',
@@ -1165,6 +1205,13 @@ export const TYPERT = {
1165
1205
  "summary": "Report whether this deployment can hand a Session workspace path to a native desktop.",
1166
1206
  "jsDoc": "/**\n * Report whether this deployment can hand a Session workspace path to a native desktop.\n * @returns true when the matching open operation is available.\n */"
1167
1207
  },
1208
+ {
1209
+ "kind": "method",
1210
+ "name": "workspaceDesktop",
1211
+ "signature": "workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' | 'explorer' | 'directory' | null }",
1212
+ "summary": "Describe the serving desktop for authenticated file-action routes.",
1213
+ "jsDoc": "/**\n * Describe the serving desktop for authenticated file-action routes.\n * @returns Host name, configured availability, and platform-specific file-manager behavior.\n */"
1214
+ },
1168
1215
  {
1169
1216
  "kind": "method",
1170
1217
  "name": "openWorkspacePath",
@@ -1349,6 +1396,14 @@ export const TYPERT = {
1349
1396
  "name": "EpochHeader",
1350
1397
  "declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n tools?: ToolSchema[];\n}"
1351
1398
  },
1399
+ {
1400
+ "name": "FeedbackCategory",
1401
+ "declaration": "export type FeedbackCategory = 'task-result' | 'instruction-following' | 'product-interaction' | 'service-stability' | 'resource-cost' | 'security-privacy-permission' | 'other';"
1402
+ },
1403
+ {
1404
+ "name": "FeedbackRecord",
1405
+ "declaration": "export interface FeedbackRecord {\n readonly text?: string;\n readonly category?: FeedbackCategory;\n}"
1406
+ },
1352
1407
  {
1353
1408
  "name": "FileAttachmentRef",
1354
1409
  "declaration": "export interface FileAttachmentRef {\n attachmentId: AttachmentId;\n name: string;\n bytes: number;\n}"
@@ -1471,7 +1526,7 @@ export const TYPERT = {
1471
1526
  },
1472
1527
  {
1473
1528
  "name": "MessageFeedbackItem",
1474
- "declaration": "export interface MessageFeedbackItem {\n readonly messageId: MessageId;\n readonly rating: MessageFeedbackRating;\n readonly note?: string;\n readonly version: MessageFeedbackVersion;\n readonly createdAt: number;\n readonly updatedAt: number;\n}"
1529
+ "declaration": "export interface MessageFeedbackItem {\n readonly messageId: MessageId;\n readonly rating: MessageFeedbackRating;\n readonly note?: string;\n readonly category?: FeedbackCategory;\n readonly version: MessageFeedbackVersion;\n readonly createdAt: number;\n readonly updatedAt: number;\n}"
1475
1530
  },
1476
1531
  {
1477
1532
  "name": "MessageFeedbackPut",
@@ -1659,7 +1714,7 @@ export const TYPERT = {
1659
1714
  },
1660
1715
  {
1661
1716
  "name": "SessionEventMap",
1662
- "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 '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; }; 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 '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 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\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}"
1717
+ "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 '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; }; 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 '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 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\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}"
1663
1718
  },
1664
1719
  {
1665
1720
  "name": "SessionEventType",
@@ -1719,7 +1774,7 @@ export const TYPERT = {
1719
1774
  },
1720
1775
  {
1721
1776
  "name": "SessionOpenWorkspacePathRequest",
1722
- "declaration": "export interface SessionOpenWorkspacePathRequest {\n readonly path: string;\n}"
1777
+ "declaration": "export interface SessionOpenWorkspacePathRequest {\n readonly action?: 'reveal';\n readonly path: string;\n}"
1723
1778
  },
1724
1779
  {
1725
1780
  "name": "SessionOpenWorkspacePathValue",
@@ -1743,7 +1798,7 @@ export const TYPERT = {
1743
1798
  },
1744
1799
  {
1745
1800
  "name": "SessionProjectionMap",
1746
- "declaration": "export interface SessionProjectionMap {\n inbox: InboxWireState;\n agentPreset: string | null;\n title: string | null;\n todos: TodoItem[] | null;\n sessionListMetadata: SessionListMetadata;\n imageLimits: ImageAttachmentLimits;\n modelSelection: ModelSelectionProjection;\n subagentTiming: SubagentTimingProjection;\n subagent: SubagentIdentityProjection | null;\n goal: GoalProjection | null;\n}"
1801
+ "declaration": "export interface SessionProjectionMap {\n inbox: InboxWireState;\n agentPreset: string | null;\n title: string | null;\n todos: TodoItem[] | null;\n sessionListMetadata: SessionListMetadata;\n imageLimits: ImageAttachmentLimits;\n modelSelection: ModelSelectionProjection;\n subagentCatalog: SubagentCatalogEntry[];\n subagentTiming: SubagentTimingProjection;\n subagent: SubagentIdentityProjection | null;\n goal: GoalProjection | null;\n}"
1747
1802
  },
1748
1803
  {
1749
1804
  "name": "SessionProjectionUpdate",
@@ -1865,6 +1920,14 @@ export const TYPERT = {
1865
1920
  "name": "StreamChunk",
1866
1921
  "declaration": "export type StreamChunk = { type: 'block-start'; index: number; blockType: ContentBlockType; } | { type: 'text-delta'; index: number; text: string; } | { type: 'reasoning-delta'; index: number; text: string; } | { type: 'tool-call-delta'; index: number; id: ToolCallId; name?: string; argumentsDelta: string; } | { type: 'block-end'; index: number; block: ContentBlock; } | { type: 'usage'; usage: TokenUsage; } | { type: 'finish'; reason: FinishReason; replayState?: ReplayEnvelope; };"
1867
1922
  },
1923
+ {
1924
+ "name": "SubagentCatalogEntry",
1925
+ "declaration": "export type SubagentCatalogEntry = { readonly id: SessionId; readonly createdAt: number; } & ({ readonly mode: 'one-shot'; readonly label?: string; } | { readonly mode: 'continuable'; readonly label: string; });"
1926
+ },
1927
+ {
1928
+ "name": "SubagentCatalogEvent",
1929
+ "declaration": "export type SubagentCatalogEvent = { readonly version: 0; readonly childId: SessionId; readonly childCreatedAt: number; } & ({ readonly mode: 'one-shot'; readonly label?: string; } | { readonly mode: 'continuable'; readonly label: string; });"
1930
+ },
1868
1931
  {
1869
1932
  "name": "SubagentDescriptorBase",
1870
1933
  "declaration": "export interface SubagentDescriptorBase {\n readonly version: number;\n readonly mode: 'one-shot' | 'continuable';\n readonly provider: string;\n}"
@@ -2124,6 +2187,14 @@ export const TYPERT = {
2124
2187
  "name": "EpochHeader",
2125
2188
  "declaration": "export interface EpochHeader {\n config: LlmCallConfig;\n adapterDefaults?: LlmCallConfigAdapterDefaults;\n tools?: ToolSchema[];\n}"
2126
2189
  },
2190
+ {
2191
+ "name": "FeedbackCategory",
2192
+ "declaration": "export type FeedbackCategory = 'task-result' | 'instruction-following' | 'product-interaction' | 'service-stability' | 'resource-cost' | 'security-privacy-permission' | 'other';"
2193
+ },
2194
+ {
2195
+ "name": "FeedbackRecord",
2196
+ "declaration": "export interface FeedbackRecord {\n readonly text?: string;\n readonly category?: FeedbackCategory;\n}"
2197
+ },
2127
2198
  {
2128
2199
  "name": "FileAttachmentRef",
2129
2200
  "declaration": "export interface FileAttachmentRef {\n attachmentId: AttachmentId;\n name: string;\n bytes: number;\n}"
@@ -2230,7 +2301,7 @@ export const TYPERT = {
2230
2301
  },
2231
2302
  {
2232
2303
  "name": "MessageFeedbackItem",
2233
- "declaration": "export interface MessageFeedbackItem {\n readonly messageId: MessageId;\n readonly rating: MessageFeedbackRating;\n readonly note?: string;\n readonly version: MessageFeedbackVersion;\n readonly createdAt: number;\n readonly updatedAt: number;\n}"
2304
+ "declaration": "export interface MessageFeedbackItem {\n readonly messageId: MessageId;\n readonly rating: MessageFeedbackRating;\n readonly note?: string;\n readonly category?: FeedbackCategory;\n readonly version: MessageFeedbackVersion;\n readonly createdAt: number;\n readonly updatedAt: number;\n}"
2234
2305
  },
2235
2306
  {
2236
2307
  "name": "MessageFeedbackPut",
@@ -2318,7 +2389,7 @@ export const TYPERT = {
2318
2389
  },
2319
2390
  {
2320
2391
  "name": "SessionEventMap",
2321
- "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 '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; }; 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 '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 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\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}"
2392
+ "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 '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; }; 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 '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 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\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}"
2322
2393
  },
2323
2394
  {
2324
2395
  "name": "SessionEventType",
@@ -2376,6 +2447,10 @@ export const TYPERT = {
2376
2447
  "name": "StreamChunk",
2377
2448
  "declaration": "export type StreamChunk = { type: 'block-start'; index: number; blockType: ContentBlockType; } | { type: 'text-delta'; index: number; text: string; } | { type: 'reasoning-delta'; index: number; text: string; } | { type: 'tool-call-delta'; index: number; id: ToolCallId; name?: string; argumentsDelta: string; } | { type: 'block-end'; index: number; block: ContentBlock; } | { type: 'usage'; usage: TokenUsage; } | { type: 'finish'; reason: FinishReason; replayState?: ReplayEnvelope; };"
2378
2449
  },
2450
+ {
2451
+ "name": "SubagentCatalogEvent",
2452
+ "declaration": "export type SubagentCatalogEvent = { readonly version: 0; readonly childId: SessionId; readonly childCreatedAt: number; } & ({ readonly mode: 'one-shot'; readonly label?: string; } | { readonly mode: 'continuable'; readonly label: string; });"
2453
+ },
2379
2454
  {
2380
2455
  "name": "SubagentDescriptorBase",
2381
2456
  "declaration": "export interface SubagentDescriptorBase {\n readonly version: number;\n readonly mode: 'one-shot' | 'continuable';\n readonly provider: string;\n}"
@@ -133,6 +133,19 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = z.
133
133
  'reasoningEffort': z.string().readonly().optional(),
134
134
  })]).readonly(),
135
135
  }).optional(),
136
+ 'subagentCatalog': z.array(z.union([z.intersection(z.object({
137
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
138
+ 'createdAt': z.number().readonly(),
139
+ }), z.object({
140
+ 'mode': z.literal("one-shot").readonly(),
141
+ 'label': z.string().readonly().optional(),
142
+ })), z.intersection(z.object({
143
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
144
+ 'createdAt': z.number().readonly(),
145
+ }), z.object({
146
+ 'mode': z.literal("continuable").readonly(),
147
+ 'label': z.string().readonly(),
148
+ }))])).optional(),
136
149
  'subagentTiming': z.object({
137
150
  'settledMs': z.number(),
138
151
  'active': z.object({
@@ -298,6 +311,19 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
298
311
  'reasoningEffort': z.string().readonly().optional(),
299
312
  })]).readonly(),
300
313
  }).optional(),
314
+ 'subagentCatalog': z.array(z.union([z.intersection(z.object({
315
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
316
+ 'createdAt': z.number().readonly(),
317
+ }), z.object({
318
+ 'mode': z.literal("one-shot").readonly(),
319
+ 'label': z.string().readonly().optional(),
320
+ })), z.intersection(z.object({
321
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
322
+ 'createdAt': z.number().readonly(),
323
+ }), z.object({
324
+ 'mode': z.literal("continuable").readonly(),
325
+ 'label': z.string().readonly(),
326
+ }))])).optional(),
301
327
  'subagentTiming': z.object({
302
328
  'settledMs': z.number(),
303
329
  'active': z.object({
@@ -429,6 +455,19 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = z.obj
429
455
  'reasoningEffort': z.string().readonly().optional(),
430
456
  })]).readonly(),
431
457
  }).optional(),
458
+ 'subagentCatalog': z.array(z.union([z.intersection(z.object({
459
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
460
+ 'createdAt': z.number().readonly(),
461
+ }), z.object({
462
+ 'mode': z.literal("one-shot").readonly(),
463
+ 'label': z.string().readonly().optional(),
464
+ })), z.intersection(z.object({
465
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
466
+ 'createdAt': z.number().readonly(),
467
+ }), z.object({
468
+ 'mode': z.literal("continuable").readonly(),
469
+ 'label': z.string().readonly(),
470
+ }))])).optional(),
432
471
  'subagentTiming': z.object({
433
472
  'settledMs': z.number(),
434
473
  'active': z.object({
@@ -496,6 +535,7 @@ const _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema
496
535
  })).readonly(),
497
536
  })
498
537
  const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema = z.object({
538
+ 'action': z.literal("reveal").readonly().optional(),
499
539
  'path': z.string().readonly(),
500
540
  })
501
541
  const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema = z.object({
@@ -713,7 +753,7 @@ export const TYPERT_REMOTE = {
713
753
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionAttachmentValue',
714
754
  schema: _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema,
715
755
  },
716
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":342,"column":3},
756
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":357,"column":3},
717
757
  },
718
758
  {
719
759
  id: '@deepseek-ai/dsh-api-session-controller#session/cancel',
@@ -738,7 +778,7 @@ export const TYPERT_REMOTE = {
738
778
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCancelValue',
739
779
  schema: _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema,
740
780
  },
741
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":362,"column":3},
781
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":377,"column":3},
742
782
  },
743
783
  {
744
784
  id: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath',
@@ -753,7 +793,7 @@ export const TYPERT_REMOTE = {
753
793
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath:result',
754
794
  schema: _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema,
755
795
  },
756
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":267,"column":3},
796
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":272,"column":3},
757
797
  },
758
798
  {
759
799
  id: '@deepseek-ai/dsh-api-session-controller#session/control',
@@ -770,7 +810,7 @@ export const TYPERT_REMOTE = {
770
810
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionControlFrame',
771
811
  schema: _deepseek_ai_dsh_api_session_controller_session_control_result$schema,
772
812
  },
773
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":395,"column":3},
813
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":410,"column":3},
774
814
  },
775
815
  {
776
816
  id: '@deepseek-ai/dsh-api-session-controller#session/create',
@@ -795,7 +835,7 @@ export const TYPERT_REMOTE = {
795
835
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCreateValue',
796
836
  schema: _deepseek_ai_dsh_api_session_controller_session_create_result$schema,
797
837
  },
798
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":239,"column":3},
838
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":244,"column":3},
799
839
  },
800
840
  {
801
841
  id: '@deepseek-ai/dsh-api-session-controller#session/follow',
@@ -822,7 +862,7 @@ export const TYPERT_REMOTE = {
822
862
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionFollowFrame',
823
863
  schema: _deepseek_ai_dsh_api_session_controller_session_follow_result$schema,
824
864
  },
825
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":385,"column":3},
865
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":400,"column":3},
826
866
  },
827
867
  {
828
868
  id: '@deepseek-ai/dsh-api-session-controller#session/fork',
@@ -847,7 +887,7 @@ export const TYPERT_REMOTE = {
847
887
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionForkValue',
848
888
  schema: _deepseek_ai_dsh_api_session_controller_session_fork_result$schema,
849
889
  },
850
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":320,"column":3},
890
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":335,"column":3},
851
891
  },
852
892
  {
853
893
  id: '@deepseek-ai/dsh-api-session-controller#session/list',
@@ -873,7 +913,7 @@ export const TYPERT_REMOTE = {
873
913
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionListValue',
874
914
  schema: _deepseek_ai_dsh_api_session_controller_session_list_result$schema,
875
915
  },
876
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":218,"column":9},
916
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":223,"column":9},
877
917
  },
878
918
  {
879
919
  id: '@deepseek-ai/dsh-api-session-controller#session/modelCatalog',
@@ -888,7 +928,7 @@ export const TYPERT_REMOTE = {
888
928
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#ModelCatalog',
889
929
  schema: _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema,
890
930
  },
891
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":258,"column":3},
931
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":263,"column":3},
892
932
  },
893
933
  {
894
934
  id: '@deepseek-ai/dsh-api-session-controller#session/openWorkspacePath',
@@ -914,7 +954,7 @@ export const TYPERT_REMOTE = {
914
954
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionOpenWorkspacePathValue',
915
955
  schema: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema,
916
956
  },
917
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":279,"column":9},
957
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":293,"column":9},
918
958
  },
919
959
  {
920
960
  id: '@deepseek-ai/dsh-api-session-controller#session/page',
@@ -940,7 +980,7 @@ export const TYPERT_REMOTE = {
940
980
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPage',
941
981
  schema: _deepseek_ai_dsh_api_session_controller_session_page_result$schema,
942
982
  },
943
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":373,"column":3},
983
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":388,"column":3},
944
984
  },
945
985
  {
946
986
  id: '@deepseek-ai/dsh-api-session-controller#session/prompt',
@@ -966,7 +1006,7 @@ export const TYPERT_REMOTE = {
966
1006
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPromptValue',
967
1007
  schema: _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema,
968
1008
  },
969
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":331,"column":3},
1009
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":346,"column":3},
970
1010
  },
971
1011
  {
972
1012
  id: '@deepseek-ai/dsh-api-session-controller#session/rename',
@@ -991,7 +1031,7 @@ export const TYPERT_REMOTE = {
991
1031
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionRenameValue',
992
1032
  schema: _deepseek_ai_dsh_api_session_controller_session_rename_result$schema,
993
1033
  },
994
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":310,"column":3},
1034
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":325,"column":3},
995
1035
  },
996
1036
  {
997
1037
  id: '@deepseek-ai/dsh-api-session-controller#session/search',
@@ -1017,7 +1057,7 @@ export const TYPERT_REMOTE = {
1017
1057
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSearchValue',
1018
1058
  schema: _deepseek_ai_dsh_api_session_controller_session_search_result$schema,
1019
1059
  },
1020
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":229,"column":3},
1060
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":234,"column":3},
1021
1061
  },
1022
1062
  {
1023
1063
  id: '@deepseek-ai/dsh-api-session-controller#session/selectModel',
@@ -1042,7 +1082,7 @@ export const TYPERT_REMOTE = {
1042
1082
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSelectModelValue',
1043
1083
  schema: _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema,
1044
1084
  },
1045
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":249,"column":3},
1085
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":254,"column":3},
1046
1086
  },
1047
1087
  {
1048
1088
  id: '@deepseek-ai/dsh-api-session-controller#session/updateQueue',
@@ -1067,7 +1107,7 @@ export const TYPERT_REMOTE = {
1067
1107
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionUpdateQueueValue',
1068
1108
  schema: _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema,
1069
1109
  },
1070
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":352,"column":3},
1110
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":367,"column":3},
1071
1111
  },
1072
1112
  {
1073
1113
  id: '@deepseek-ai/dsh-api-session-controller#skills/list',
@@ -65,18 +65,6 @@ export interface ISessions {
65
65
  refreshSubagents(parentSessionId: SessionId): Promise<void>;
66
66
  /** Clear the current selection into the no-session view state. */
67
67
  clear(): void;
68
- /** Whether the transient selection history has an older entry to go back to. */
69
- canBack(): boolean;
70
- /** Whether the transient selection history has a newer entry to go forward to. */
71
- canForward(): boolean;
72
- /**
73
- * Select the previous history entry (bounded, consecutive repeats
74
- * collapsed, forward truncated by a fresh selection, removed sessions
75
- * pruned). The cleared no-session state participates as an entry.
76
- */
77
- back(): void;
78
- /** Select the next history entry after a back navigation. */
79
- forward(): void;
80
68
  /**
81
69
  * Refresh the Host-authoritative Session list.
82
70
  * @returns completion of the current or newly started Session-list refresh.
@@ -84,10 +84,6 @@ export declare class SessionManager {
84
84
  */
85
85
  private readonly jobsBySession;
86
86
  private selected;
87
- /** Toolbar back/forward history over selections (session, addressed child, or clear). */
88
- private readonly selectionHistory;
89
- /** While replaying a history entry, the selections it makes must not re-record. */
90
- private navigatingHistory;
91
87
  private listSnapshotCache;
92
88
  /** Entry-identity cache (reference stability): list rebuilds reuse the previous entry
93
89
  * object when every field matches — wire refreshes mint all-new summary objects, so identity
@@ -112,25 +108,6 @@ export declare class SessionManager {
112
108
  selectSubagent(address: SubagentAddress): void;
113
109
  /** Clear the selection (the layout falls to the no-session view state). */
114
110
  clearSelection(): void;
115
- /** Whether an older selection exists to go back to. */
116
- canBack(): boolean;
117
- /** Whether a newer selection exists to go forward to. */
118
- canForward(): boolean;
119
- /**
120
- * Select the previous history entry. Unreachable entries (sessions removed
121
- * before their prune landed) are pruned and the walk continues to older
122
- * entries; the walk stops silently at the oldest bound.
123
- */
124
- back(): void;
125
- /**
126
- * Select the next history entry after a back navigation; silently a
127
- * no-op at the newest bound.
128
- */
129
- forward(): void;
130
- /** Whether a history entry names a session that is still listed or addressed. */
131
- private canReplay;
132
- /** Replay one entry without recording it back into the history. */
133
- private replaySelection;
134
111
  /**
135
112
  * Return the durable catalog address retained for one child.
136
113
  * @param sessionId - possible addressed child id.