@deepseek-ai/dsh-api-session-controller 0.1.5-rc.2 → 0.1.6-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.
Files changed (39) hide show
  1. package/README.i18n.yaml +2 -2
  2. package/README.md +20 -4
  3. package/README.zh.md +26 -10
  4. package/lib/client.js +432 -474
  5. package/lib/index.js +18 -49
  6. package/lib/typert.host.js +242 -200
  7. package/lib/typert.remote-client.js +195 -165
  8. package/lib/types/agent.d.ts +1 -1
  9. package/lib/types/agent.js +8 -1
  10. package/lib/types/client/contract/sessions.d.ts +55 -20
  11. package/lib/types/client/contract/snapshot.d.ts +0 -14
  12. package/lib/types/client/index.d.ts +11 -2
  13. package/lib/types/client/index.js +16 -5
  14. package/lib/types/client/scope.d.ts +13 -3
  15. package/lib/types/client/scope.js +15 -22
  16. package/lib/types/client/sessions/lineage.d.ts +1 -4
  17. package/lib/types/client/sessions/lineage.js +1 -3
  18. package/lib/types/client/sessions/manager.d.ts +28 -49
  19. package/lib/types/client/sessions/manager.js +75 -174
  20. package/lib/types/client/sessions/projection-store.d.ts +5 -11
  21. package/lib/types/client/sessions/projection-store.js +6 -14
  22. package/lib/types/client/sessions/service.d.ts +34 -119
  23. package/lib/types/client/sessions/service.js +259 -244
  24. package/lib/types/client/sessions/session.d.ts +7 -20
  25. package/lib/types/client/sessions/session.js +29 -33
  26. package/lib/types/client/time-zone.d.ts +1 -1
  27. package/lib/types/client/time-zone.js +1 -1
  28. package/lib/types/commands.d.ts +2 -2
  29. package/lib/types/commands.js +13 -8
  30. package/lib/types/control.d.ts +1 -1
  31. package/lib/types/control.js +1 -41
  32. package/lib/types/history.js +1 -0
  33. package/lib/types/index.d.ts +2 -2
  34. package/lib/types/index.js +2 -1
  35. package/lib/types/skill-catalog.js +1 -0
  36. package/lib/types/types.d.ts +5 -17
  37. package/package.json +72 -69
  38. package/lib/types/client/sessions/queue-mirror.d.ts +0 -26
  39. package/lib/types/client/sessions/queue-mirror.js +0 -61
@@ -1,7 +1,8 @@
1
1
  /* Generated by @deepseek-ai/dsh-typert-generator from FaceModel — do not edit. */
2
2
  import { z } from 'zod'
3
3
 
4
- const ContentBlockRemoteCodec$schema = z.union([z.object({
4
+ let ContentBlockRemoteCodec$schema$value
5
+ const ContentBlockRemoteCodec$schema = () => (ContentBlockRemoteCodec$schema$value ??= z.union([z.object({
5
6
  'type': z.literal("file"),
6
7
  'attachment': z.object({
7
8
  'attachmentId': z.intersection(z.string(), z.unknown()),
@@ -25,6 +26,7 @@ const ContentBlockRemoteCodec$schema = z.union([z.object({
25
26
  'height': z.number(),
26
27
  }).optional(),
27
28
  }),
29
+ 'offloaded': z.literal(true).optional(),
28
30
  }), z.object({
29
31
  'type': z.literal("reasoning"),
30
32
  'text': z.string(),
@@ -36,24 +38,33 @@ const ContentBlockRemoteCodec$schema = z.union([z.object({
36
38
  }), z.object({
37
39
  'type': z.literal("tool-result"),
38
40
  'toolCallId': z.intersection(z.string(), z.unknown()),
39
- 'content': z.array(z.lazy(() => ContentBlockRemoteCodec$schema)),
41
+ 'content': z.array(z.lazy(() => ContentBlockRemoteCodec$schema())),
40
42
  'isError': z.boolean().optional(),
41
- })])
42
- const JsonValueRemoteCodec$schema = 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))])
43
- const JsonValueRemoteCodec$schema2 = z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2))])
44
- const JsonValueRemoteCodec$schema3 = 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))])
45
- const JsonValueRemoteCodec$schema4 = 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))])
46
- const _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_0$schema = z.intersection(z.string(), z.unknown())
47
- const _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_1$schema = z.string()
48
- const _deepseek_ai_dsh_api_session_controller_fileReferences_list_result$schema = z.array(z.object({
43
+ })]))
44
+ let JsonValueRemoteCodec$schema$value
45
+ const JsonValueRemoteCodec$schema = () => (JsonValueRemoteCodec$schema$value ??= 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()))]))
46
+ let JsonValueRemoteCodec$schema2$value
47
+ const JsonValueRemoteCodec$schema2 = () => (JsonValueRemoteCodec$schema2$value ??= z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2()))]))
48
+ let JsonValueRemoteCodec$schema3$value
49
+ const JsonValueRemoteCodec$schema3 = () => (JsonValueRemoteCodec$schema3$value ??= 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()))]))
50
+ let JsonValueRemoteCodec$schema4$value
51
+ const JsonValueRemoteCodec$schema4 = () => (JsonValueRemoteCodec$schema4$value ??= 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()))]))
52
+ let _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_0$schema$value
53
+ const _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
54
+ let _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_1$schema$value
55
+ const _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_1$schema = () => (_deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_1$schema$value ??= z.string())
56
+ let _deepseek_ai_dsh_api_session_controller_fileReferences_list_result$schema$value
57
+ const _deepseek_ai_dsh_api_session_controller_fileReferences_list_result$schema = () => (_deepseek_ai_dsh_api_session_controller_fileReferences_list_result$schema$value ??= z.array(z.object({
49
58
  'path': z.string(),
50
59
  'kind': z.union([z.literal("file"), z.literal("directory")]),
51
- }))
52
- const _deepseek_ai_dsh_api_session_controller_session_attachment_parameter_0$schema = z.object({
60
+ })))
61
+ let _deepseek_ai_dsh_api_session_controller_session_attachment_parameter_0$schema$value
62
+ const _deepseek_ai_dsh_api_session_controller_session_attachment_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_attachment_parameter_0$schema$value ??= z.object({
53
63
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
54
64
  'attachmentId': z.intersection(z.string(), z.unknown()).readonly(),
55
- })
56
- const _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema = z.object({
65
+ }))
66
+ let _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema$value
67
+ const _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_attachment_result$schema$value ??= z.object({
57
68
  'attachment': z.object({
58
69
  'attachmentId': z.intersection(z.string(), z.unknown()),
59
70
  'mediaType': z.union([z.literal("image/png"), z.literal("image/jpeg"), z.literal("image/webp"), z.literal("image/gif")]),
@@ -67,26 +78,21 @@ const _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema =
67
78
  }).optional(),
68
79
  }).readonly(),
69
80
  'data': z.string().readonly(),
