@deepseek-ai/dsh-api-session-controller 0.2.0-rc.2 → 0.2.1-alpha.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.
@@ -131,22 +131,22 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = ()
131
131
  'label': z.string(),
132
132
  'seq': z.intersection(z.number(), z.unknown()),
133
133
  })]).optional(),
134
- 'goal': z.union([z.literal(null), z.object({
135
- 'goal': z.object({
136
- 'objective': z.string().readonly(),
137
- 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
138
- 'blockedReason': z.object({
139
- 'code': z.string().readonly(),
140
- 'message': z.string().readonly(),
141
- }).readonly().optional(),
142
- 'maxGoalRounds': z.number().readonly(),
143
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
144
- 'revision': z.number().readonly(),
145
- }).readonly(),
146
- 'roundsStarted': z.number().readonly(),
147
- 'createdAt': z.number().readonly(),
148
- 'updatedAt': z.number().readonly(),
149
- })]).optional(),
134
+ 'tokenUsage': z.object({
135
+ 'uncachedInputTokens': z.number(),
136
+ 'outputTokens': z.number(),
137
+ 'cacheReadTokens': z.number(),
138
+ 'cacheWriteTokens': z.number(),
139
+ }).optional(),
140
+ 'contextPressure': z.object({
141
+ 'pressureTokens': z.number().optional(),
142
+ 'projectedTokens': z.number().optional(),
143
+ 'contextWindow': z.number().optional(),
144
+ }).optional(),
145
+ 'contextBreakdown': z.object({
146
+ 'systemTokens': z.number(),
147
+ 'toolsTokens': z.number(),
148
+ 'messageTokens': z.number(),
149
+ }).optional(),
150
150
  'userQuestions': z.object({
151
151
  'active': z.array(z.object({
152
152
  'callId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -177,6 +177,22 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = ()
177
177
  })).readonly(),
178
178
  })).readonly(),
179
179
  }).optional(),
180
+ 'goal': z.union([z.literal(null), z.object({
181
+ 'goal': z.object({
182
+ 'objective': z.string().readonly(),
183
+ 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
184
+ 'blockedReason': z.object({
185
+ 'code': z.string().readonly(),
186
+ 'message': z.string().readonly(),
187
+ }).readonly().optional(),
188
+ 'maxGoalRounds': z.number().readonly(),
189
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
190
+ 'revision': z.number().readonly(),
191
+ }).readonly(),
192
+ 'roundsStarted': z.number().readonly(),
193
+ 'createdAt': z.number().readonly(),
194
+ 'updatedAt': z.number().readonly(),
195
+ })]).optional(),
180
196
  }), z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema5())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema5()))])).readonly()).readonly(),
181
197
  })).readonly().readonly(),
182
198
  }).readonly(),
@@ -333,22 +349,22 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = ()
333
349
  'label': z.string(),
334
350
  'seq': z.intersection(z.number(), z.unknown()),
335
351
  })]).optional(),
336
- 'goal': z.union([z.literal(null), z.object({
337
- 'goal': z.object({
338
- 'objective': z.string().readonly(),
339
- 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
340
- 'blockedReason': z.object({
341
- 'code': z.string().readonly(),
342
- 'message': z.string().readonly(),
343
- }).readonly().optional(),
344
- 'maxGoalRounds': z.number().readonly(),
345
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
346
- 'revision': z.number().readonly(),
347
- }).readonly(),
348
- 'roundsStarted': z.number().readonly(),
349
- 'createdAt': z.number().readonly(),
350
- 'updatedAt': z.number().readonly(),
351
- })]).optional(),
352
+ 'tokenUsage': z.object({
353
+ 'uncachedInputTokens': z.number(),
354
+ 'outputTokens': z.number(),
355
+ 'cacheReadTokens': z.number(),
356
+ 'cacheWriteTokens': z.number(),
357
+ }).optional(),
358
+ 'contextPressure': z.object({
359
+ 'pressureTokens': z.number().optional(),
360
+ 'projectedTokens': z.number().optional(),
361
+ 'contextWindow': z.number().optional(),
362
+ }).optional(),
363
+ 'contextBreakdown': z.object({
364
+ 'systemTokens': z.number(),
365
+ 'toolsTokens': z.number(),
366
+ 'messageTokens': z.number(),
367
+ }).optional(),
352
368
  'userQuestions': z.object({
353
369
  'active': z.array(z.object({
354
370
  'callId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -379,6 +395,22 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = ()
379
395
  })).readonly(),
380
396
  })).readonly(),
