@deepseek-ai/dsh-api-session-controller 0.2.1-alpha.1 → 0.2.1-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -62,6 +62,7 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = ()
62
62
  'next-turn': z.array(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(),
63
63
  'next-step': z.array(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(),
64
64
  }).optional(),
65
+ 'workingDirectory': z.union([z.literal(null), z.string()]).optional(),
65
66
  'agentPreset': z.union([z.literal(null), z.string()]).optional(),
66
67
  'title': z.union([z.literal(null), z.string()]).optional(),
67
68
  'todos': z.union([z.literal(null), z.array(z.object({
@@ -104,6 +105,12 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = ()
104
105
  })), z.intersection(z.object({
105
106
  'id': z.intersection(z.string(), z.unknown()).readonly(),
106
107
  'createdAt': z.number().readonly(),
108
+ }), z.object({
109
+ 'mode': z.literal("external").readonly(),
110
+ 'label': z.string().readonly().optional(),
111
+ })), z.intersection(z.object({
112
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
113
+ 'createdAt': z.number().readonly(),
107
114
  }), z.object({
108
115
  'mode': z.literal("continuable").readonly(),
109
116
  'label': z.string().readonly(),
@@ -280,6 +287,7 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = ()
280
287
  'next-turn': z.array(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(),
281
288
  'next-step': z.array(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(),
282
289
  }).optional(),
290
+ 'workingDirectory': z.union([z.literal(null), z.string()]).optional(),
283
291
  'agentPreset': z.union([z.literal(null), z.string()]).optional(),
284
292
  'title': z.union([z.literal(null), z.string()]).optional(),
285
293
  'todos': z.union([z.literal(null), z.array(z.object({
@@ -322,6 +330,12 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = ()
322
330
  })), z.intersection(z.object({
323
331
  'id': z.intersection(z.string(), z.unknown()).readonly(),
324
332
  'createdAt': z.number().readonly(),
333
+ }), z.object({
334
+ 'mode': z.literal("external").readonly(),
335
+ 'label': z.string().readonly().optional(),
336
+ })), z.intersection(z.object({
337
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
338
+ 'createdAt': z.number().readonly(),
325
339
  }), z.object({
326
340
  'mode': z.literal("continuable").readonly(),
327
341
  'label': z.string().readonly(),
@@ -458,6 +472,7 @@ let _deepseek_ai_dsh_api_session_controller_session_fork_parameter_0$schema$valu
458
472
  const _deepseek_ai_dsh_api_session_controller_session_fork_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_fork_parameter_0$schema$value ??= z.object({
459
473
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
460
474
  'atSeq': z.number().readonly().optional(),
475
+ 'allowMigration': z.boolean().readonly().optional(),
461
476
  }))
462
477
  let _deepseek_ai_dsh_api_session_controller_session_fork_result$schema$value
463
478
  const _deepseek_ai_dsh_api_session_controller_session_fork_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_fork_result$schema$value ??= z.object({
@@ -473,6 +488,7 @@ let _deepseek_ai_dsh_api_session_controller_session_list_result$schema$value
473
488
  const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_list_result$schema$value ??= z.object({
474
489
  'items': z.array(z.object({
475
490
  'agentAvailable': z.boolean().readonly(),
491
+ 'formatStatus': z.union([z.literal("current"), z.literal("migration-required")]).readonly().optional(),
476
492
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
477
493
  'updatedAt': z.number().readonly(),
478
494
  'running': z.boolean().readonly(),
@@ -488,6 +504,7 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = () =>
488
504
  'next-turn': z.array(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(),
489
505
  'next-step': z.array(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(),
490
506
  }).optional(),
507
+ 'workingDirectory': z.union([z.literal(null), z.string()]).optional(),
491
508
  'agentPreset': z.union([z.literal(null), z.string()]).optional(),
492
509
  'title': z.union([z.literal(null), z.string()]).optional(),
493
510
  'todos': z.union([z.literal(null), z.array(z.object({
@@ -530,6 +547,12 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = () =>
530
547
  })), z.intersection(z.object({
531
548
  'id': z.intersection(z.string(), z.unknown()).readonly(),
532
549
  'createdAt': z.number().readonly(),
550
+ }), z.object({
551
+ 'mode': z.literal("external").readonly(),
552
+ 'label': z.string().readonly().optional(),
553
+ })), z.intersection(z.object({
554
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
555
+ 'createdAt': z.number().readonly(),
533
556
  }), z.object({
534
557
  'mode': z.literal("continuable").readonly(),
535
558
  'label': z.string().readonly(),
@@ -704,13 +727,14 @@ const _deepseek_ai_dsh_api_session_controller_session_projections_parameter_0$sc
704
727
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
705
728
  }))
706
729
  let _deepseek_ai_dsh_api_session_controller_session_projections_result$schema$value
707
- const _deepseek_ai_dsh_api_session_controller_session_projections_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_projections_result$schema$value ??= z.union([z.literal(null), z.object({
730
+ const _deepseek_ai_dsh_api_session_controller_session_projections_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_projections_result$schema$value ??= z.union([z.literal(null), z.intersection(z.object({
708
731
  'asOfSeq': z.number().readonly(),
709
732
  'values': z.intersection(z.object({
710
733
  'inbox': z.object({
711
734
  'next-turn': z.array(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(),
712
735
  'next-step': z.array(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(),
713
736
  }).optional(),
737
+ 'workingDirectory': z.union([z.literal(null), z.string()]).optional(),
714
738
  'agentPreset': z.union([z.literal(null), z.string()]).optional(),
715
739
  'title': z.union([z.literal(null), z.string()]).optional(),
716
740
  'todos': z.union([z.literal(null), z.array(z.object({
@@ -753,6 +777,160 @@ const _deepseek_ai_dsh_api_session_controller_session_projections_result$schema
753
777
  })), z.intersection(z.object({
754
778
  'id': z.intersection(z.string(), z.unknown()).readonly(),
755
779
  'createdAt': z.number().readonly(),
780
+ }), z.object({
781
+ 'mode': z.literal("external").readonly(),
782
+ 'label': z.string().readonly().optional(),
783
+ })), z.intersection(z.object({
784
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
785
+ 'createdAt': z.number().readonly(),
786
+ }), z.object({
787
+ 'mode': z.literal("continuable").readonly(),
788
+ 'label': z.string().readonly(),
789
+ })), z.intersection(z.object({
790
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
791
+ 'createdAt': z.number().readonly(),
792
+ }), z.object({
793
+ 'mode': z.literal("unknown").readonly(),
794
+ 'label': z.string().readonly().optional(),
795
+ }))])).optional(),
796
+ 'subagentTiming': z.object({
797
+ 'settledMs': z.number(),
798
+ 'active': z.object({
799
+ 'since': z.number(),
800
+ 'through': z.number(),
801
+ }).optional(),
802
+ 'lastTurnCompleted': z.boolean().optional(),
803
+ }).optional(),
804
+ 'subagent': z.union([z.literal(null), z.object({
805
+ 'mode': z.literal("one-shot"),
806
+ 'label': z.string().optional(),
807
+ 'seq': z.intersection(z.number(), z.unknown()),
808
+ }), z.object({
809
+ 'mode': z.literal("continuable"),
810
+ 'label': z.string(),
811
+ 'seq': z.intersection(z.number(), z.unknown()),
812
+ })]).optional(),
813
+ 'tokenUsage': z.object({
814
+ 'uncachedInputTokens': z.number(),
815
+ 'outputTokens': z.number(),
816
+ 'cacheReadTokens': z.number(),
817
+ 'cacheWriteTokens': z.number(),
818
+ }).optional(),
819
+ 'contextPressure': z.object({
820
+ 'pressureTokens': z.number().optional(),
821
+ 'projectedTokens': z.number().optional(),
822
+ 'contextWindow': z.number().optional(),
823
+ }).optional(),
824
+ 'contextBreakdown': z.object({
825
+ 'systemTokens': z.number(),
826
+ 'toolsTokens': z.number(),
827
+ 'messageTokens': z.number(),
828
+ }).optional(),
829
+ 'userQuestions': z.object({
830
+ 'active': z.array(z.object({
831
+ 'callId': z.intersection(z.string(), z.unknown()).readonly(),
832
+ 'questions': z.array(z.object({
833
+ 'id': z.string(),
834
+ 'question': z.string(),
835
+ 'detail': z.string().optional(),
836
+ 'header': z.string().optional(),
837
+ 'options': z.array(z.object({
838
+ 'label': z.string(),
839
+ 'description': z.string().optional(),
840
+ })).optional(),
841
+ 'multiSelect': z.boolean().optional(),
842
+ 'intent': z.object({
843
+ 'kind': z.literal("plan-review"),
844
+ 'approve': z.string(),
845
+ 'callId': z.intersection(z.string(), z.unknown()).optional(),
846
+ }).optional(),
847
+ })).readonly(),
848
+ 'state': z.union([z.literal("open"), z.literal("continued")]).readonly(),
849
+ })).readonly(),
850
+ 'settled': z.array(z.object({
851
+ 'callId': z.intersection(z.string(), z.unknown()).readonly(),
852
+ 'answers': z.array(z.object({
853
+ 'id': z.string(),
854
+ 'selected': z.array(z.string()),
855
+ 'custom': z.string().optional(),
856
+ })).readonly(),
857
+ })).readonly(),
858
+ }).optional(),
859
+ 'goal': z.union([z.literal(null), z.object({
860
+ 'goal': z.object({
861
+ 'objective': z.string().readonly(),
862
+ 'phase': z.union([z.literal("active"), z.literal("paused"), z.literal("blocked"), z.literal("complete")]).readonly(),
863
+ 'blockedReason': z.object({
864
+ 'code': z.string().readonly(),
865
+ 'message': z.string().readonly(),
866
+ }).readonly().optional(),
867
+ 'maxGoalRounds': z.number().readonly(),
868
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
869
+ 'revision': z.number().readonly(),
870
+ }).readonly(),
871
+ 'roundsStarted': z.number().readonly(),
872
+ 'createdAt': z.number().readonly(),
873
+ 'updatedAt': z.number().readonly(),
874
+ })]).optional(),
875
+ }), 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(),
876
+ }), z.object({
877
+ 'kind': z.literal("sequenced").readonly(),
878
+ })), z.object({
879
+ 'kind': z.literal("migration-required").readonly(),
880
+ 'values': z.intersection(z.object({
881
+ 'inbox': z.object({
882
+ 'next-turn': z.array(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(),
883
+ 'next-step': z.array(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(),
884
+ }).optional(),
885
+ 'workingDirectory': z.union([z.literal(null), z.string()]).optional(),
886
+ 'agentPreset': z.union([z.literal(null), z.string()]).optional(),
887
+ 'title': z.union([z.literal(null), z.string()]).optional(),
888
+ 'todos': z.union([z.literal(null), z.array(z.object({
889
+ 'content': z.string(),
890
+ 'status': z.union([z.literal("completed"), z.literal("pending"), z.literal("in_progress")]),
891
+ }))]).optional(),
892
+ 'sessionListMetadata': z.object({
893
+ 'blank': z.boolean().readonly(),
894
+ 'lastPromptAt': z.union([z.literal(null), z.number()]).readonly(),
895
+ }).optional(),
896
+ 'imageLimits': z.object({
897
+ 'maxImageBytes': z.number(),
898
+ 'maxImagesPerMessage': z.number(),
899
+ 'maxMessageImageBytes': z.number(),
900
+ 'maxImagePixels': z.number(),
901
+ 'maxImageDimension': z.number(),
902
+ 'mediaTypes': z.array(z.union([z.literal("image/png"), z.literal("image/jpeg"), z.literal("image/webp"), z.literal("image/gif")])),
903
+ }).optional(),
904
+ 'modelSelection': z.object({
905
+ 'lastUsed': z.union([z.literal(null), z.object({
906
+ 'provider': z.string().readonly(),
907
+ 'model': z.string().readonly(),
908
+ 'reasoningEffort': z.string().readonly().optional(),
909
+ })]).readonly(),
910
+ 'next': z.union([z.literal(null), z.object({
911
+ 'provider': z.string().readonly(),
912
+ 'model': z.string().readonly(),
913
+ 'reasoningEffort': z.string().readonly().optional(),
914
+ })]).readonly(),
915
+ }).optional(),
916
+ 'permissions': z.object({
917
+ 'currentValue': z.string(),
918
+ }).optional(),
919
+ 'subagentCatalog': z.array(z.union([z.intersection(z.object({
920
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
921
+ 'createdAt': z.number().readonly(),
922
+ }), z.object({
923
+ 'mode': z.literal("one-shot").readonly(),
924
+ 'label': z.string().readonly().optional(),
925
+ })), z.intersection(z.object({
926
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
927
+ 'createdAt': z.number().readonly(),
928
+ }), z.object({
929
+ 'mode': z.literal("external").readonly(),
930
+ 'label': z.string().readonly().optional(),
931
+ })), z.intersection(z.object({
932
+ 'id': z.intersection(z.string(), z.unknown()).readonly(),
933
+ 'createdAt': z.number().readonly(),
756
934
  }), z.object({
757
935
  'mode': z.literal("continuable").readonly(),
758
936
  'label': z.string().readonly(),
@@ -1020,7 +1198,7 @@ export const TYPERT = {
1020
1198
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionAttachmentValue',
1021
1199
  create: _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema,
1022
1200
  },
1023
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":444,"column":3},
1201
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":453,"column":3},
1024
1202
  },
1025
1203
  {
1026
1204
  id: '@deepseek-ai/dsh-api-session-controller#session/cancel',
@@ -1045,7 +1223,7 @@ export const TYPERT = {
1045
1223
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCancelValue',
1046
1224
  create: _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema,
1047
1225
  },
1048
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":464,"column":3},
1226
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":473,"column":3},
1049
1227
  },
1050
1228
  {
1051
1229
  id: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath',
@@ -1060,7 +1238,7 @@ export const TYPERT = {
1060
1238
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath:result',
1061
1239
  create: _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema,
1062
1240
  },
1063
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":326,"column":3},
1241
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":327,"column":3},
1064
1242
  },
1065
1243
  {
1066
1244
  id: '@deepseek-ai/dsh-api-session-controller#session/control',
@@ -1077,7 +1255,7 @@ export const TYPERT = {
1077
1255
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionControlFrame',
1078
1256
  create: _deepseek_ai_dsh_api_session_controller_session_control_result$schema,
1079
1257
  },
1080
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":527,"column":3},
1258
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":558,"column":3},
1081
1259
  },
1082
1260
  {
1083
1261
  id: '@deepseek-ai/dsh-api-session-controller#session/create',
@@ -1102,7 +1280,7 @@ export const TYPERT = {
1102
1280
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCreateValue',
1103
1281
  create: _deepseek_ai_dsh_api_session_controller_session_create_result$schema,
1104
1282
  },
1105
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":280,"column":3},
1283
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":281,"column":3},
1106
1284
  },
1107
1285
  {
1108
1286
  id: '@deepseek-ai/dsh-api-session-controller#session/follow',
@@ -1129,7 +1307,7 @@ export const TYPERT = {
1129
1307
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionFollowFrame',
1130
1308
  create: _deepseek_ai_dsh_api_session_controller_session_follow_result$schema,
1131
1309
  },
1132
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":487,"column":3},
1310
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":496,"column":3},
1133
1311
  },
1134
1312
  {
1135
1313
  id: '@deepseek-ai/dsh-api-session-controller#session/fork',
@@ -1154,7 +1332,7 @@ export const TYPERT = {
1154
1332
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionForkValue',
1155
1333
  create: _deepseek_ai_dsh_api_session_controller_session_fork_result$schema,
1156
1334
  },
1157
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":422,"column":3},
1335
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":423,"column":9},
1158
1336
  },
1159
1337
  {
1160
1338
  id: '@deepseek-ai/dsh-api-session-controller#session/initializeDefaultModel',
@@ -1169,7 +1347,7 @@ export const TYPERT = {
1169
1347
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/initializeDefaultModel:result',
1170
1348
  create: _deepseek_ai_dsh_api_session_controller_session_initializeDefaultModel_result$schema,
1171
1349
  },
1172
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":299,"column":9},
1350
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":300,"column":9},
1173
1351
  },
1174
1352
  {
1175
1353
  id: '@deepseek-ai/dsh-api-session-controller#session/list',
@@ -1195,7 +1373,7 @@ export const TYPERT = {
1195
1373
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionListValue',
1196
1374
  create: _deepseek_ai_dsh_api_session_controller_session_list_result$schema,
1197
1375
  },
1198
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":259,"column":9},
1376
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":260,"column":9},
1199
1377
  },
1200
1378
  {
1201
1379
  id: '@deepseek-ai/dsh-api-session-controller#session/modelCatalog',
@@ -1210,7 +1388,7 @@ export const TYPERT = {
1210
1388
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#ModelCatalog',
1211
1389
  create: _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema,
1212
1390
  },
1213
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":317,"column":3},
1391
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":318,"column":3},
1214
1392
  },
1215
1393
  {
1216
1394
  id: '@deepseek-ai/dsh-api-session-controller#session/openWorkspacePath',
@@ -1236,7 +1414,7 @@ export const TYPERT = {
1236
1414
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionOpenWorkspacePathValue',
1237
1415
  create: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema,
1238
1416
  },
1239
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":347,"column":9},
1417
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":348,"column":9},
1240
1418
  },
1241
1419
  {
1242
1420
  id: '@deepseek-ai/dsh-api-session-controller#session/page',
@@ -1262,7 +1440,7 @@ export const TYPERT = {
1262
1440
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPage',
1263
1441
  create: _deepseek_ai_dsh_api_session_controller_session_page_result$schema,
1264
1442
  },
1265
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":475,"column":3},
1443
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":484,"column":3},
1266
1444
  },
1267
1445
  {
1268
1446
  id: '@deepseek-ai/dsh-api-session-controller#session/projections',
@@ -1288,7 +1466,7 @@ export const TYPERT = {
1288
1466
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionProjectionsValue',
1289
1467
  create: _deepseek_ai_dsh_api_session_controller_session_projections_result$schema,
1290
1468
  },
1291
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":498,"column":9},
1469
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":507,"column":9},
1292
1470
  },
1293
1471
  {
1294
1472
  id: '@deepseek-ai/dsh-api-session-controller#session/prompt',
@@ -1314,7 +1492,7 @@ export const TYPERT = {
1314
1492
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPromptValue',
1315
1493
  create: _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema,
1316
1494
  },
1317
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":433,"column":3},
1495
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":442,"column":3},
1318
1496
  },
1319
1497
  {
1320
1498
  id: '@deepseek-ai/dsh-api-session-controller#session/rename',
@@ -1339,7 +1517,7 @@ export const TYPERT = {
1339
1517
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionRenameValue',
1340
1518
  create: _deepseek_ai_dsh_api_session_controller_session_rename_result$schema,
1341
1519
  },
1342
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":410,"column":3},
1520
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":411,"column":3},
1343
1521
  },
1344
1522
  {
1345
1523
  id: '@deepseek-ai/dsh-api-session-controller#session/search',
@@ -1365,7 +1543,7 @@ export const TYPERT = {
1365
1543
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSearchValue',
1366
1544
  create: _deepseek_ai_dsh_api_session_controller_session_search_result$schema,
1367
1545
  },
1368
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":270,"column":3},
1546
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":271,"column":3},
1369
1547
  },
1370
1548
  {
1371
1549
  id: '@deepseek-ai/dsh-api-session-controller#session/selectModel',
@@ -1390,7 +1568,7 @@ export const TYPERT = {
1390
1568
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSelectModelValue',
1391
1569
  create: _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema,
1392
1570
  },
1393
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":290,"column":3},
1571
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":291,"column":3},
1394
1572
  },
1395
1573
  {
1396
1574
  id: '@deepseek-ai/dsh-api-session-controller#session/updateQueue',
@@ -1415,7 +1593,7 @@ export const TYPERT = {
1415
1593
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionUpdateQueueValue',
1416
1594
  create: _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema,
1417
1595
  },
1418
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":454,"column":3},
1596
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":463,"column":3},
1419
1597
  },
1420
1598
  {
1421
1599
  id: '@deepseek-ai/dsh-api-session-controller#session/workspacePathApplications',
@@ -1441,7 +1619,7 @@ export const TYPERT = {
1441
1619
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/workspacePathApplications:result',
1442
1620
  create: _deepseek_ai_dsh_api_session_controller_session_workspacePathApplications_result$schema,
1443
1621
  },
1444
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":377,"column":9},
1622
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":378,"column":9},
1445
1623
  },
1446
1624
  {
1447
1625
  id: '@deepseek-ai/dsh-api-session-controller#skills/list',
@@ -1467,7 +1645,7 @@ export const TYPERT = {
1467
1645
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SkillListValue',
1468
1646
  create: _deepseek_ai_dsh_api_session_controller_skills_list_result$schema,
1469
1647
  },
1470
- sourceLocation: {"file":"packages/api/session-controller/src/skill-catalog.ts","line":35,"column":9},
1648
+ sourceLocation: {"file":"packages/api/session-controller/src/skill-catalog.ts","line":36,"column":9},
1471
1649
  },
1472
1650
  ],
1473
1651
  model: {
@@ -1574,9 +1752,9 @@ export const TYPERT = {
1574
1752
  {
1575
1753
  "kind": "method",
1576
1754
  "name": "fork",
1577
- "signature": "@Remote('fork') fork(request: SessionForkRequest): Promise<SessionForkValue>",
1755
+ "signature": "@Remote('fork') async fork(request: SessionForkRequest): Promise<SessionForkValue>",
1578
1756
  "summary": "Fork one cold-readable exact event prefix into a new Session.",
1579
- "jsDoc": "/**\n * Fork one cold-readable exact event prefix into a new Session. An omitted\n * boundary selects the latest completed-turn prefix; an open cut receives\n * synthetic fork closers.\n * @param request - source Session and optional exact inclusive event boundary.\n * @returns the new Session identity.\n */"
1757
+ "jsDoc": "/**\n * Fork one cold-readable exact event prefix into a new Session. An omitted\n * boundary selects the latest completed-turn prefix; an open cut receives\n * synthetic fork closers.\n * @param request - source Session, optional exact inclusive event boundary, and migration preflight choice.\n * @returns the new Session identity.\n */"
1580
1758
  },
1581
1759
  {
1582
1760
  "kind": "method",
@@ -1624,8 +1802,8 @@ export const TYPERT = {
1624
1802
  "kind": "method",
1625
1803
  "name": "projections",
1626
1804
  "signature": "@Remote('projections') async projections(request: SessionProjectionsRequest, signal: AbortSignal): Promise<SessionProjectionsValue>",
1627
- "summary": "Read all registered projections without activating an Agent.",
1628
- "jsDoc": "/**\n * Read all registered projections without activating an Agent.\n * @param request - Session whose current values are required.\n * @param signal - cancellation for the Session observation.\n * @returns complete baseline, or null when the Session does not exist.\n */"
1805
+ "summary": "Read exact projections, returning cached hints only when migration is required.",
1806
+ "jsDoc": "/**\n * Read exact projections, returning cached hints only when migration is required.\n * @param request - Session whose current values are required.\n * @param signal - cancellation for the Session read.\n * @returns a sequenced baseline, cached hints when migration is deferred, or null when absent.\n */"
1629
1807
  },
1630
1808
  {
1631
1809
  "kind": "method",
@@ -1930,12 +2108,16 @@ export const TYPERT = {
1930
2108
  },
1931
2109
  {
1932
2110
  "name": "LlmCallConfig",
1933
- "declaration": "export interface LlmCallConfig {\n provider: string;\n model: string;\n reasoningEffort?: ReasoningEffortId;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n}"
2111
+ "declaration": "export interface LlmCallConfig extends LlmCallControls {\n provider: string;\n model: string;\n}"
1934
2112
  },
1935
2113
  {
1936
2114
  "name": "LlmCallConfigAdapterDefaults",
1937
2115
  "declaration": "export interface LlmCallConfigAdapterDefaults {\n reasoningEffort?: true;\n maxTokens?: true;\n}"
1938
2116
  },
2117
+ {
2118
+ "name": "LlmCallControls",
2119
+ "declaration": "export interface LlmCallControls {\n reasoningEffort?: ReasoningEffortId;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n}"
2120
+ },
1939
2121
  {
1940
2122
  "name": "LlmFailure",
1941
2123
  "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}"
@@ -1990,7 +2172,7 @@ export const TYPERT = {
1990
2172
  },
1991
2173
  {
1992
2174
  "name": "MessageSourceMap",
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}"
2175
+ "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'compact-checkpoint': CompactionCheckpointSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n}"
1994
2176
  },
1995
2177
  {
1996
2178
  "name": "ModelCatalog",
@@ -2066,7 +2248,7 @@ export const TYPERT = {
2066
2248
  },
2067
2249
  {
2068
2250
  "name": "PtcDispatchEventData",
2069
- "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n error?: { name: string; code: string; reason?: string; };\n}"
2251
+ "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n meta?: JsonValue;\n error?: { name: string; code: string; reason?: string; };\n}"
2070
2252
  },
2071
2253
  {
2072
2254
  "name": "PtcDispatchStartEventData",
@@ -2094,7 +2276,7 @@ export const TYPERT = {
2094
2276
  },
2095
2277
  {
2096
2278
  "name": "RemoteErrorDetailsMap",
2097
- "declaration": "export interface RemoteErrorDetailsMap {\n 'gateway/bad-request': { readonly issues?: readonly object[]; };\n 'gateway/cancelled': {};\n 'gateway/internal': {};\n 'llm/model-discovery-rejected': { readonly settingsNs: string; readonly baseURL?: string; };\n 'session/not-found': { readonly sessionId: SessionId; };\n 'workspace/not-found': { readonly workspaceId: WorkspaceId; };\n 'agent-preset/not-found': { readonly agentPreset: string; readonly available: readonly string[]; };\n 'agent-preset/invalid': { readonly agentPreset: string; readonly reason: string; };\n 'agent-preset/locked': { readonly sessionId: SessionId; readonly agentPreset: string; };\n 'job/not-found': { readonly sessionId: SessionId; readonly jobId: JobId; };\n 'session/provider-credentials-unavailable': Record<string, never>;\n 'session/provider-models-unavailable': { readonly provider: string; };\n 'session/model-unavailable': { readonly provider: string; readonly model: string; };\n 'session/conflict': { readonly sessionId: SessionId; readonly requestedCwd: string; readonly existingCwd?: string; };\n 'session/projections-unavailable': Record<string, never>;\n 'session/writer-held': { readonly sessionId: SessionId; };\n 'session/agent-busy': { readonly reason: string; };\n 'session/invalid-time-zone': { readonly value: string; };\n 'session/workspace-attach-failed': { readonly sessionId: SessionId; readonly workspaceId: string; };\n 'agent-preset/conflict': { readonly sessionId: SessionId; readonly requestedPreset: string; readonly existingPreset?: string; };\n 'session/attachment-invalid': { readonly reason: string; };\n 'session/queue-item-not-found': { readonly itemId: MessageId; };\n 'session/steer-unavailable': { readonly itemId: MessageId; };\n 'session/title-invalid': { readonly sessionId: SessionId; };\n 'session/fork-unavailable': { readonly sessionId: SessionId; };\n 'subagent/not-found': { readonly parentSessionId: SessionId; readonly childSessionId: SessionId; };\n 'subagent/catalog-diagnostic': { readonly parentSessionId: SessionId; readonly childSessionId: SessionId; readonly reason: 'corrupt' | 'unsupported' | 'unavailable'; };\n 'subagent/invalid-time-zone': { readonly value: string; };\n 'subagent/parent-unavailable': { readonly parentSessionId: SessionId; };\n 'subagent/not-resumable': { readonly childSessionId: SessionId; };\n 'subagent/unauthorized': { readonly childSessionId: SessionId; };\n 'subagent/attachment-invalid': { readonly reason: string; };\n 'subagent/delivery-unavailable': { readonly childSessionId: SessionId; };\n 'settings/rejected': { readonly ns: string; };\n 'settings/conflict': { readonly ns: string; readonly expected: number; readonly actual: number; };\n 'credential/rejected': { readonly ref: string; };\n 'terminal/unavailable': Record<string, never>;\n 'terminal/control-unavailable': { readonly reason: 'read-only' | 'not-running'; };\n 'terminal/limit-reached': { readonly limit: number; };\n 'workspace/invalid-path': { readonly path: string; };\n 'workspace/name-conflict': { readonly name: string; };\n 'workspace/session-active': { readonly sessionId: SessionId; readonly activity: readonly SessionActivity[]; };\n 'workspace/move-invalid': { readonly workspaceId: WorkspaceId; readonly sessionId: SessionId; readonly beforeSessionId?: SessionId; };\n 'directory-picker/unavailable': { readonly capability: string; };\n 'directory-picker/unreadable': { readonly path: string; };\n 'directory-picker/exists': { readonly path: string; };\n 'directory-picker/create-failed': { readonly path: string; };\n 'workspace-file/watch-unsupported': { readonly path: string; };\n 'workspace-file/not-found': { readonly path: string; };\n 'workspace-file/outside-workspace': { readonly path: string; };\n 'workspace-file/too-large': { readonly path: string; readonly limit: number; };\n 'workspace-file/not-text': { readonly path: string; };\n 'workspace-file/not-regular-file': { readonly path: string; readonly kind: 'directory' | 'symlink' | 'other'; };\n 'workspace-file/not-directory': { readonly path: string; readonly kind: 'file' | 'symlink' | 'other'; };\n 'gateway/ambiguous-endpoint': TypertGatewayFaultDetails;\n 'gateway/arguments-invalid': TypertGatewayFaultDetails;\n 'gateway/binding-invalid': TypertGatewayFaultDetails;\n 'gateway/context-failed': TypertGatewayFaultDetails;\n 'gateway/context-not-found': TypertGatewayFaultDetails;\n 'gateway/context-unavailable': TypertGatewayFaultDetails;\n 'gateway/definition-unavailable': TypertGatewayFaultDetails;\n 'gateway/input-invalid': TypertGatewayFaultDetails;\n 'gateway/invocation-unavailable': TypertGatewayFaultDetails;\n 'gateway/lookup-failed': TypertGatewayFaultDetails;\n 'gateway/lookup-not-found': TypertGatewayFaultDetails;\n 'gateway/lookup-unavailable': TypertGatewayFaultDetails;\n 'gateway/method-unavailable': TypertGatewayFaultDetails;\n 'gateway/protocol': TypertGatewayFaultDetails;\n 'gateway/provider-mismatch': TypertGatewayFaultDetails;\n 'gateway/result-invalid': TypertGatewayFaultDetails;\n 'gateway/service-unavailable': TypertGatewayFaultDetails;\n 'gateway/signature-invalid': TypertGatewayFaultDetails;\n 'gateway/uplink-overflow': TypertGatewayFaultDetails;\n 'speech/invalid-audio': { readonly reason: string; };\n 'speech/transcription-failed': { readonly reason: string; };\n 'document-render/failed': { readonly reason: OfficeToPdfErrorCode; };\n}"
2279
+ "declaration": "export interface RemoteErrorDetailsMap {\n 'gateway/bad-request': { readonly issues?: readonly object[]; };\n 'gateway/cancelled': {};\n 'gateway/internal': {};\n 'llm/model-discovery-rejected': { readonly settingsNs: string; readonly baseURL?: string; };\n 'session/not-found': { readonly sessionId: SessionId; };\n 'workspace/not-found': { readonly workspaceId: WorkspaceId; };\n 'agent-preset/not-found': { readonly agentPreset: string; readonly available: readonly string[]; };\n 'agent-preset/invalid': { readonly agentPreset: string; readonly reason: string; };\n 'agent-preset/locked': { readonly sessionId: SessionId; readonly agentPreset: string; };\n 'job/not-found': { readonly sessionId: SessionId; readonly jobId: JobId; };\n 'session/provider-credentials-unavailable': Record<string, never>;\n 'session/provider-models-unavailable': { readonly provider: string; };\n 'session/model-unavailable': { readonly provider: string; readonly model: string; };\n 'session/conflict': { readonly sessionId: SessionId; readonly requestedCwd: string; readonly existingCwd?: string; };\n 'session/projections-unavailable': Record<string, never>;\n 'session/writer-held': { readonly sessionId: SessionId; };\n 'session/agent-busy': { readonly reason: string; };\n 'session/invalid-time-zone': { readonly value: string; };\n 'session/workspace-attach-failed': { readonly sessionId: SessionId; readonly workspaceId: string; };\n 'agent-preset/conflict': { readonly sessionId: SessionId; readonly requestedPreset: string; readonly existingPreset?: string; };\n 'session/attachment-invalid': { readonly reason: string; };\n 'session/queue-item-not-found': { readonly itemId: MessageId; };\n 'session/steer-unavailable': { readonly itemId: MessageId; };\n 'session/title-invalid': { readonly sessionId: SessionId; };\n 'session/fork-unavailable': { readonly sessionId: SessionId; };\n 'session/migration-required': { readonly sessionId: SessionId; };\n 'subagent/not-found': { readonly parentSessionId: SessionId; readonly childSessionId: SessionId; };\n 'subagent/catalog-diagnostic': { readonly parentSessionId: SessionId; readonly childSessionId: SessionId; readonly reason: 'corrupt' | 'unsupported' | 'unavailable'; };\n 'subagent/invalid-time-zone': { readonly value: string; };\n 'subagent/parent-unavailable': { readonly parentSessionId: SessionId; };\n 'subagent/not-resumable': { readonly childSessionId: SessionId; };\n 'subagent/unauthorized': { readonly childSessionId: SessionId; };\n 'subagent/attachment-invalid': { readonly reason: string; };\n 'subagent/delivery-unavailable': { readonly childSessionId: SessionId; };\n 'settings/rejected': { readonly ns: string; };\n 'settings/conflict': { readonly ns: string; readonly expected: number; readonly actual: number; };\n 'credential/rejected': { readonly ref: string; };\n 'terminal/unavailable': Record<string, never>;\n 'terminal/control-unavailable': { readonly reason: 'read-only' | 'not-running'; };\n 'terminal/limit-reached': { readonly limit: number; };\n 'workspace/invalid-path': { readonly path: string; };\n 'workspace/name-conflict': { readonly name: string; };\n 'workspace/session-active': { readonly sessionId: SessionId; readonly activity: readonly SessionActivity[]; };\n 'workspace/move-invalid': { readonly workspaceId: WorkspaceId; readonly sessionId: SessionId; readonly beforeSessionId?: SessionId; };\n 'directory-picker/unavailable': { readonly capability: string; };\n 'directory-picker/unreadable': { readonly path: string; };\n 'directory-picker/exists': { readonly path: string; };\n 'directory-picker/create-failed': { readonly path: string; };\n 'workspace-file/watch-unsupported': { readonly path: string; };\n 'workspace-file/not-found': { readonly path: string; };\n 'workspace-file/outside-workspace': { readonly path: string; };\n 'workspace-file/too-large': { readonly path: string; readonly limit: number; };\n 'workspace-file/not-text': { readonly path: string; };\n 'workspace-file/not-regular-file': { readonly path: string; readonly kind: 'directory' | 'symlink' | 'other'; };\n 'workspace-file/not-directory': { readonly path: string; readonly kind: 'file' | 'symlink' | 'other'; };\n 'gateway/ambiguous-endpoint': TypertGatewayFaultDetails;\n 'gateway/arguments-invalid': TypertGatewayFaultDetails;\n 'gateway/binding-invalid': TypertGatewayFaultDetails;\n 'gateway/context-failed': TypertGatewayFaultDetails;\n 'gateway/context-not-found': TypertGatewayFaultDetails;\n 'gateway/context-unavailable': TypertGatewayFaultDetails;\n 'gateway/definition-unavailable': TypertGatewayFaultDetails;\n 'gateway/input-invalid': TypertGatewayFaultDetails;\n 'gateway/invocation-unavailable': TypertGatewayFaultDetails;\n 'gateway/lookup-failed': TypertGatewayFaultDetails;\n 'gateway/lookup-not-found': TypertGatewayFaultDetails;\n 'gateway/lookup-unavailable': TypertGatewayFaultDetails;\n 'gateway/method-unavailable': TypertGatewayFaultDetails;\n 'gateway/protocol': TypertGatewayFaultDetails;\n 'gateway/provider-mismatch': TypertGatewayFaultDetails;\n 'gateway/result-invalid': TypertGatewayFaultDetails;\n 'gateway/service-unavailable': TypertGatewayFaultDetails;\n 'gateway/signature-invalid': TypertGatewayFaultDetails;\n 'gateway/uplink-overflow': TypertGatewayFaultDetails;\n 'speech/invalid-audio': { readonly reason: string; };\n 'speech/transcription-failed': { readonly reason: string; };\n 'cotTranslation/failed': Record<string, never>;\n 'document-render/failed': { readonly reason: OfficeToPdfErrorCode; };\n}"
2098
2280
  },
2099
2281
  {
2100
2282
  "name": "ReplayEnvelope",
@@ -2214,7 +2396,7 @@ export const TYPERT = {
2214
2396
  },
2215
2397
  {
2216
2398
  "name": "SessionEventMap",
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}"
2399
+ "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\n}"
2218
2400
  },
2219
2401
  {
2220
2402
  "name": "SessionEventType",
@@ -2230,7 +2412,7 @@ export const TYPERT = {
2230
2412
  },
2231
2413
  {
2232
2414
  "name": "SessionForkRequest",
2233
- "declaration": "export interface SessionForkRequest {\n readonly sessionId: SessionId;\n readonly atSeq?: number;\n}"
2415
+ "declaration": "export interface SessionForkRequest {\n readonly sessionId: SessionId;\n readonly atSeq?: number;\n readonly allowMigration?: boolean;\n}"
2234
2416
  },
2235
2417
  {
2236
2418
  "name": "SessionForkValue",
@@ -2294,7 +2476,7 @@ export const TYPERT = {
2294
2476
  },
2295
2477
  {
2296
2478
  "name": "SessionProjectionMap",
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}"
2479
+ "declaration": "export interface SessionProjectionMap {\n inbox: InboxWireState;\n workingDirectory: string | null;\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}"
2298
2480
  },
2299
2481
  {
2300
2482
  "name": "SessionProjectionsRequest",
@@ -2302,7 +2484,7 @@ export const TYPERT = {
2302
2484
  },
2303
2485
  {
2304
2486
  "name": "SessionProjectionsValue",
2305
- "declaration": "export type SessionProjectionsValue = SessionProjectionBaseline | null;"
2487
+ "declaration": "export type SessionProjectionsValue = (SessionProjectionBaseline & { readonly kind: 'sequenced'; }) | { readonly kind: 'migration-required'; readonly values: SessionProjectionValues; } | null;"
2306
2488
  },
2307
2489
  {
2308
2490
  "name": "SessionProjectionUpdate",
@@ -2374,7 +2556,7 @@ export const TYPERT = {
2374
2556
  },
2375
2557
  {
2376
2558
  "name": "SessionSummary",
2377
- "declaration": "export interface SessionSummary {\n readonly agentAvailable: boolean;\n readonly sessionId: SessionId;\n readonly updatedAt: number;\n readonly running: boolean;\n readonly blank: boolean;\n readonly parentSessionId?: SessionId;\n readonly origin?: 'subagent';\n readonly cwd?: string;\n readonly projections?: SessionProjectionHints;\n}"
2559
+ "declaration": "export interface SessionSummary {\n readonly agentAvailable: boolean;\n readonly formatStatus?: 'current' | 'migration-required';\n readonly sessionId: SessionId;\n readonly updatedAt: number;\n readonly running: boolean;\n readonly blank: boolean;\n readonly parentSessionId?: SessionId;\n readonly origin?: 'subagent';\n readonly cwd?: string;\n readonly projections?: SessionProjectionHints;\n}"
2378
2560
  },
2379
2561
  {
2380
2562
  "name": "SessionSurface",
@@ -2430,11 +2612,11 @@ export const TYPERT = {
2430
2612
  },
2431
2613
  {
2432
2614
  "name": "SubagentCatalogEntry",
2433
- "declaration": "export type SubagentCatalogEntry = { readonly id: SessionId; readonly createdAt: number; } & ({ readonly mode: 'one-shot'; readonly label?: string; } | { readonly mode: 'continuable'; readonly label: string; } | { readonly mode: 'unknown'; readonly label?: string; });"
2615
+ "declaration": "export type SubagentCatalogEntry = { readonly id: SessionId; readonly createdAt: number; } & ({ readonly mode: 'one-shot'; readonly label?: string; } | { readonly mode: 'external'; readonly label?: string; } | { readonly mode: 'continuable'; readonly label: string; } | { readonly mode: 'unknown'; readonly label?: string; });"
2434
2616
  },
2435
2617
  {
2436
2618
  "name": "SubagentCatalogEvent",
2437
- "declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })));"
2619
+ "declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })) | { readonly version: 2; readonly mode: 'external'; readonly label?: string; });"
2438
2620
  },
2439
2621
  {
2440
2622
  "name": "SubagentDescriptorBase",
@@ -2829,12 +3011,16 @@ export const TYPERT = {
2829
3011
  },
2830
3012
  {
2831
3013
  "name": "LlmCallConfig",
2832
- "declaration": "export interface LlmCallConfig {\n provider: string;\n model: string;\n reasoningEffort?: ReasoningEffortId;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n}"
3014
+ "declaration": "export interface LlmCallConfig extends LlmCallControls {\n provider: string;\n model: string;\n}"
2833
3015
  },
2834
3016
  {
2835
3017
  "name": "LlmCallConfigAdapterDefaults",
2836
3018
  "declaration": "export interface LlmCallConfigAdapterDefaults {\n reasoningEffort?: true;\n maxTokens?: true;\n}"
2837
3019
  },
3020
+ {
3021
+ "name": "LlmCallControls",
3022
+ "declaration": "export interface LlmCallControls {\n reasoningEffort?: ReasoningEffortId;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n}"
3023
+ },
2838
3024
  {
2839
3025
  "name": "LlmFailure",
2840
3026
  "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}"
@@ -2889,7 +3075,7 @@ export const TYPERT = {
2889
3075
  },
2890
3076
  {
2891
3077
  "name": "MessageSourceMap",
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}"
3078
+ "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'compact-checkpoint': CompactionCheckpointSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n}"
2893
3079
  },
2894
3080
  {
2895
3081
  "name": "ModelMessageSource",
@@ -2917,7 +3103,7 @@ export const TYPERT = {
2917
3103
  },
2918
3104
  {
2919
3105
  "name": "PtcDispatchEventData",
2920
- "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n error?: { name: string; code: string; reason?: string; };\n}"
3106
+ "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n meta?: JsonValue;\n error?: { name: string; code: string; reason?: string; };\n}"
2921
3107
  },
2922
3108
  {
2923
3109
  "name": "PtcDispatchStartEventData",
@@ -2981,7 +3167,7 @@ export const TYPERT = {
2981
3167
  },
2982
3168
  {
2983
3169
  "name": "SessionEventMap",
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}"
3170
+ "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\n}"
2985
3171
  },
2986
3172
  {
2987
3173
  "name": "SessionEventType",
@@ -3041,7 +3227,7 @@ export const TYPERT = {
3041
3227
  },
3042
3228
  {
3043
3229
  "name": "SubagentCatalogEvent",
3044
- "declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })));"
3230
+ "declaration": "export type SubagentCatalogEvent = { readonly childId: SessionId; readonly childCreatedAt: number; } & (({ readonly version: 0; } & KnownCatalogMode) | ({ readonly version: 1; } & (KnownCatalogMode | { readonly mode: 'unknown'; readonly label?: string; })) | { readonly version: 2; readonly mode: 'external'; readonly label?: string; });"
3045
3231
  },
3046
3232
  {
3047
3233
  "name": "SubagentDescriptorBase",