70
- })
71
- const _deepseek_ai_dsh_api_session_controller_session_cancel_parameter_0$schema = z.object({
81
+ }))
82
+ let _deepseek_ai_dsh_api_session_controller_session_cancel_parameter_0$schema$value
83
+ const _deepseek_ai_dsh_api_session_controller_session_cancel_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_cancel_parameter_0$schema$value ??= z.object({
72
84
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
73
- })
74
- const _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema = z.object({
85
+ }))
86
+ let _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema$value
87
+ const _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_cancel_result$schema$value ??= z.object({
75
88
  'accepted': z.literal(true).readonly(),
76
- })
77
- const _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema = z.boolean()
78
- const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = z.union([z.object({
89
+ }))
90
+ let _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema$value
91
+ const _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema$value ??= z.boolean())
92
+ let _deepseek_ai_dsh_api_session_controller_session_control_result$schema$value
93
+ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_control_result$schema$value ??= z.union([z.object({
79
94
  'type': z.literal("baseline").readonly(),
80
95
  'value': z.object({
81
- 'queues': z.record(z.intersection(z.string(), z.unknown()), z.array(z.object({
82
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
83
- 'placement': z.union([z.literal("queued"), z.literal("steering"), z.literal("context")]).readonly(),
84
- 'rpcId': z.intersection(z.string(), z.unknown()).readonly().optional(),
85
- 'message': z.object({
86
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
87
- 'content': 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(),
88
- }).readonly(),
89
- }))).readonly().readonly(),
90
96
  'jobs': z.record(z.intersection(z.string(), z.unknown()), z.array(z.object({
91
97
  'id': z.intersection(z.string(), z.unknown()).readonly(),
92
98
  'kind': z.string().readonly(),
@@ -100,8 +106,8 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = z.
100
106
  'asOfSeq': z.number().readonly(),
101
107
  'values': z.intersection(z.object({
102
108
  'inbox': z.object({
103
- '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(),
104
- '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(),
109
+ '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(),
110
+ '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(),
105
111
  }).optional(),
106
112
  'agentPreset': z.union([z.literal(null), z.string()]).optional(),
107
113
  'title': z.union([z.literal(null), z.string()]).optional(),
@@ -132,6 +138,9 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = z.
132
138
  'model': z.string().readonly(),
133
139
  'reasoningEffort': z.string().readonly().optional(),
134
140
  })]).readonly(),
141
+ }).optional(),
142
+ 'permissions': z.object({
143
+ 'currentValue': z.string(),
135
144
  }).optional(),
136
145
  'subagentCatalog': z.array(z.union([z.intersection(z.object({
137
146
  'id': z.intersection(z.string(), z.unknown()).readonly(),
@@ -178,21 +187,9 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = z.
178
187
  'createdAt': z.number().readonly(),
179
188
  'updatedAt': z.number().readonly(),
180
189
  })]).optional(),
181
- }), 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(),
190
+ }), 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(),
182
191
  })).readonly().readonly(),
183
192
  }).readonly(),
184
- }), z.object({
185
- 'type': z.literal("queue").readonly(),
186
- 'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
187
- 'items': z.array(z.object({
188
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
189
- 'placement': z.union([z.literal("queued"), z.literal("steering"), z.literal("context")]).readonly(),
190
- 'rpcId': z.intersection(z.string(), z.unknown()).readonly().optional(),
191
- 'message': z.object({
192
- 'id': z.intersection(z.string(), z.unknown()).readonly(),
193
- 'content': 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(),
194
- }).readonly(),
195
- })).readonly(),
196
193
  }), z.object({
197
194
  'type': z.literal("jobs").readonly(),
198
195
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -210,20 +207,23 @@ const _deepseek_ai_dsh_api_session_controller_session_control_result$schema = z.
210
207
  }), z.object({
211
208
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
212
209
  'key': z.string().readonly(),
213
- 'value': 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(),
210
+ 'value': 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(),
214
211
  'seq': z.number().readonly(),
215
- }))])
216
- const _deepseek_ai_dsh_api_session_controller_session_create_parameter_0$schema = z.object({
212
+ }))]))
213
+ let _deepseek_ai_dsh_api_session_controller_session_create_parameter_0$schema$value
214
+ const _deepseek_ai_dsh_api_session_controller_session_create_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_create_parameter_0$schema$value ??= z.object({
217
215
  'workspaceId': z.intersection(z.string(), z.unknown()).readonly().optional(),
218
216
  'cwd': z.string().readonly().optional(),
219
217
  'sessionId': z.intersection(z.string(), z.unknown()).readonly().optional(),
220
218
  'agentPreset': z.string().readonly().optional(),
221
- })
222
- const _deepseek_ai_dsh_api_session_controller_session_create_result$schema = z.object({
219
+ }))
220
+ let _deepseek_ai_dsh_api_session_controller_session_create_result$schema$value
221
+ const _deepseek_ai_dsh_api_session_controller_session_create_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_create_result$schema$value ??= z.object({
223
222
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
224
223
  'agentPreset': z.string().readonly().optional(),
225
- })
226
- const _deepseek_ai_dsh_api_session_controller_session_follow_parameter_0$schema = z.object({
224
+ }))
225
+ let _deepseek_ai_dsh_api_session_controller_session_follow_parameter_0$schema$value
226
+ const _deepseek_ai_dsh_api_session_controller_session_follow_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_follow_parameter_0$schema$value ??= z.object({
227
227
  'address': z.union([z.object({
228
228
  'kind': z.literal("session").readonly(),
229
229
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -235,17 +235,18 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_parameter_0$schema
235
235
  })]).readonly(),
236
236
  'maxMessages': z.number().readonly().optional(),
237
237
  'assistantStream': z.literal(true).readonly().optional(),
238
- })
239
- const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.union([z.object({
238
+ }))
239
+ let _deepseek_ai_dsh_api_session_controller_session_follow_result$schema$value
240
+ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_follow_result$schema$value ??= z.union([z.object({
240
241
  'type': z.literal("event").readonly(),
241
242
  'event': z.object({
242
243
  'type': z.string().readonly(),
243
244
  'seq': z.number().readonly(),
244
245
  'time': z.number().readonly(),
245
- 'data': 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(),
246
+ 'data': 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(),
246
247
  'ignorable': z.literal(true).readonly().optional(),
247
- 'sourceEventSeqs': 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().optional(),
248
- 'surfaceOp': 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().optional(),
248
+ 'sourceEventSeqs': 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().optional(),
249
+ 'surfaceOp': 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().optional(),
249
250
  }).readonly(),
250
251
  }), z.object({
251
252
  'type': z.literal("snapshot").readonly(),
@@ -267,10 +268,10 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
267
268
  'type': z.string().readonly(),
268
269
  'seq': z.number().readonly(),
269
270
  'time': z.number().readonly(),
270
- 'data': 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(),
271
+ 'data': 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(),
271
272
  'ignorable': z.literal(true).readonly().optional(),
272
- 'sourceEventSeqs': 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().optional(),
273
- 'surfaceOp': 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().optional(),
273
+ 'sourceEventSeqs': 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().optional(),
274
+ 'surfaceOp': 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().optional(),
274
275
  }).readonly(),
275
276
  })).readonly(),
276
277
  'hasMore': z.boolean().readonly(),
@@ -278,8 +279,8 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
278
279
  'asOfSeq': z.number().readonly(),
279
280
  'values': z.intersection(z.object({
280
281
  'inbox': z.object({
281
- '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(),
282
- '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
+ '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(),
283
+ '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(),
283
284
  }).optional(),
284
285
  'agentPreset': z.union([z.literal(null), z.string()]).optional(),
285
286
  'title': z.union([z.literal(null), z.string()]).optional(),
@@ -310,6 +311,9 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
310
311
  'model': z.string().readonly(),
311
312
  'reasoningEffort': z.string().readonly().optional(),
312
313
  })]).readonly(),
314
+ }).optional(),
315
+ 'permissions': z.object({
316
+ 'currentValue': z.string(),
313
317
  }).optional(),
314
318
  'subagentCatalog': z.array(z.union([z.intersection(z.object({
315
319
  'id': z.intersection(z.string(), z.unknown()).readonly(),
@@ -356,7 +360,7 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
356
360
  'createdAt': z.number().readonly(),
357
361
  'updatedAt': z.number().readonly(),
358
362
  })]).optional(),
359
- }), 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(),
363
+ }), 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(),
360
364
  }).readonly(),
361
365
  'assistantStream': z.object({
362
366
  'revision': z.number().readonly(),
@@ -366,7 +370,7 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
366
370
  'turn': z.number().readonly(),
367
371
  'step': z.number().readonly(),
368
372
  'nextIndex': z.number().readonly(),
369
- 'stream': 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(),
373
+ 'stream': 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(),
370
374
  }).readonly().optional(),
371
375
  }).readonly().optional(),
372
376
  }), z.object({
@@ -384,7 +388,7 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
384
388
  'revision': z.number().readonly(),
385
389
  'index': z.number().readonly(),
386
390
  'time': z.number().readonly(),
387
- 'chunk': 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(),
391
+ 'chunk': 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(),
388
392
  }), z.object({
389
393
  'type': z.literal("end").readonly(),
390
394
  'attemptId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -398,18 +402,22 @@ const _deepseek_ai_dsh_api_session_controller_session_follow_result$schema = z.u
398
402
  'kind': z.literal("abandoned").readonly(),
399
403
  })]).readonly(),
400
404
  })]).readonly(),