381
397
  }).optional(),
398
+ 'goal': z.union([z.literal(null), z.object({
399
+ 'goal': z.object({
400
+ 'objective': z.string().readonly(),
401
+ 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
402
+ 'blockedReason': z.object({
403
+ 'code': z.string().readonly(),
404
+ 'message': z.string().readonly(),
405
+ }).readonly().optional(),
406
+ 'maxGoalRounds': z.number().readonly(),
407
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
408
+ 'revision': z.number().readonly(),
409
+ }).readonly(),
410
+ 'roundsStarted': z.number().readonly(),
411
+ 'createdAt': z.number().readonly(),
412
+ 'updatedAt': z.number().readonly(),
413
+ })]).optional(),
382
414
  }), z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema3())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema3()))])).readonly()).readonly(),
383
415
  }).readonly(),
384
416
  'assistantStream': z.object({
@@ -525,22 +557,22 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = () =>
525
557
  'label': z.string(),
526
558
  'seq': z.intersection(z.number(), z.unknown()),
527
559
  })]).optional(),
528
- 'goal': z.union([z.literal(null), z.object({
529
- 'goal': z.object({
530
- 'objective': z.string().readonly(),
531
- 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
532
- 'blockedReason': z.object({
533
- 'code': z.string().readonly(),
534
- 'message': z.string().readonly(),
535
- }).readonly().optional(),
536
- 'maxGoalRounds': z.number().readonly(),
537
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
538
- 'revision': z.number().readonly(),
539
- }).readonly(),
540
- 'roundsStarted': z.number().readonly(),
541
- 'createdAt': z.number().readonly(),
542
- 'updatedAt': z.number().readonly(),
543
- })]).optional(),
560
+ 'tokenUsage': z.object({
561
+ 'uncachedInputTokens': z.number(),
562
+ 'outputTokens': z.number(),
563
+ 'cacheReadTokens': z.number(),
564
+ 'cacheWriteTokens': z.number(),
565
+ }).optional(),
566
+ 'contextPressure': z.object({
567
+ 'pressureTokens': z.number().optional(),
568
+ 'projectedTokens': z.number().optional(),
569
+ 'contextWindow': z.number().optional(),
570
+ }).optional(),
571
+ 'contextBreakdown': z.object({
572
+ 'systemTokens': z.number(),
573
+ 'toolsTokens': z.number(),
574
+ 'messageTokens': z.number(),
575
+ }).optional(),
544
576
  'userQuestions': z.object({
545
577
  'active': z.array(z.object({
546
578
  'callId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -571,6 +603,22 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = () =>
571
603
  })).readonly(),
572
604
  })).readonly(),
573
605
  }).optional(),
606
+ 'goal': z.union([z.literal(null), z.object({
607
+ 'goal': z.object({
608
+ 'objective': z.string().readonly(),
609
+ 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
610
+ 'blockedReason': z.object({
611
+ 'code': z.string().readonly(),
612
+ 'message': z.string().readonly(),
613
+ }).readonly().optional(),
614
+ 'maxGoalRounds': z.number().readonly(),
615
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
616
+ 'revision': z.number().readonly(),
617
+ }).readonly(),
618
+ 'roundsStarted': z.number().readonly(),
619
+ 'createdAt': z.number().readonly(),
620
+ 'updatedAt': z.number().readonly(),
621
+ })]).optional(),
574
622
  }), z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema()))])).readonly()).readonly(),
575
623
  }).readonly().optional(),
576
624
  })).readonly(),
@@ -732,22 +780,22 @@ const _deepseek_ai_dsh_api_session_controller_session_projections_result$schema
732
780
  'label': z.string(),
733
781
  'seq': z.intersection(z.number(), z.unknown()),
734
782
  })]).optional(),