401
- })])
402
- const _deepseek_ai_dsh_api_session_controller_session_fork_parameter_0$schema = z.object({
405
+ })]))
406
+ let _deepseek_ai_dsh_api_session_controller_session_fork_parameter_0$schema$value
407
+ 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({
403
408
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
404
409
  'atSeq': z.number().readonly().optional(),
405
- })
406
- const _deepseek_ai_dsh_api_session_controller_session_fork_result$schema = z.object({
410
+ }))
411
+ let _deepseek_ai_dsh_api_session_controller_session_fork_result$schema$value
412
+ const _deepseek_ai_dsh_api_session_controller_session_fork_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_fork_result$schema$value ??= z.object({
407
413
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
408
- })
409
- const _deepseek_ai_dsh_api_session_controller_session_list_parameter_0$schema = z.object({
414
+ }))
415
+ let _deepseek_ai_dsh_api_session_controller_session_list_parameter_0$schema$value
416
+ const _deepseek_ai_dsh_api_session_controller_session_list_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_list_parameter_0$schema$value ??= z.object({
410
417
  'cursor': z.string().readonly().optional(),
411
- })
412
- const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = z.object({
418
+ }))
419
+ let _deepseek_ai_dsh_api_session_controller_session_list_result$schema$value
420
+ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_list_result$schema$value ??= z.object({
413
421
  'items': z.array(z.object({
414
422
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
415
423
  'updatedAt': z.number().readonly(),
@@ -422,8 +430,8 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = z.obj
422
430
  'asOfSeq': z.number().readonly(),
423
431
  'values': z.intersection(z.object({
424
432
  'inbox': z.object({
425
- '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(),
426
- '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(),
433
+ '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(),
434
+ '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(),
427
435
  }).optional(),
428
436
  'agentPreset': z.union([z.literal(null), z.string()]).optional(),
429
437
  'title': z.union([z.literal(null), z.string()]).optional(),
@@ -454,6 +462,9 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = z.obj
454
462
  'model': z.string().readonly(),
455
463
  'reasoningEffort': z.string().readonly().optional(),
456
464
  })]).readonly(),
465
+ }).optional(),
466
+ 'permissions': z.object({
467
+ 'currentValue': z.string(),
457
468
  }).optional(),
458
469
  'subagentCatalog': z.array(z.union([z.intersection(z.object({
459
470
  'id': z.intersection(z.string(), z.unknown()).readonly(),
@@ -500,11 +511,12 @@ const _deepseek_ai_dsh_api_session_controller_session_list_result$schema = z.obj
500
511
  'createdAt': z.number().readonly(),
501
512
  'updatedAt': z.number().readonly(),
502
513
  })]).optional(),
503
- }), 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(),
514
+ }), 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(),
504
515
  }).readonly().optional(),
505
516
  })).readonly(),
506
- })
507
- const _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema = z.object({
517
+ }))
518
+ let _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema$value
519
+ const _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema$value ??= z.object({
508
520
  'default': z.object({
509
521
  'provider': z.string().readonly(),
510
522
  'model': z.string().readonly(),
@@ -533,15 +545,18 @@ const _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema
533
545
  'name': z.string().readonly(),
534
546
  'message': z.string().readonly(),
535
547
  })).readonly(),
536
- })
537
- const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema = z.object({
548
+ }))
549
+ let _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema$value
550
+ const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema$value ??= z.object({
538
551
  'action': z.literal("reveal").readonly().optional(),
539
552
  'path': z.string().readonly(),
540
- })
541
- const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema = z.object({
553
+ }))
554
+ let _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema$value
555
+ const _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema$value ??= z.object({
542
556
  'opened': z.literal(true).readonly(),
543
- })
544
- const _deepseek_ai_dsh_api_session_controller_session_page_parameter_0$schema = z.object({
557
+ }))
558
+ let _deepseek_ai_dsh_api_session_controller_session_page_parameter_0$schema$value
559
+ const _deepseek_ai_dsh_api_session_controller_session_page_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_page_parameter_0$schema$value ??= z.object({
545
560
  'address': z.union([z.object({
546
561
  'kind': z.literal("session").readonly(),
547
562
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
@@ -554,23 +569,25 @@ const _deepseek_ai_dsh_api_session_controller_session_page_parameter_0$schema =
554
569
  'throughSeq': z.number().readonly(),
555
570
  'beforeSeq': z.number().readonly().optional(),
556
571
  'maxMessages': z.number().readonly().optional(),
557
- })
558
- const _deepseek_ai_dsh_api_session_controller_session_page_result$schema = z.object({
572
+ }))
573
+ let _deepseek_ai_dsh_api_session_controller_session_page_result$schema$value
574
+ const _deepseek_ai_dsh_api_session_controller_session_page_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_page_result$schema$value ??= z.object({
559
575
  'records': z.array(z.object({
560
576
  'type': z.literal("event").readonly(),
561
577
  'event': z.object({
562
578
  'type': z.string().readonly(),
563
579
  'seq': z.number().readonly(),
564
580
  'time': z.number().readonly(),
565
- 'data': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2))]).readonly(),
581
+ 'data': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2()))]).readonly(),
566
582
  'ignorable': z.literal(true).readonly().optional(),
567
- 'sourceEventSeqs': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2))]).readonly().optional(),
568
- 'surfaceOp': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2)), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2))]).readonly().optional(),
583
+ 'sourceEventSeqs': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2()))]).readonly().optional(),
584
+ 'surfaceOp': z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => JsonValueRemoteCodec$schema2())), z.record(z.string(), z.lazy(() => JsonValueRemoteCodec$schema2()))]).readonly().optional(),
569
585
  }).readonly(),
570
586
  })).readonly(),
571
587
  'hasMore': z.boolean().readonly(),
572
- })
573
- const _deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema = z.object({
588
+ }))
589
+ let _deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema$value
590
+ const _deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema$value ??= z.object({
574
591
  'requestId': z.intersection(z.string(), z.unknown()).readonly(),
575
592
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
576
593
  'mode': z.union([z.literal("queue"), z.literal("steer")]).readonly(),
@@ -587,42 +604,50 @@ const _deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema
587
604
  'receiptId': z.intersection(z.string(), z.unknown()).readonly(),
588
605
  })])).readonly(),
589
606
  'clientTimeZone': z.string().readonly().optional(),
590
- })
591
- const _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema = z.object({
607
+ }))
608
+ let _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema$value
609
+ const _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_prompt_result$schema$value ??= z.object({
592
610
  'accepted': z.literal(true).readonly(),
593
- })
594
- const _deepseek_ai_dsh_api_session_controller_session_rename_parameter_0$schema = z.object({
611
+ }))
612
+ let _deepseek_ai_dsh_api_session_controller_session_rename_parameter_0$schema$value
613
+ const _deepseek_ai_dsh_api_session_controller_session_rename_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_rename_parameter_0$schema$value ??= z.object({
595
614
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
596
615
  'title': z.string().readonly(),
597
- })
598
- const _deepseek_ai_dsh_api_session_controller_session_rename_result$schema = z.object({
616
+ }))
617
+ let _deepseek_ai_dsh_api_session_controller_session_rename_result$schema$value
618
+ const _deepseek_ai_dsh_api_session_controller_session_rename_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_rename_result$schema$value ??= z.object({
599
619
  'title': z.string().readonly(),
600
620
  'seq': z.number().readonly(),
601
- })
602
- const _deepseek_ai_dsh_api_session_controller_session_search_parameter_0$schema = z.object({
621
+ }))
622
+ let _deepseek_ai_dsh_api_session_controller_session_search_parameter_0$schema$value
623
+ const _deepseek_ai_dsh_api_session_controller_session_search_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_search_parameter_0$schema$value ??= z.object({
603
624
  'query': z.string().readonly(),
604
- })
605
- const _deepseek_ai_dsh_api_session_controller_session_search_result$schema = z.object({
625
+ }))
626
+ let _deepseek_ai_dsh_api_session_controller_session_search_result$schema$value
627
+ const _deepseek_ai_dsh_api_session_controller_session_search_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_search_result$schema$value ??= z.object({
606
628
  'items': z.array(z.object({
607
629
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
608
630
  'snippet': z.string().readonly(),
609
631
  })).readonly(),
610
632
  'hasMore': z.boolean().readonly(),
611
- })
612
- const _deepseek_ai_dsh_api_session_controller_session_selectModel_parameter_0$schema = z.object({
633
+ }))
634
+ let _deepseek_ai_dsh_api_session_controller_session_selectModel_parameter_0$schema$value
635
+ const _deepseek_ai_dsh_api_session_controller_session_selectModel_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_selectModel_parameter_0$schema$value ??= z.object({
613
636
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
614
637
  'provider': z.string().readonly(),
615
638
  'model': z.string().readonly(),
616
639
  'reasoningEffort': z.string().readonly().optional(),
617
- })
618
- const _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema = z.object({
640
+ }))
641
+ let _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema$value
642
+ const _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema$value ??= z.object({
619
643
  'selected': z.object({
620
644
  'provider': z.string().readonly(),
621
645
  'model': z.string().readonly(),
622
646
  'reasoningEffort': z.string().readonly().optional(),
623
647
  }).readonly(),
624
- })
625
- const _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$schema = z.object({
648
+ }))
649
+ let _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$schema$value
650
+ const _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$schema$value ??= z.object({
626
651
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
627
652
  'itemId': z.intersection(z.string(), z.unknown()).readonly(),
628
653
  'action': z.union([z.object({
@@ -651,6 +676,7 @@ const _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$sc
651
676
  'height': z.number(),
652
677
  }).optional(),
653
678
  }),
679
+ 'offloaded': z.literal(true).optional(),
654
680
  }), z.object({
655
681
  'type': z.literal("reasoning"),
656
682
  'text': z.string(),
@@ -662,7 +688,7 @@ const _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$sc
662
688
  }), z.object({
663
689
  'type': z.literal("tool-result"),
664
690
  'toolCallId': z.intersection(z.string(), z.unknown()),
665
- 'content': z.array(z.lazy(() => ContentBlockRemoteCodec$schema)),
691
+ 'content': z.array(z.lazy(() => ContentBlockRemoteCodec$schema())),
666
692
  'isError': z.boolean().optional(),
667
693
  })])).readonly(),
668
694
  }), z.object({
@@ -670,21 +696,25 @@ const _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$sc
670
696
  }), z.object({
671
697
  'kind': z.literal("steer").readonly(),
672
698
  })]).readonly(),
673
- })
674
- const _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema = z.object({
699
+ }))
700
+ let _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema$value
701
+ const _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema = () => (_deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema$value ??= z.object({
675
702
  'accepted': z.literal(true).readonly(),
676
- })
677
- const _deepseek_ai_dsh_api_session_controller_skills_list_parameter_0$schema = z.object({
703
+ }))
704
+ let _deepseek_ai_dsh_api_session_controller_skills_list_parameter_0$schema$value
705
+ const _deepseek_ai_dsh_api_session_controller_skills_list_parameter_0$schema = () => (_deepseek_ai_dsh_api_session_controller_skills_list_parameter_0$schema$value ??= z.object({
678
706
  'sessionId': z.intersection(z.string(), z.unknown()).readonly(),
679
- })
680
- const _deepseek_ai_dsh_api_session_controller_skills_list_result$schema = z.object({
707
+ }))
708
+ let _deepseek_ai_dsh_api_session_controller_skills_list_result$schema$value
709
+ const _deepseek_ai_dsh_api_session_controller_skills_list_result$schema = () => (_deepseek_ai_dsh_api_session_controller_skills_list_result$schema$value ??= z.object({
681
710
  'skills': z.array(z.object({
711
+ 'path': z.string().readonly().optional(),
682
712
  'name': z.string().readonly(),
683
713
  'description': z.string().readonly(),
684
714
  'whenToUse': z.string().readonly().optional(),
685
715
  'modelInvocable': z.boolean().readonly(),
686
716
  })).readonly(),
687
- })
717
+ }))
688
718
 
689
719
  export const TYPERT = {
690
720
  package: '@deepseek-ai/dsh-api-session-controller',
@@ -711,7 +741,7 @@ export const TYPERT = {
711
741
  codec: {
712
742
  mode: 'strict',
713
743
  typeSymbol: '@deepseek-ai/dsh-session/types#SessionId',
714
- schema: _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_0$schema,
744
+ create: _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_0$schema,
715
745
  },
716
746
  },
717
747
  {
@@ -721,7 +751,7 @@ export const TYPERT = {
721
751
  codec: {
722
752
  mode: 'strict',
723
753
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#fileReferences/list:query',
724
- schema: _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_1$schema,
754
+ create: _deepseek_ai_dsh_api_session_controller_fileReferences_list_parameter_1$schema,
725
755
  },
726
756
  },
727
757
  ],
@@ -729,7 +759,7 @@ export const TYPERT = {
729
759
  result: {
730
760
  mode: 'strict',
731
761
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#fileReferences/list:result',
732
- schema: _deepseek_ai_dsh_api_session_controller_fileReferences_list_result$schema,
762
+ create: _deepseek_ai_dsh_api_session_controller_fileReferences_list_result$schema,
733
763
  },
734
764
  sourceLocation: {"file":"packages/api/session-controller/src/file-references.ts","line":33,"column":3},
735
765
  },
@@ -747,16 +777,16 @@ export const TYPERT = {
747
777
  codec: {
748
778
  mode: 'strict',
749
779
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionAttachmentRequest',
750
- schema: _deepseek_ai_dsh_api_session_controller_session_attachment_parameter_0$schema,
780
+ create: _deepseek_ai_dsh_api_session_controller_session_attachment_parameter_0$schema,
751
781
  },
752
782
  },
753
783
  ],
754
784
  result: {
755
785
  mode: 'strict',
756
786
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionAttachmentValue',
757
- schema: _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema,
787
+ create: _deepseek_ai_dsh_api_session_controller_session_attachment_result$schema,
758
788
  },
759
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":357,"column":3},
789
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":358,"column":3},
760
790
  },
761
791
  {
762
792
  id: '@deepseek-ai/dsh-api-session-controller#session/cancel',
@@ -772,16 +802,16 @@ export const TYPERT = {
772
802
  codec: {
773
803
  mode: 'strict',
774
804
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCancelRequest',
775
- schema: _deepseek_ai_dsh_api_session_controller_session_cancel_parameter_0$schema,
805
+ create: _deepseek_ai_dsh_api_session_controller_session_cancel_parameter_0$schema,
776
806
  },
777
807
  },
778
808
  ],
779
809
  result: {
780
810
  mode: 'strict',
781
811
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCancelValue',
782
- schema: _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema,
812
+ create: _deepseek_ai_dsh_api_session_controller_session_cancel_result$schema,
783
813
  },
784
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":377,"column":3},
814
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":378,"column":3},
785
815
  },