735
- 'goal': z.union([z.literal(null), z.object({
736
- 'goal': z.object({
737
- 'objective': z.string().readonly(),
738
- 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
739
- 'blockedReason': z.object({
740
- 'code': z.string().readonly(),
741
- 'message': z.string().readonly(),
742
- }).readonly().optional(),
743
- 'maxGoalRounds': z.number().readonly(),
744
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
745
- 'revision': z.number().readonly(),
746
- }).readonly(),
747
- 'roundsStarted': z.number().readonly(),
748
- 'createdAt': z.number().readonly(),
749
- 'updatedAt': z.number().readonly(),
750
- })]).optional(),
783
+ 'tokenUsage': z.object({
784
+ 'uncachedInputTokens': z.number(),
785
+ 'outputTokens': z.number(),
786
+ 'cacheReadTokens': z.number(),
787
+ 'cacheWriteTokens': z.number(),
788
+ }).optional(),
789
+ 'contextPressure': z.object({
790
+ 'pressureTokens': z.number().optional(),
791
+ 'projectedTokens': z.number().optional(),
792
+ 'contextWindow': z.number().optional(),
793
+ }).optional(),
794
+ 'contextBreakdown': z.object({
795
+ 'systemTokens': z.number(),
796
+ 'toolsTokens': z.number(),
797
+ 'messageTokens': z.number(),
798
+ }).optional(),
751
799
  'userQuestions': z.object({
752
800
  'active': z.array(z.object({
753
801
  'callId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -778,6 +826,22 @@ const _deepseek_ai_dsh_api_session_controller_session_projections_result$schema
778
826
  })).readonly(),
779
827
  })).readonly(),
780
828
  }).optional(),
829
+ 'goal': z.union([z.literal(null), z.object({
830
+ 'goal': z.object({
831
+ 'objective': z.string().readonly(),
832
+ 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
833
+ 'blockedReason': z.object({
834
+ 'code': z.string().readonly(),
835
+ 'message': z.string().readonly(),
836
+ }).readonly().optional(),
837
+ 'maxGoalRounds': z.number().readonly(),
838
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
839
+ 'revision': z.number().readonly(),
840
+ }).readonly(),
841
+ 'roundsStarted': z.number().readonly(),
842
+ 'createdAt': z.number().readonly(),
843
+ 'updatedAt': z.number().readonly(),
844
+ })]).optional(),
781
845
  }), z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema4())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema4()))])).readonly()).readonly(),
782
846
  })]))
783
847
  let _deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema$value
@@ -956,7 +1020,7 @@ export const TYPERT = {
956
1020
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionAttachmentValue',
957
1021
  create: _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema,
958
1022
  },
959
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":437,"column":3},
1023
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":444,"column":3},
960
1024
  },
961
1025
  {
962
1026
  id: '@deepseek-ai/dsh-api-session-controller#session/cancel',
@@ -981,7 +1045,7 @@ export const TYPERT = {
981
1045
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCancelValue',
982
1046
  create: _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema,
983
1047
  },
984
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":457,"column":3},
1048
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":464,"column":3},
985
1049
  },
986
1050
  {
987
1051
  id: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath',
@@ -996,7 +1060,7 @@ export const TYPERT = {
996
1060
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath:result',
997
1061
  create: _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema,
998
1062
  },
999
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":319,"column":3},
1063
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":326,"column":3},
1000
1064
  },
1001
1065
  {
1002
1066
  id: '@deepseek-ai/dsh-api-session-controller#session/control',
@@ -1013,7 +1077,7 @@ export const TYPERT = {
1013
1077
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionControlFrame',
1014
1078
  create: _deepseek_ai_dsh_api_session_controller_session_control_result$schema,
1015
1079
  },
1016
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":520,"column":3},
1080
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":527,"column":3},
1017
1081
  },
1018
1082
  {
1019
1083
  id: '@deepseek-ai/dsh-api-session-controller#session/create',
@@ -1038,7 +1102,7 @@ export const TYPERT = {
1038
1102
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCreateValue',
1039
1103
  create: _deepseek_ai_dsh_api_session_controller_session_create_result$schema,
1040
1104
  },
1041
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":273,"column":3},
1105
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":280,"column":3},
1042
1106
  },
1043
1107
  {
1044
1108
  id: '@deepseek-ai/dsh-api-session-controller#session/follow',
@@ -1065,7 +1129,7 @@ export const TYPERT = {
1065
1129
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionFollowFrame',
1066
1130
  create: _deepseek_ai_dsh_api_session_controller_session_follow_result$schema,
1067
1131
  },
1068
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":480,"column":3},
1132
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":487,"column":3},
1069
1133
  },
1070
1134
  {
1071
1135
  id: '@deepseek-ai/dsh-api-session-controller#session/fork',
@@ -1090,7 +1154,7 @@ export const TYPERT = {
1090
1154
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionForkValue',
1091
1155
  create: _deepseek_ai_dsh_api_session_controller_session_fork_result$schema,
1092
1156
  },
1093
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":415,"column":3},
1157
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":422,"column":3},
1094
1158
  },