786
816
  {
787
817
  id: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath',
@@ -794,9 +824,9 @@ export const TYPERT = {
794
824
  result: {
795
825
  mode: 'strict',
796
826
  typeSymbol: '@deepseek-ai/dsh-api-session-controller#session/canOpenWorkspacePath:result',
797
- schema: _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema,
827
+ create: _deepseek_ai_dsh_api_session_controller_session_canOpenWorkspacePath_result$schema,
798
828
  },
799
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":272,"column":3},
829
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":273,"column":3},
800
830
  },
801
831
  {
802
832
  id: '@deepseek-ai/dsh-api-session-controller#session/control',
@@ -811,9 +841,9 @@ export const TYPERT = {
811
841
  result: {
812
842
  mode: 'strict',
813
843
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionControlFrame',
814
- schema: _deepseek_ai_dsh_api_session_controller_session_control_result$schema,
844
+ create: _deepseek_ai_dsh_api_session_controller_session_control_result$schema,
815
845
  },
816
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":410,"column":3},
846
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":411,"column":3},
817
847
  },
818
848
  {
819
849
  id: '@deepseek-ai/dsh-api-session-controller#session/create',
@@ -829,16 +859,16 @@ export const TYPERT = {
829
859
  codec: {
830
860
  mode: 'strict',
831
861
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCreateRequest',
832
- schema: _deepseek_ai_dsh_api_session_controller_session_create_parameter_0$schema,
862
+ create: _deepseek_ai_dsh_api_session_controller_session_create_parameter_0$schema,
833
863
  },
834
864
  },
835
865
  ],
836
866
  result: {
837
867
  mode: 'strict',
838
868
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionCreateValue',
839
- schema: _deepseek_ai_dsh_api_session_controller_session_create_result$schema,
869
+ create: _deepseek_ai_dsh_api_session_controller_session_create_result$schema,
840
870
  },
841
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":244,"column":3},
871
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":245,"column":3},
842
872
  },
843
873
  {
844
874
  id: '@deepseek-ai/dsh-api-session-controller#session/follow',
@@ -855,7 +885,7 @@ export const TYPERT = {
855
885
  codec: {
856
886
  mode: 'strict',
857
887
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionFollowRequest',
858
- schema: _deepseek_ai_dsh_api_session_controller_session_follow_parameter_0$schema,
888
+ create: _deepseek_ai_dsh_api_session_controller_session_follow_parameter_0$schema,
859
889
  },
860
890
  },
861
891
  ],
@@ -863,9 +893,9 @@ export const TYPERT = {
863
893
  result: {
864
894
  mode: 'strict',
865
895
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionFollowFrame',
866
- schema: _deepseek_ai_dsh_api_session_controller_session_follow_result$schema,
896
+ create: _deepseek_ai_dsh_api_session_controller_session_follow_result$schema,
867
897
  },
868
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":400,"column":3},
898
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":401,"column":3},
869
899
  },
870
900
  {
871
901
  id: '@deepseek-ai/dsh-api-session-controller#session/fork',
@@ -881,16 +911,16 @@ export const TYPERT = {
881
911
  codec: {
882
912
  mode: 'strict',
883
913
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionForkRequest',
884
- schema: _deepseek_ai_dsh_api_session_controller_session_fork_parameter_0$schema,
914
+ create: _deepseek_ai_dsh_api_session_controller_session_fork_parameter_0$schema,
885
915
  },
886
916
  },
887
917
  ],
888
918
  result: {
889
919
  mode: 'strict',
890
920
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionForkValue',
891
- schema: _deepseek_ai_dsh_api_session_controller_session_fork_result$schema,
921
+ create: _deepseek_ai_dsh_api_session_controller_session_fork_result$schema,
892
922
  },
893
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":335,"column":3},
923
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":336,"column":3},
894
924
  },
895
925
  {
896
926
  id: '@deepseek-ai/dsh-api-session-controller#session/list',
@@ -906,7 +936,7 @@ export const TYPERT = {
906
936
  codec: {
907
937
  mode: 'strict',
908
938
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionListRequest',
909
- schema: _deepseek_ai_dsh_api_session_controller_session_list_parameter_0$schema,
939
+ create: _deepseek_ai_dsh_api_session_controller_session_list_parameter_0$schema,
910
940
  },
911
941
  },
912
942
  ],
@@ -914,9 +944,9 @@ export const TYPERT = {
914
944
  result: {
915
945
  mode: 'strict',
916
946
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionListValue',
917
- schema: _deepseek_ai_dsh_api_session_controller_session_list_result$schema,
947
+ create: _deepseek_ai_dsh_api_session_controller_session_list_result$schema,
918
948
  },
919
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":223,"column":9},
949
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":224,"column":9},
920
950
  },
921
951
  {
922
952
  id: '@deepseek-ai/dsh-api-session-controller#session/modelCatalog',
@@ -929,9 +959,9 @@ export const TYPERT = {
929
959
  result: {
930
960
  mode: 'strict',
931
961
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#ModelCatalog',
932
- schema: _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema,
962
+ create: _deepseek_ai_dsh_api_session_controller_session_modelCatalog_result$schema,
933
963
  },
934
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":263,"column":3},
964
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":264,"column":3},
935
965
  },
936
966
  {
937
967
  id: '@deepseek-ai/dsh-api-session-controller#session/openWorkspacePath',
@@ -947,7 +977,7 @@ export const TYPERT = {
947
977
  codec: {
948
978
  mode: 'strict',
949
979
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionOpenWorkspacePathRequest',
950
- schema: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema,
980
+ create: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_parameter_0$schema,
951
981
  },
952
982
  },
953
983
  ],
@@ -955,9 +985,9 @@ export const TYPERT = {
955
985
  result: {
956
986
  mode: 'strict',
957
987
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionOpenWorkspacePathValue',
958
- schema: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema,
988
+ create: _deepseek_ai_dsh_api_session_controller_session_openWorkspacePath_result$schema,
959
989
  },
960
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":293,"column":9},
990
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":294,"column":9},
961
991
  },
962
992
  {
963
993
  id: '@deepseek-ai/dsh-api-session-controller#session/page',
@@ -973,7 +1003,7 @@ export const TYPERT = {
973
1003
  codec: {
974
1004
  mode: 'strict',
975
1005
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPageRequest',
976
- schema: _deepseek_ai_dsh_api_session_controller_session_page_parameter_0$schema,
1006
+ create: _deepseek_ai_dsh_api_session_controller_session_page_parameter_0$schema,
977
1007
  },
978
1008
  },
979
1009
  ],
@@ -981,9 +1011,9 @@ export const TYPERT = {
981
1011
  result: {
982
1012
  mode: 'strict',
983
1013
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPage',
984
- schema: _deepseek_ai_dsh_api_session_controller_session_page_result$schema,
1014
+ create: _deepseek_ai_dsh_api_session_controller_session_page_result$schema,
985
1015
  },
986
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":388,"column":3},
1016
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":389,"column":3},
987
1017
  },
988
1018
  {
989
1019
  id: '@deepseek-ai/dsh-api-session-controller#session/prompt',
@@ -999,7 +1029,7 @@ export const TYPERT = {
999
1029
  codec: {
1000
1030
  mode: 'strict',
1001
1031
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPromptRequest',
1002
- schema: _deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema,
1032
+ create: _deepseek_ai_dsh_api_session_controller_session_prompt_parameter_0$schema,
1003
1033
  },
1004
1034
  },
1005
1035
  ],
@@ -1007,9 +1037,9 @@ export const TYPERT = {
1007
1037
  result: {
1008
1038
  mode: 'strict',
1009
1039
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionPromptValue',
1010
- schema: _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema,
1040
+ create: _deepseek_ai_dsh_api_session_controller_session_prompt_result$schema,
1011
1041
  },
1012
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":346,"column":3},
1042
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":347,"column":3},
1013
1043
  },
1014
1044
  {
1015
1045
  id: '@deepseek-ai/dsh-api-session-controller#session/rename',
@@ -1025,16 +1055,16 @@ export const TYPERT = {
1025
1055
  codec: {
1026
1056
  mode: 'strict',
1027
1057
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionRenameRequest',
1028
- schema: _deepseek_ai_dsh_api_session_controller_session_rename_parameter_0$schema,
1058
+ create: _deepseek_ai_dsh_api_session_controller_session_rename_parameter_0$schema,
1029
1059
  },
1030
1060
  },
1031
1061
  ],
1032
1062
  result: {
1033
1063
  mode: 'strict',
1034
1064
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionRenameValue',
1035
- schema: _deepseek_ai_dsh_api_session_controller_session_rename_result$schema,
1065
+ create: _deepseek_ai_dsh_api_session_controller_session_rename_result$schema,
1036
1066
  },
1037
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":325,"column":3},
1067
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":326,"column":3},
1038
1068
  },
1039
1069
  {
1040
1070
  id: '@deepseek-ai/dsh-api-session-controller#session/search',
@@ -1050,7 +1080,7 @@ export const TYPERT = {
1050
1080
  codec: {
1051
1081
  mode: 'strict',
1052
1082
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSearchRequest',
1053
- schema: _deepseek_ai_dsh_api_session_controller_session_search_parameter_0$schema,
1083
+ create: _deepseek_ai_dsh_api_session_controller_session_search_parameter_0$schema,
1054
1084
  },
1055
1085
  },
1056
1086
  ],
@@ -1058,9 +1088,9 @@ export const TYPERT = {
1058
1088
  result: {
1059
1089
  mode: 'strict',
1060
1090
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSearchValue',
1061
- schema: _deepseek_ai_dsh_api_session_controller_session_search_result$schema,
1091
+ create: _deepseek_ai_dsh_api_session_controller_session_search_result$schema,
1062
1092
  },
1063
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":234,"column":3},
1093
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":235,"column":3},
1064
1094
  },
1065
1095
  {
1066
1096
  id: '@deepseek-ai/dsh-api-session-controller#session/selectModel',
@@ -1076,16 +1106,16 @@ export const TYPERT = {
1076
1106
  codec: {
1077
1107
  mode: 'strict',
1078
1108
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSelectModelRequest',
1079
- schema: _deepseek_ai_dsh_api_session_controller_session_selectModel_parameter_0$schema,
1109
+ create: _deepseek_ai_dsh_api_session_controller_session_selectModel_parameter_0$schema,
1080
1110
  },
1081
1111
  },
1082
1112
  ],
1083
1113
  result: {
1084
1114
  mode: 'strict',
1085
1115
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionSelectModelValue',
1086
- schema: _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema,
1116
+ create: _deepseek_ai_dsh_api_session_controller_session_selectModel_result$schema,
1087
1117
  },
1088
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":254,"column":3},
1118
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":255,"column":3},
1089
1119
  },
1090
1120
  {
1091
1121
  id: '@deepseek-ai/dsh-api-session-controller#session/updateQueue',
@@ -1101,16 +1131,16 @@ export const TYPERT = {
1101
1131
  codec: {
1102
1132
  mode: 'strict',
1103
1133
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionUpdateQueueRequest',
1104
- schema: _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$schema,
1134
+ create: _deepseek_ai_dsh_api_session_controller_session_updateQueue_parameter_0$schema,
1105
1135
  },
1106
1136
  },
1107
1137
  ],
1108
1138
  result: {
1109
1139
  mode: 'strict',
1110
1140
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SessionUpdateQueueValue',
1111
- schema: _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema,
1141
+ create: _deepseek_ai_dsh_api_session_controller_session_updateQueue_result$schema,
1112
1142
  },
1113
- sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":367,"column":3},
1143
+ sourceLocation: {"file":"packages/api/session-controller/src/index.ts","line":368,"column":3},
1114
1144
  },
1115
1145
  {
1116
1146
  id: '@deepseek-ai/dsh-api-session-controller#skills/list',
@@ -1126,7 +1156,7 @@ export const TYPERT = {
1126
1156
  codec: {
1127
1157
  mode: 'strict',
1128
1158
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SkillListRequest',
1129
- schema: _deepseek_ai_dsh_api_session_controller_skills_list_parameter_0$schema,
1159
+ create: _deepseek_ai_dsh_api_session_controller_skills_list_parameter_0$schema,
1130
1160
  },
1131
1161
  },
1132
1162
  ],
@@ -1134,7 +1164,7 @@ export const TYPERT = {
1134
1164
  result: {
1135
1165
  mode: 'strict',
1136
1166
  typeSymbol: '@deepseek-ai/dsh-api-session-controller/types#SkillListValue',
1137
- schema: _deepseek_ai_dsh_api_session_controller_skills_list_result$schema,
1167
+ create: _deepseek_ai_dsh_api_session_controller_skills_list_result$schema,
1138
1168
  },
1139
1169
  sourceLocation: {"file":"packages/api/session-controller/src/skill-catalog.ts","line":36,"column":9},
1140
1170
  },