1095
1159
  {
1096
1160
  id: '@deepseek-ai/dsh-api-session-controller#session/initializeDefaultModel',
@@ -1105,7 +1169,7 @@ export const TYPERT = {
1105
1169
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/initializeDefaultModel:result',
1106
1170
  create: _deepseek_ai_dsh_api_session_controller_session_initializeDefaultModel_result$schema,
1107
1171
  },
1108
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":292,"column":9},
1172
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":299,"column":9},
1109
1173
  },
1110
1174
  {
1111
1175
  id: '@deepseek-ai/dsh-api-session-controller#session/list',
@@ -1131,7 +1195,7 @@ export const TYPERT = {
1131
1195
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionListValue',
1132
1196
  create: _deepseek_ai_dsh_api_session_controller_session_list_result$schema,
1133
1197
  },
1134
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":252,"column":9},
1198
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":259,"column":9},
1135
1199
  },
1136
1200
  {
1137
1201
  id: '@deepseek-ai/dsh-api-session-controller#session/modelCatalog',
@@ -1146,7 +1210,7 @@ export const TYPERT = {
1146
1210
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#ModelCatalog',
1147
1211
  create: _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema,
1148
1212
  },
1149
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":310,"column":3},
1213
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":317,"column":3},
1150
1214
  },
1151
1215
  {
1152
1216
  id: '@deepseek-ai/dsh-api-session-controller#session/openWorkspacePath',
@@ -1172,7 +1236,7 @@ export const TYPERT = {
1172
1236
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionOpenWorkspacePathValue',
1173
1237
  create: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema,
1174
1238
  },
1175
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":340,"column":9},
1239
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":347,"column":9},
1176
1240
  },
1177
1241
  {
1178
1242
  id: '@deepseek-ai/dsh-api-session-controller#session/page',
@@ -1198,7 +1262,7 @@ export const TYPERT = {
1198
1262
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPage',
1199
1263
  create: _deepseek_ai_dsh_api_session_controller_session_page_result$schema,
1200
1264
  },
1201
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":468,"column":3},
1265
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":475,"column":3},
1202
1266
  },
1203
1267
  {
1204
1268
  id: '@deepseek-ai/dsh-api-session-controller#session/projections',
@@ -1224,7 +1288,7 @@ export const TYPERT = {
1224
1288
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionProjectionsValue',
1225
1289
  create: _deepseek_ai_dsh_api_session_controller_session_projections_result$schema,
1226
1290
  },
1227
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":491,"column":9},
1291
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":498,"column":9},
1228
1292
  },
1229
1293
  {
1230
1294
  id: '@deepseek-ai/dsh-api-session-controller#session/prompt',
@@ -1250,7 +1314,7 @@ export const TYPERT = {
1250
1314
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPromptValue',
1251
1315
  create: _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema,
1252
1316
  },
1253
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":426,"column":3},
1317
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":433,"column":3},
1254
1318
  },
1255
1319
  {
1256
1320
  id: '@deepseek-ai/dsh-api-session-controller#session/rename',
@@ -1275,7 +1339,7 @@ export const TYPERT = {
1275
1339
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionRenameValue',
1276
1340
  create: _deepseek_ai_dsh_api_session_controller_session_rename_result$schema,
1277
1341
  },
1278
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":403,"column":3},
1342
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":410,"column":3},
1279
1343
  },
1280
1344
  {
1281
1345
  id: '@deepseek-ai/dsh-api-session-controller#session/search',
@@ -1301,7 +1365,7 @@ export const TYPERT = {
1301
1365
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSearchValue',
1302
1366
  create: _deepseek_ai_dsh_api_session_controller_session_search_result$schema,
1303
1367
  },
1304
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":263,"column":3},
1368
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":270,"column":3},
1305
1369
  },
1306
1370
  {
1307
1371
  id: '@deepseek-ai/dsh-api-session-controller#session/selectModel',
@@ -1326,7 +1390,7 @@ export const TYPERT = {
1326
1390
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSelectModelValue',
1327
1391
  create: _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema,
1328
1392
  },
1329
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":283,"column":3},
1393
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":290,"column":3},
1330
1394
  },
1331
1395
  {
1332
1396
  id: '@deepseek-ai/dsh-api-session-controller#session/updateQueue',
@@ -1351,7 +1415,7 @@ export const TYPERT = {
1351
1415
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionUpdateQueueValue',
1352
1416
  create: _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema,
1353
1417
  },
1354
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":447,"column":3},
1418
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":454,"column":3},
1355
1419
  },