@@ -1250,9 +1280,9 @@ export const TYPERT = {
1250
1280
  {
1251
1281
  "kind": "method",
1252
1282
  "name": "updateQueue",
1253
- "signature": "@Remote('updateQueue') updateQueue(request: SessionUpdateQueueRequest): SessionUpdateQueueValue",
1254
- "summary": "Mutate one still-pending queue occurrence on a live Agent.",
1255
- "jsDoc": "/**\n * Mutate one still-pending queue occurrence on a live Agent.\n * @param request - Session, queue item, and requested mutation.\n * @returns acknowledgement that the queue mutation was applied.\n */"
1283
+ "signature": "@Remote('updateQueue') updateQueue(request: SessionUpdateQueueRequest): Promise<SessionUpdateQueueValue>",
1284
+ "summary": "Mutate one still-pending queue occurrence, resuming a cold Agent first.",
1285
+ "jsDoc": "/**\n * Mutate one still-pending queue occurrence, resuming a cold Agent first.\n * @param request - Session, queue item, and requested mutation.\n * @returns acknowledgement that the queue mutation was applied.\n */"
1256
1286
  },
1257
1287
  {
1258
1288
  "kind": "method",
@@ -1306,7 +1336,7 @@ export const TYPERT = {
1306
1336
  },
1307
1337
  {
1308
1338
  "name": "ApiSessionAgentError",
1309
- "declaration": "export type ApiSessionAgentError = RemoteError<'session/not-found' | 'session/agent-busy' | 'gateway/internal'>;"
1339
+ "declaration": "export type ApiSessionAgentError = RemoteError<'session/not-found' | 'session/agent-busy' | 'session/writer-held' | 'gateway/internal'>;"
1310
1340
  },
1311
1341
  {
1312
1342
  "name": "ApiSessionAgentResult",
@@ -1329,8 +1359,8 @@ export const TYPERT = {
1329
1359
  "declaration": "export interface AssistantMessage extends Message {\n readonly role: 'assistant';\n readonly source: ModelMessageSource;\n}"
1330
1360
  },
1331
1361
  {
1332
- "name": "AssistantProvenance",
1333
- "declaration": "export interface AssistantProvenance {\n provider: string;\n model: string;\n replayState?: unknown;\n}"
1362
+ "name": "AssistantProviderMetadata",
1363
+ "declaration": "export interface AssistantProviderMetadata {\n provider: string;\n model: string;\n replayState?: unknown;\n}"
1334
1364
  },
1335
1365
  {
1336
1366
  "name": "AssistantStreamRecord",
@@ -1474,12 +1504,16 @@ export const TYPERT = {
1474
1504
  },
1475
1505
  {
1476
1506
  "name": "ImageBlock",
1477
- "declaration": "export interface ImageBlock {\n type: 'image';\n attachment: ImageAttachmentRef;\n}"
1507
+ "declaration": "export interface ImageBlock {\n type: 'image';\n attachment: ImageAttachmentRef;\n offloaded?: true;\n}"
1478
1508
  },
1479
1509
  {
1480
1510
  "name": "ImageMediaType",
1481
1511
  "declaration": "export type ImageMediaType = 'image/png' | 'image/jpeg' | 'image/webp' | 'image/gif';"
1482
1512
  },
1513
+ {
1514
+ "name": "ImageOffloadTarget",
1515
+ "declaration": "export interface ImageOffloadTarget {\n seq: SessionSeq;\n imageIndexes: number[];\n}"
1516
+ },
1483
1517
  {
1484
1518
  "name": "Inbox",
1485
1519
  "declaration": "export interface Inbox {\n readonly nextTurn: readonly UserMessage[];\n readonly nextStep: readonly UserMessage[];\n clear(): void;\n append(target: InboxTarget, message: UserMessage): void;\n prepend(target: InboxTarget, message: UserMessage): void;\n replace(messageId: MessageId, newMessage: UserMessage): boolean;\n remove(messageId: MessageId): boolean;\n splice(target: InboxTarget, start: number, deleteCount: number, inserted: UserMessage[]): UserMessage[];\n}"
@@ -1514,7 +1548,7 @@ export const TYPERT = {
1514
1548
  },
1515
1549
  {
1516
1550
  "name": "LlmFailure",
1517
- "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}"
1551
+ "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}"
1518
1552
  },
1519
1553
  {
1520
1554
  "name": "Message",
@@ -1566,7 +1600,7 @@ export const TYPERT = {
1566
1600
  },
1567
1601
  {
1568
1602
  "name": "ModelMessageSource",
1569
- "declaration": "export interface ModelMessageSource extends AssistantProvenance {\n kind: 'model';\n}"
1603
+ "declaration": "export interface ModelMessageSource extends AssistantProviderMetadata {\n kind: 'model';\n}"
1570
1604
  },
1571
1605
  {
1572
1606
  "name": "ModelProviderGroup",
@@ -1588,6 +1622,10 @@ export const TYPERT = {
1588
1622
  "name": "ModelSelectionProjection",
1589
1623
  "declaration": "export interface ModelSelectionProjection {\n readonly lastUsed: ModelSelection | null;\n readonly next: ModelSelection | null;\n}"
1590
1624
  },
1625
+ {
1626
+ "name": "OfficeToPdfErrorCode",
1627
+ "declaration": "export type OfficeToPdfErrorCode = 'input-too-large' | 'output-too-large' | 'invalid-document' | 'unsupported-format' | 'invalid-output' | 'timeout' | 'unavailable' | 'failed' | 'busy' | 'source-changed';"
1628
+ },
1591
1629
  {
1592
1630
  "name": "OneShotSubagentDescriptorData",
1593
1631
  "declaration": "export interface OneShotSubagentDescriptorData extends SubagentDescriptorBase {\n readonly mode: 'one-shot';\n readonly label?: string;\n}"
@@ -1596,6 +1634,10 @@ export const TYPERT = {
1596
1634
  "name": "OptionalSessionSeq",
1597
1635
  "declaration": "export type OptionalSessionSeq = SessionSeq | null;"
1598
1636
  },
1637
+ {
1638
+ "name": "PermissionSelection",
1639
+ "declaration": "export interface PermissionSelection {\n currentValue: string;\n}"
1640
+ },
1599
1641
  {
1600
1642
  "name": "PromptContentPart",
1601
1643
  "declaration": "export type PromptContentPart = { readonly type: 'text'; readonly text: string; } | { readonly type: 'image'; readonly mediaType: ImageMediaType; readonly data: string; readonly name?: string; } | { readonly type: 'file'; readonly receiptId: Branded<'file-upload-receipt-id'>; };"
@@ -1606,7 +1648,7 @@ export const TYPERT = {
1606
1648
  },
1607
1649
  {
1608
1650
  "name": "PtcDispatchEventData",
1609
- "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n}"
1651
+ "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n error?: { name: string; code: string; reason?: string; };\n}"
1610
1652
  },
1611
1653
  {
1612
1654
  "name": "PtcDispatchStartEventData",
@@ -1634,7 +1676,7 @@ export const TYPERT = {
1634
1676
  },
1635
1677
  {
1636
1678
  "name": "RemoteErrorDetailsMap",
1637
- "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 'agent-preset/not-found': { readonly agentPreset: string; readonly available: readonly string[]; };\n 'agent-preset/invalid': { readonly agentPreset: string; readonly reason: string; };\n 'agent-preset/read-only': { readonly agentPreset: string; readonly reason: string; };\n 'agent-preset/locked': { readonly sessionId: SessionId; readonly agentPreset: string; };\n 'workspace/not-found': { readonly workspaceId: WorkspaceId; };\n 'session/model-unavailable': { readonly provider: string; readonly model: string; };\n 'session/conflict': { readonly sessionId: SessionId; readonly requestedCwd: string; readonly existingCwd?: string; };\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 'subagent/projections-unavailable': {};\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 'workspace/invalid-path': { readonly path: string; };\n 'workspace/name-conflict': { readonly name: string; };\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/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}"
1679
+ "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 'agent-preset/not-found': { readonly agentPreset: string; readonly available: readonly string[]; };\n 'agent-preset/invalid': { readonly agentPreset: string; readonly reason: string; };\n 'agent-preset/read-only': { readonly agentPreset: string; readonly reason: string; };\n 'agent-preset/locked': { readonly sessionId: SessionId; readonly agentPreset: string; };\n 'workspace/not-found': { readonly workspaceId: WorkspaceId; };\n 'session/model-unavailable': { readonly provider: string; readonly model: string; };\n 'session/conflict': { readonly sessionId: SessionId; readonly requestedCwd: string; readonly existingCwd?: string; };\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 'subagent/projections-unavailable': {};\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/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/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 'document-render/failed': { readonly reason: OfficeToPdfErrorCode; };\n}"
1638
1680
  },
1639
1681
  {
1640
1682
  "name": "ReplayEnvelope",
@@ -1690,11 +1732,11 @@ export const TYPERT = {
1690
1732
  },
1691
1733
  {
1692
1734
  "name": "SessionControlBaseline",
1693
- "declaration": "export interface SessionControlBaseline {\n readonly queues: Readonly<Record<SessionId, readonly SessionQueuedItem[]>>;\n readonly jobs: Readonly<Record<SessionId, readonly SessionJob[]>>;\n readonly projections: Readonly<Record<SessionId, SessionProjectionBaseline>>;\n}"
1735
+ "declaration": "export interface SessionControlBaseline {\n readonly jobs: Readonly<Record<SessionId, readonly SessionJob[]>>;\n readonly projections: Readonly<Record<SessionId, SessionProjectionBaseline>>;\n}"
1694
1736
  },
1695
1737
  {
1696
1738
  "name": "SessionControlFrame",
1697
- "declaration": "export type SessionControlFrame = { readonly type: 'baseline'; readonly value: SessionControlBaseline; } | { readonly type: 'queue'; readonly sessionId: SessionId; readonly items: readonly SessionQueuedItem[]; } | { readonly type: 'jobs'; readonly sessionId: SessionId; readonly jobs: readonly SessionJob[]; } | ({ readonly type: 'projection'; } & SessionProjectionUpdate);"
1739
+ "declaration": "export type SessionControlFrame = { readonly type: 'baseline'; readonly value: SessionControlBaseline; } | { readonly type: 'jobs'; readonly sessionId: SessionId; readonly jobs: readonly SessionJob[]; } | ({ readonly type: 'projection'; } & SessionProjectionUpdate);"
1698
1740
  },
1699
1741
  {
1700
1742
  "name": "SessionCreateRequest",
@@ -1714,7 +1756,7 @@ export const TYPERT = {
1714
1756
  },
1715
1757
  {
1716
1758
  "name": "SessionEventMap",
1717
- "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n}"
1759
+ "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n}"
1718
1760
  },
1719
1761
  {
1720
1762
  "name": "SessionEventType",
@@ -1798,7 +1840,7 @@ export const TYPERT = {
1798
1840
  },
1799
1841
  {
1800
1842
  "name": "SessionProjectionMap",
1801
- "declaration": "export interface SessionProjectionMap {\n inbox: InboxWireState;\n agentPreset: string | null;\n title: string | null;\n todos: TodoItem[] | null;\n sessionListMetadata: SessionListMetadata;\n imageLimits: ImageAttachmentLimits;\n modelSelection: ModelSelectionProjection;\n subagentCatalog: SubagentCatalogEntry[];\n subagentTiming: SubagentTimingProjection;\n subagent: SubagentIdentityProjection | null;\n goal: GoalProjection | null;\n}"
1843
+ "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}"
1802
1844
  },
1803
1845
  {
1804
1846
  "name": "SessionProjectionUpdate",
@@ -1820,10 +1862,6 @@ export const TYPERT = {
1820
1862
  "name": "SessionPromptValue",
1821
1863
  "declaration": "export interface SessionPromptValue {\n readonly accepted: true;\n}"
1822
1864
  },
1823
- {
1824
- "name": "SessionQueuedItem",
1825
- "declaration": "export interface SessionQueuedItem {\n readonly id: MessageId;\n readonly placement: 'queued' | 'steering' | 'context';\n readonly rpcId?: SessionRequestId;\n readonly message: { readonly id: MessageId; readonly content: readonly JsonValue[]; };\n}"
1826
- },
1827
1865
  {
1828
1866
  "name": "SessionReferenceSource",
1829
1867
  "declaration": "export interface SessionReferenceSource {\n kind: 'session-reference';\n form: 'recall';\n version: 1;\n references: { sessionId: string; label: string; capturedFormatVersion?: number; capturedThroughSeq: OptionalSessionSeq; compacted: boolean; originalMessages: number; retainedMessages: number; omittedMessages: number; omittedBytes: number; truncated: boolean; inputIndex: number; }[];\n}"
@@ -1878,15 +1916,15 @@ export const TYPERT = {
1878
1916
  },
1879
1917
  {
1880
1918
  "name": "SessionSurface",
1881
- "declaration": "export interface SessionSurface {\n readonly nodes: readonly SessionSeq[];\n readonly replaceGeneration: number;\n}"
1919
+ "declaration": "export interface SessionSurface {\n readonly nodes: readonly SessionSeq[];\n readonly replaceGeneration: number;\n readonly contentGeneration: number;\n}"
1882
1920
  },
1883
1921
  {
1884
1922
  "name": "SessionTitleEventData",
1885
1923
  "declaration": "export interface SessionTitleEventData {\n readonly title: string;\n readonly messageSeqs: SessionSeq[];\n readonly source: SessionTitleSource;\n}"
1886
1924
  },
1887
1925
  {
1888
- "name": "SessionTitleModelProvenance",
1889
- "declaration": "export interface SessionTitleModelProvenance {\n readonly provider: string;\n readonly model: string;\n}"
1926
+ "name": "SessionTitleModelIdentity",
1927
+ "declaration": "export interface SessionTitleModelIdentity {\n readonly provider: string;\n readonly model: string;\n}"
1890
1928
  },
1891
1929
  {
1892
1930
  "name": "SessionTitleProviderId",
@@ -1894,7 +1932,7 @@ export const TYPERT = {
1894
1932
  },
1895
1933
  {
1896
1934
  "name": "SessionTitleSource",
1897
- "declaration": "export type SessionTitleSource = { readonly kind: 'fallback'; } | { readonly kind: 'provider'; readonly provider: SessionTitleProviderId; readonly model?: SessionTitleModelProvenance; } | { readonly kind: 'user'; };"
1935
+ "declaration": "export type SessionTitleSource = { readonly kind: 'fallback'; } | { readonly kind: 'provider'; readonly provider: SessionTitleProviderId; readonly model?: SessionTitleModelIdentity; } | { readonly kind: 'user'; };"
1898
1936
  },
1899
1937
  {
1900
1938
  "name": "SessionUpdateQueueRequest",
@@ -2120,8 +2158,8 @@ export const TYPERT = {
2120
2158
  "declaration": "export interface AssistantMessage extends Message {\n readonly role: 'assistant';\n readonly source: ModelMessageSource;\n}"
2121
2159
  },
2122
2160
  {
2123
- "name": "AssistantProvenance",
2124
- "declaration": "export interface AssistantProvenance {\n provider: string;\n model: string;\n replayState?: unknown;\n}"
2161
+ "name": "AssistantProviderMetadata",
2162
+ "declaration": "export interface AssistantProviderMetadata {\n provider: string;\n model: string;\n replayState?: unknown;\n}"
2125
2163
  },
2126
2164
  {
2127
2165
  "name": "AssistantStreamRecord",
@@ -2261,12 +2299,16 @@ export const TYPERT = {
2261
2299
  },
2262
2300
  {
2263
2301
  "name": "ImageBlock",
2264
- "declaration": "export interface ImageBlock {\n type: 'image';\n attachment: ImageAttachmentRef;\n}"
2302
+ "declaration": "export interface ImageBlock {\n type: 'image';\n attachment: ImageAttachmentRef;\n offloaded?: true;\n}"
2265
2303
  },
2266
2304
  {
2267
2305
  "name": "ImageMediaType",
2268
2306
  "declaration": "export type ImageMediaType = 'image/png' | 'image/jpeg' | 'image/webp' | 'image/gif';"
2269
2307
  },
2308
+ {
2309
+ "name": "ImageOffloadTarget",
2310
+ "declaration": "export interface ImageOffloadTarget {\n seq: SessionSeq;\n imageIndexes: number[];\n}"
2311
+ },
2270
2312
  {
2271
2313
  "name": "Inbox",
2272
2314
  "declaration": "export interface Inbox {\n readonly nextTurn: readonly UserMessage[];\n readonly nextStep: readonly UserMessage[];\n clear(): void;\n append(target: InboxTarget, message: UserMessage): void;\n prepend(target: InboxTarget, message: UserMessage): void;\n replace(messageId: MessageId, newMessage: UserMessage): boolean;\n remove(messageId: MessageId): boolean;\n splice(target: InboxTarget, start: number, deleteCount: number, inserted: UserMessage[]): UserMessage[];\n}"
@@ -2289,7 +2331,7 @@ export const TYPERT = {
2289
2331
  },
2290
2332
  {
2291
2333
  "name": "LlmFailure",
2292
- "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}"
2334
+ "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}"
2293
2335
  },
2294
2336
  {
2295
2337
  "name": "Message",
@@ -2329,7 +2371,7 @@ export const TYPERT = {
2329
2371
  },
2330
2372
  {
2331
2373
  "name": "ModelMessageSource",
2332
- "declaration": "export interface ModelMessageSource extends AssistantProvenance {\n kind: 'model';\n}"
2374
+ "declaration": "export interface ModelMessageSource extends AssistantProviderMetadata {\n kind: 'model';\n}"
2333
2375
  },
2334
2376
  {
2335
2377
  "name": "ModelSelection",
@@ -2349,7 +2391,7 @@ export const TYPERT = {
2349
2391
  },
2350
2392
  {
2351
2393
  "name": "PtcDispatchEventData",
2352
- "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n}"
2394
+ "declaration": "export interface PtcDispatchEventData extends PtcDispatchStartEventData {\n isError: boolean;\n content: ContentBlock[];\n error?: { name: string; code: string; reason?: string; };\n}"
2353
2395
  },
2354
2396
  {
2355
2397
  "name": "PtcDispatchStartEventData",
@@ -2389,7 +2431,7 @@ export const TYPERT = {
2389
2431
  },
2390
2432
  {
2391
2433
  "name": "SessionEventMap",
2392
- "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n}"
2434
+ "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'subagent/descriptor': SubagentDescriptorData;\n 'permission/preset': { preset: string; };\n 'subagent/catalog': SubagentCatalogEvent;\n 'feedback/record': FeedbackRecord;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n}"
2393
2435
  },
2394
2436
  {
2395
2437
  "name": "SessionEventType",
@@ -2421,15 +2463,15 @@ export const TYPERT = {
2421
2463
  },
2422
2464
  {
2423
2465
  "name": "SessionSurface",
2424
- "declaration": "export interface SessionSurface {\n readonly nodes: readonly SessionSeq[];\n readonly replaceGeneration: number;\n}"
2466
+ "declaration": "export interface SessionSurface {\n readonly nodes: readonly SessionSeq[];\n readonly replaceGeneration: number;\n readonly contentGeneration: number;\n}"
2425
2467
  },
2426
2468
  {
2427
2469
  "name": "SessionTitleEventData",
2428
2470
  "declaration": "export interface SessionTitleEventData {\n readonly title: string;\n readonly messageSeqs: SessionSeq[];\n readonly source: SessionTitleSource;\n}"
2429
2471
  },
2430
2472
  {
2431
- "name": "SessionTitleModelProvenance",
2432
- "declaration": "export interface SessionTitleModelProvenance {\n readonly provider: string;\n readonly model: string;\n}"
2473
+ "name": "SessionTitleModelIdentity",
2474
+ "declaration": "export interface SessionTitleModelIdentity {\n readonly provider: string;\n readonly model: string;\n}"
2433
2475
  },
2434
2476
  {
2435
2477
  "name": "SessionTitleProviderId",
@@ -2437,7 +2479,7 @@ export const TYPERT = {
2437
2479
  },
2438
2480
  {
2439
2481
  "name": "SessionTitleSource",
2440
- "declaration": "export type SessionTitleSource = { readonly kind: 'fallback'; } | { readonly kind: 'provider'; readonly provider: SessionTitleProviderId; readonly model?: SessionTitleModelProvenance; } | { readonly kind: 'user'; };"
2482
+ "declaration": "export type SessionTitleSource = { readonly kind: 'fallback'; } | { readonly kind: 'provider'; readonly provider: SessionTitleProviderId; readonly model?: SessionTitleModelIdentity; } | { readonly kind: 'user'; };"
2441
2483
  },
2442
2484
  {
2443
2485
  "name": "SkillInvocationSource",
@@ -2604,7 +2646,7 @@ export const TYPERT = {
2604
2646
  },
2605
2647
  {
2606
2648
  "name": "SkillEntry",
2607
- "declaration": "export interface SkillEntry {\n readonly name: string;\n readonly description: string;\n readonly whenToUse?: string;\n readonly modelInvocable: boolean;\n}"
2649
+ "declaration": "export interface SkillEntry {\n readonly path?: string;\n readonly name: string;\n readonly description: string;\n readonly whenToUse?: string;\n readonly modelInvocable: boolean;\n}"
2608
2650
  },
2609
2651
  {
2610
2652
  "name": "SkillListRequest",