1356
1420
  {
1357
1421
  id: '@deepseek-ai/dsh-api-session-controller#session/workspacePathApplications',
@@ -1377,7 +1441,7 @@ export const TYPERT = {
1377
1441
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/workspacePathApplications:result',
1378
1442
  create: _deepseek_ai_dsh_api_session_controller_session_workspacePathApplications_result$schema,
1379
1443
  },
1380
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":370,"column":9},
1444
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":377,"column":9},
1381
1445
  },
1382
1446
  {
1383
1447
  id: '@deepseek-ai/dsh-api-session-controller#skills/list',
@@ -1435,7 +1499,7 @@ export const TYPERT = {
1435
1499
  "name": "list",
1436
1500
  "signature": "@Remote('list') async list(_request: SessionListRequest, signal: AbortSignal): Promise<SessionListValue>",
1437
1501
  "summary": "Read all visible Session rows without resuming an Agent.",
1438
- "jsDoc": "/**\n * Read all visible Session rows without resuming an Agent.\n * @param _request - reserved empty list request.\n * @param signal - cancellation for persistence reads.\n * @returns visible Session summaries ordered by activity.\n */"
1502
+ "jsDoc": "/**\n * Read all visible Session rows without resuming an Agent.\n * @param _request - reserved empty list request.\n * @param signal - cancellation for persistence reads and summary generation.\n * @returns visible Session summaries ordered by activity.\n */"
1439
1503
  },
1440
1504
  {
1441
1505
  "kind": "method",
@@ -1696,10 +1760,18 @@ export const TYPERT = {
1696
1760
  "name": "ContentBlockType",
1697
1761
  "declaration": "export type ContentBlockType = keyof ContentBlockMap;"
1698
1762
  },
1763
+ {
1764
+ "name": "ContextBreakdownProjection",
1765
+ "declaration": "export interface ContextBreakdownProjection {\n systemTokens: number;\n toolsTokens: number;\n messageTokens: number;\n}"
1766
+ },
1699
1767
  {
1700
1768
  "name": "ContextFormed",
1701
1769
  "declaration": "export type ContextFormed = { readonly form?: never; } | { readonly form: 'instructions'; } | { readonly form: 'catalog'; } | { readonly form: 'snapshot'; readonly sections: readonly ContextSnapshotSection[]; } | { readonly form: 'notice'; readonly summary: string; } | { readonly form: 'relay'; } | { readonly form: 'recall'; };"
1702
1770
  },
1771
+ {
1772
+ "name": "ContextPressureProjection",
1773
+ "declaration": "export interface ContextPressureProjection {\n pressureTokens?: number;\n projectedTokens?: number;\n contextWindow?: number;\n}"
1774
+ },
1703
1775
  {
1704
1776
  "name": "ContextSnapshotSection",
1705
1777
  "declaration": "export interface ContextSnapshotSection {\n readonly name: string;\n readonly text: string;\n}"
@@ -1868,6 +1940,14 @@ export const TYPERT = {
1868
1940
  "name": "LlmFailure",
1869
1941
  "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}"
1870
1942
  },
1943
+ {
1944
+ "name": "LlmRetryEventData",
1945
+ "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; };"
1946
+ },
1947
+ {
1948
+ "name": "LlmRetryStartedEventData",
1949
+ "declaration": "export interface LlmRetryStartedEventData {\n retryId: RetryId;\n turn: number;\n step: number;\n retry: number;\n}"
1950
+ },
1871
1951
  {
1872
1952
  "name": "Message",
1873
1953
  "declaration": "export type Message = MessageRoleMap[keyof MessageRoleMap];"
@@ -1910,7 +1990,7 @@ export const TYPERT = {
1910
1990
  },
1911
1991
  {
1912
1992
  "name": "MessageSourceMap",
1913
- "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 goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'compact-checkpoint': CompactionCheckpointSource;\n 'session-reference': SessionReferenceSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n}"
1993
+ "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 '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}"
1914
1994
  },
1915
1995
  {
1916
1996
  "name": "ModelCatalog",
@@ -2028,6 +2108,10 @@ export const TYPERT = {
2028
2108
  "name": "RequestHeaderReason",
2029
2109
  "declaration": "export type RequestHeaderReason = 'initial' | 'resume' | 'change' | 'series';"
2030
2110
  },
2111
+ {
2112
+ "name": "RetryId",
2113
+ "declaration": "export type RetryId = Branded<'RetryId'>;"
2114
+ },
2031
2115
  {
2032
2116
  "name": "SandboxMode",
2033
2117
  "declaration": "export type SandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';"
@@ -2130,7 +2214,7 @@ export const TYPERT = {
2130
2214
  },
2131
2215
  {
2132
2216
  "name": "SessionEventMap",
2133
- "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}"
2217
+ "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 '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}"
2134
2218
  },
2135
2219
  {
2136
2220
  "name": "SessionEventType",
@@ -2210,7 +2294,7 @@ export const TYPERT = {
2210
2294
  },
2211
2295
  {
2212
2296
  "name": "SessionProjectionMap",
2213
- "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 permissions: PermissionSelection;\n subagentCatalog: SubagentCatalogEntry[];\n subagentTiming: SubagentTimingProjection;\n subagent: SubagentIdentityProjection | null;\n goal: GoalProjection | null;\n userQuestions: UserQuestionProjectionView;\n}"
2297
+ "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 permissions: PermissionSelection;\n subagentCatalog: SubagentCatalogEntry[];\n subagentTiming: SubagentTimingProjection;\n subagent: SubagentIdentityProjection | null;\n tokenUsage: TokenUsageProjection;\n contextPressure: ContextPressureProjection;\n contextBreakdown: ContextBreakdownProjection;\n userQuestions: UserQuestionProjectionView;\n goal: GoalProjection | null;\n}"
2214
2298
  },
2215
2299
  {
2216
2300
  "name": "SessionProjectionsRequest",
@@ -2408,6 +2492,10 @@ export const TYPERT = {
2408
2492
  "name": "TokenUsage",
2409
2493
  "declaration": "export interface TokenUsage {\n inputTokens: number;\n outputTokens: number;\n totalTokens?: number;\n cacheReadTokens?: number;\n cacheWriteTokens?: number;\n reasoningTokens?: number;\n}"
2410
2494
  },
2495
+ {
2496
+ "name": "TokenUsageProjection",
2497
+ "declaration": "export interface TokenUsageProjection {\n uncachedInputTokens: number;\n outputTokens: number;\n cacheReadTokens: number;\n cacheWriteTokens: number;\n}"
2498
+ },
2411
2499
  {
2412
2500
  "name": "ToolAdditionBlock",
2413
2501
  "declaration": "export interface ToolAdditionBlock {\n type: 'tool-addition';\n toolName: string;\n tool?: never;\n}"
@@ -2751,6 +2839,14 @@ export const TYPERT = {
2751
2839
  "name": "LlmFailure",
2752
2840
  "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}"
2753
2841
  },
2842
+ {
2843
+ "name": "LlmRetryEventData",
2844
+ "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; };"
2845
+ },
2846
+ {
2847
+ "name": "LlmRetryStartedEventData",
2848
+ "declaration": "export interface LlmRetryStartedEventData {\n retryId: RetryId;\n turn: number;\n step: number;\n retry: number;\n}"
2849
+ },
2754
2850
  {
2755
2851
  "name": "Message",
2756
2852
  "declaration": "export type Message = MessageRoleMap[keyof MessageRoleMap];"
@@ -2793,7 +2889,7 @@ export const TYPERT = {
2793
2889
  },
2794
2890
  {
2795
2891
  "name": "MessageSourceMap",
2796
- "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 goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'compact-checkpoint': CompactionCheckpointSource;\n 'session-reference': SessionReferenceSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n}"
2892
+ "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 '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}"
2797
2893
  },
2798
2894
  {
2799
2895
  "name": "ModelMessageSource",
@@ -2847,6 +2943,10 @@ export const TYPERT = {
2847
2943
  "name": "RequestHeaderReason",
2848
2944
  "declaration": "export type RequestHeaderReason = 'initial' | 'resume' | 'change' | 'series';"
2849
2945
  },
2946
+ {
2947
+ "name": "RetryId",
2948
+ "declaration": "export type RetryId = Branded<'RetryId'>;"
2949
+ },
2850
2950
  {
2851
2951
  "name": "SandboxMode",
2852
2952
  "declaration": "export type SandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';"
@@ -2881,7 +2981,7 @@ export const TYPERT = {
2881
2981
  },
2882
2982
  {
2883
2983
  "name": "SessionEventMap",
2884
- "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}"
2984
+ "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 '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}"
2885
2985
  },
2886
2986
  {
2887
2987
  "name": "SessionEventType",