@linkshell/host 0.1.3 → 0.3.0

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 (68) hide show
  1. package/dist/host/src/direct.d.ts +32 -0
  2. package/dist/host/src/direct.js +144 -0
  3. package/dist/host/src/direct.js.map +1 -0
  4. package/dist/host/src/drivers/acp/connection.js +3 -0
  5. package/dist/host/src/drivers/acp/connection.js.map +1 -1
  6. package/dist/host/src/drivers/acp/driver.d.ts +10 -1
  7. package/dist/host/src/drivers/acp/driver.js +48 -0
  8. package/dist/host/src/drivers/acp/driver.js.map +1 -1
  9. package/dist/host/src/drivers/claude/transcript.d.ts +40 -13
  10. package/dist/host/src/drivers/claude/transcript.js +8 -0
  11. package/dist/host/src/drivers/claude/transcript.js.map +1 -1
  12. package/dist/host/src/drivers/codex/app-server.d.ts +4 -0
  13. package/dist/host/src/drivers/codex/app-server.js +28 -2
  14. package/dist/host/src/drivers/codex/app-server.js.map +1 -1
  15. package/dist/host/src/drivers/codex/driver.d.ts +2 -1
  16. package/dist/host/src/drivers/codex/driver.js +17 -4
  17. package/dist/host/src/drivers/codex/driver.js.map +1 -1
  18. package/dist/host/src/drivers/codex/mapper.d.ts +11 -1
  19. package/dist/host/src/drivers/codex/mapper.js +80 -0
  20. package/dist/host/src/drivers/codex/mapper.js.map +1 -1
  21. package/dist/host/src/drivers/codex/settings.d.ts +7 -2
  22. package/dist/host/src/drivers/codex/settings.js +21 -2
  23. package/dist/host/src/drivers/codex/settings.js.map +1 -1
  24. package/dist/host/src/drivers/types.d.ts +3 -1
  25. package/dist/host/src/host.d.ts +8 -1
  26. package/dist/host/src/host.js +14 -0
  27. package/dist/host/src/host.js.map +1 -1
  28. package/dist/host/src/hub.d.ts +3 -1
  29. package/dist/host/src/hub.js +25 -0
  30. package/dist/host/src/hub.js.map +1 -1
  31. package/dist/host/src/input-helper.d.ts +1 -0
  32. package/dist/host/src/input-helper.js +208 -0
  33. package/dist/host/src/input-helper.js.map +1 -0
  34. package/dist/host/src/input.d.ts +121 -0
  35. package/dist/host/src/input.js +159 -0
  36. package/dist/host/src/input.js.map +1 -0
  37. package/dist/host/src/ports.d.ts +11 -2
  38. package/dist/host/src/ports.js +45 -7
  39. package/dist/host/src/ports.js.map +1 -1
  40. package/dist/host/src/questions.d.ts +21 -0
  41. package/dist/host/src/questions.js +102 -0
  42. package/dist/host/src/questions.js.map +1 -0
  43. package/dist/host/src/rpc/server.js +11 -2
  44. package/dist/host/src/rpc/server.js.map +1 -1
  45. package/dist/host/src/screen-viewer.d.ts +1 -0
  46. package/dist/host/src/screen-viewer.js +783 -0
  47. package/dist/host/src/screen-viewer.js.map +1 -0
  48. package/dist/host/src/screen.d.ts +23 -0
  49. package/dist/host/src/screen.js +65 -69
  50. package/dist/host/src/screen.js.map +1 -1
  51. package/dist/host/src/terminals.d.ts +2 -2
  52. package/dist/host/tsconfig.tsbuildinfo +1 -1
  53. package/dist/wire/src/direct.d.ts +22 -0
  54. package/dist/wire/src/direct.js +37 -0
  55. package/dist/wire/src/direct.js.map +1 -0
  56. package/dist/wire/src/index.d.ts +1 -0
  57. package/dist/wire/src/index.js +1 -0
  58. package/dist/wire/src/index.js.map +1 -1
  59. package/dist/wire/src/model.d.ts +385 -104
  60. package/dist/wire/src/model.js +33 -0
  61. package/dist/wire/src/model.js.map +1 -1
  62. package/dist/wire/src/rpc.d.ts +3395 -1700
  63. package/dist/wire/src/rpc.js +27 -3
  64. package/dist/wire/src/rpc.js.map +1 -1
  65. package/dist/wire/src/updates.d.ts +804 -448
  66. package/dist/wire/src/updates.js +11 -1
  67. package/dist/wire/src/updates.js.map +1 -1
  68. package/package.json +3 -2
@@ -57,12 +57,12 @@ export declare const agentAuthSchema: z.ZodObject<{
57
57
  hint: z.ZodOptional<z.ZodString>;
58
58
  }, "strip", z.ZodTypeAny, {
59
59
  state: "unknown" | "ok" | "missing";
60
- method?: string | undefined;
61
60
  hint?: string | undefined;
61
+ method?: string | undefined;
62
62
  }, {
63
63
  state: "unknown" | "ok" | "missing";
64
- method?: string | undefined;
65
64
  hint?: string | undefined;
65
+ method?: string | undefined;
66
66
  }>;
67
67
  export type AgentAuth = z.infer<typeof agentAuthSchema>;
68
68
  export declare const agentInfoSchema: z.ZodObject<{
@@ -81,12 +81,12 @@ export declare const agentInfoSchema: z.ZodObject<{
81
81
  hint: z.ZodOptional<z.ZodString>;
82
82
  }, "strip", z.ZodTypeAny, {
83
83
  state: "unknown" | "ok" | "missing";
84
- method?: string | undefined;
85
84
  hint?: string | undefined;
85
+ method?: string | undefined;
86
86
  }, {
87
87
  state: "unknown" | "ok" | "missing";
88
- method?: string | undefined;
89
88
  hint?: string | undefined;
89
+ method?: string | undefined;
90
90
  }>>;
91
91
  capabilities: z.ZodObject<{
92
92
  interrupt: z.ZodBoolean;
@@ -123,7 +123,7 @@ export declare const agentInfoSchema: z.ZodObject<{
123
123
  }, "strip", z.ZodTypeAny, {
124
124
  id: string;
125
125
  label: string;
126
- tier: "multi_client" | "handoff" | "remote" | "terminal";
126
+ tier: "terminal" | "remote" | "multi_client" | "handoff";
127
127
  installed: boolean;
128
128
  capabilities: {
129
129
  interrupt: boolean;
@@ -134,17 +134,17 @@ export declare const agentInfoSchema: z.ZodObject<{
134
134
  models: boolean;
135
135
  modes: boolean;
136
136
  };
137
- version?: string | undefined;
138
- problem?: string | undefined;
139
137
  auth?: {
140
138
  state: "unknown" | "ok" | "missing";
141
- method?: string | undefined;
142
139
  hint?: string | undefined;
140
+ method?: string | undefined;
143
141
  } | undefined;
142
+ version?: string | undefined;
143
+ problem?: string | undefined;
144
144
  }, {
145
145
  id: string;
146
146
  label: string;
147
- tier: "multi_client" | "handoff" | "remote" | "terminal";
147
+ tier: "terminal" | "remote" | "multi_client" | "handoff";
148
148
  installed: boolean;
149
149
  capabilities: {
150
150
  interrupt: boolean;
@@ -155,13 +155,13 @@ export declare const agentInfoSchema: z.ZodObject<{
155
155
  models: boolean;
156
156
  modes: boolean;
157
157
  };
158
- version?: string | undefined;
159
- problem?: string | undefined;
160
158
  auth?: {
161
159
  state: "unknown" | "ok" | "missing";
162
- method?: string | undefined;
163
160
  hint?: string | undefined;
161
+ method?: string | undefined;
164
162
  } | undefined;
163
+ version?: string | undefined;
164
+ problem?: string | undefined;
165
165
  }>;
166
166
  export type AgentInfo = z.infer<typeof agentInfoSchema>;
167
167
  /**
@@ -179,13 +179,13 @@ export declare const permissionOptionSchema: z.ZodObject<{
179
179
  name: z.ZodString;
180
180
  kind: z.ZodEnum<["allow_once", "allow_always", "reject_once", "reject_always"]>;
181
181
  }, "strip", z.ZodTypeAny, {
182
- optionId: string;
183
182
  name: string;
184
183
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
185
- }, {
186
184
  optionId: string;
185
+ }, {
187
186
  name: string;
188
187
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
188
+ optionId: string;
189
189
  }>;
190
190
  export type PermissionOption = z.infer<typeof permissionOptionSchema>;
191
191
  /** What a running session is doing right now, for list rows. Live only. */
@@ -194,16 +194,90 @@ export declare const sessionActivitySchema: z.ZodObject<{
194
194
  title: z.ZodOptional<z.ZodString>;
195
195
  toolKind: z.ZodOptional<z.ZodEnum<["read", "edit", "delete", "move", "search", "execute", "think", "fetch", "other"]>>;
196
196
  }, "strip", z.ZodTypeAny, {
197
- kind: "thinking" | "responding" | "tool";
197
+ kind: "tool" | "thinking" | "responding";
198
198
  title?: string | undefined;
199
199
  toolKind?: "read" | "edit" | "delete" | "move" | "search" | "execute" | "think" | "fetch" | "other" | undefined;
200
200
  }, {
201
- kind: "thinking" | "responding" | "tool";
201
+ kind: "tool" | "thinking" | "responding";
202
202
  title?: string | undefined;
203
203
  toolKind?: "read" | "edit" | "delete" | "move" | "search" | "execute" | "think" | "fetch" | "other" | undefined;
204
204
  }>;
205
205
  export type SessionActivity = z.infer<typeof sessionActivitySchema>;
206
206
  /** The oldest unanswered permission request, so lists can offer approval inline. Live only. */
207
+ /**
208
+ * Something the agent asks the user rather than asks permission for: a choice
209
+ * among options, several of them, or something to type (Claude's
210
+ * AskUserQuestion, Codex's request_user_input, an MCP server's form).
211
+ */
212
+ export declare const questionSchema: z.ZodObject<{
213
+ id: z.ZodString;
214
+ /** A short label for the question ("Auth method"). */
215
+ header: z.ZodOptional<z.ZodString>;
216
+ text: z.ZodString;
217
+ /** `choice`: one of `options`; `choices`: any number of them; `text`: typed. */
218
+ kind: z.ZodEnum<["choice", "choices", "text"]>;
219
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
220
+ value: z.ZodString;
221
+ label: z.ZodString;
222
+ description: z.ZodOptional<z.ZodString>;
223
+ }, "strip", z.ZodTypeAny, {
224
+ value: string;
225
+ label: string;
226
+ description?: string | undefined;
227
+ }, {
228
+ value: string;
229
+ label: string;
230
+ description?: string | undefined;
231
+ }>, "many">>;
232
+ /** With options: an answer of the user's own can be typed instead of, or beside, a pick. */
233
+ other: z.ZodOptional<z.ZodBoolean>;
234
+ /** What is typed shouldn't be shown (a token). */
235
+ secret: z.ZodOptional<z.ZodBoolean>;
236
+ required: z.ZodOptional<z.ZodBoolean>;
237
+ }, "strip", z.ZodTypeAny, {
238
+ text: string;
239
+ kind: "text" | "choice" | "choices";
240
+ id: string;
241
+ options?: {
242
+ value: string;
243
+ label: string;
244
+ description?: string | undefined;
245
+ }[] | undefined;
246
+ other?: boolean | undefined;
247
+ header?: string | undefined;
248
+ secret?: boolean | undefined;
249
+ required?: boolean | undefined;
250
+ }, {
251
+ text: string;
252
+ kind: "text" | "choice" | "choices";
253
+ id: string;
254
+ options?: {
255
+ value: string;
256
+ label: string;
257
+ description?: string | undefined;
258
+ }[] | undefined;
259
+ other?: boolean | undefined;
260
+ header?: string | undefined;
261
+ secret?: boolean | undefined;
262
+ required?: boolean | undefined;
263
+ }>;
264
+ export type Question = z.infer<typeof questionSchema>;
265
+ export declare const questionAnswerSchema: z.ZodObject<{
266
+ id: z.ZodString;
267
+ /** The values picked (`choice`: at most one), or what was typed for a `text` question. */
268
+ values: z.ZodArray<z.ZodString, "many">;
269
+ /** The user's own answer beside the options. */
270
+ other: z.ZodOptional<z.ZodString>;
271
+ }, "strip", z.ZodTypeAny, {
272
+ values: string[];
273
+ id: string;
274
+ other?: string | undefined;
275
+ }, {
276
+ values: string[];
277
+ id: string;
278
+ other?: string | undefined;
279
+ }>;
280
+ export type QuestionAnswer = z.infer<typeof questionAnswerSchema>;
207
281
  export declare const pendingPermissionSchema: z.ZodObject<{
208
282
  requestId: z.ZodString;
209
283
  toolCallId: z.ZodOptional<z.ZodString>;
@@ -214,34 +288,115 @@ export declare const pendingPermissionSchema: z.ZodObject<{
214
288
  name: z.ZodString;
215
289
  kind: z.ZodEnum<["allow_once", "allow_always", "reject_once", "reject_always"]>;
216
290
  }, "strip", z.ZodTypeAny, {
217
- optionId: string;
218
291
  name: string;
219
292
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
220
- }, {
221
293
  optionId: string;
294
+ }, {
222
295
  name: string;
223
296
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
297
+ optionId: string;
224
298
  }>, "many">;
299
+ /** Set when this is a question to answer (`sessions.answer`) rather than a permission to give. */
300
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
301
+ id: z.ZodString;
302
+ /** A short label for the question ("Auth method"). */
303
+ header: z.ZodOptional<z.ZodString>;
304
+ text: z.ZodString;
305
+ /** `choice`: one of `options`; `choices`: any number of them; `text`: typed. */
306
+ kind: z.ZodEnum<["choice", "choices", "text"]>;
307
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
308
+ value: z.ZodString;
309
+ label: z.ZodString;
310
+ description: z.ZodOptional<z.ZodString>;
311
+ }, "strip", z.ZodTypeAny, {
312
+ value: string;
313
+ label: string;
314
+ description?: string | undefined;
315
+ }, {
316
+ value: string;
317
+ label: string;
318
+ description?: string | undefined;
319
+ }>, "many">>;
320
+ /** With options: an answer of the user's own can be typed instead of, or beside, a pick. */
321
+ other: z.ZodOptional<z.ZodBoolean>;
322
+ /** What is typed shouldn't be shown (a token). */
323
+ secret: z.ZodOptional<z.ZodBoolean>;
324
+ required: z.ZodOptional<z.ZodBoolean>;
325
+ }, "strip", z.ZodTypeAny, {
326
+ text: string;
327
+ kind: "text" | "choice" | "choices";
328
+ id: string;
329
+ options?: {
330
+ value: string;
331
+ label: string;
332
+ description?: string | undefined;
333
+ }[] | undefined;
334
+ other?: boolean | undefined;
335
+ header?: string | undefined;
336
+ secret?: boolean | undefined;
337
+ required?: boolean | undefined;
338
+ }, {
339
+ text: string;
340
+ kind: "text" | "choice" | "choices";
341
+ id: string;
342
+ options?: {
343
+ value: string;
344
+ label: string;
345
+ description?: string | undefined;
346
+ }[] | undefined;
347
+ other?: boolean | undefined;
348
+ header?: string | undefined;
349
+ secret?: boolean | undefined;
350
+ required?: boolean | undefined;
351
+ }>, "many">>;
225
352
  }, "strip", z.ZodTypeAny, {
226
353
  options: {
227
- optionId: string;
228
354
  name: string;
229
355
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
356
+ optionId: string;
230
357
  }[];
231
358
  title: string;
232
359
  requestId: string;
233
360
  toolCallId?: string | undefined;
234
361
  detail?: string | undefined;
362
+ questions?: {
363
+ text: string;
364
+ kind: "text" | "choice" | "choices";
365
+ id: string;
366
+ options?: {
367
+ value: string;
368
+ label: string;
369
+ description?: string | undefined;
370
+ }[] | undefined;
371
+ other?: boolean | undefined;
372
+ header?: string | undefined;
373
+ secret?: boolean | undefined;
374
+ required?: boolean | undefined;
375
+ }[] | undefined;
235
376
  }, {
236
377
  options: {
237
- optionId: string;
238
378
  name: string;
239
379
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
380
+ optionId: string;
240
381
  }[];
241
382
  title: string;
242
383
  requestId: string;
243
384
  toolCallId?: string | undefined;
244
385
  detail?: string | undefined;
386
+ questions?: {
387
+ text: string;
388
+ kind: "text" | "choice" | "choices";
389
+ id: string;
390
+ options?: {
391
+ value: string;
392
+ label: string;
393
+ description?: string | undefined;
394
+ }[] | undefined;
395
+ other?: boolean | undefined;
396
+ header?: string | undefined;
397
+ secret?: boolean | undefined;
398
+ required?: boolean | undefined;
399
+ }[] | undefined;
245
400
  }>;
246
401
  export type PendingPermissionSummary = z.infer<typeof pendingPermissionSchema>;
247
402
  export declare const queuedMessageSchema: z.ZodObject<{
@@ -250,13 +405,13 @@ export declare const queuedMessageSchema: z.ZodObject<{
250
405
  text: z.ZodString;
251
406
  images: z.ZodNumber;
252
407
  }, "strip", z.ZodTypeAny, {
408
+ text: string;
253
409
  images: number;
254
410
  clientMessageId: string;
255
- text: string;
256
411
  }, {
412
+ text: string;
257
413
  images: number;
258
414
  clientMessageId: string;
259
- text: string;
260
415
  }>;
261
416
  export type QueuedMessage = z.infer<typeof queuedMessageSchema>;
262
417
  /** A sub-agent a session started: the tool call it runs under, and how it is doing. */
@@ -271,20 +426,20 @@ export declare const subagentInfoSchema: z.ZodObject<{
271
426
  startedAt: z.ZodNumber;
272
427
  endedAt: z.ZodOptional<z.ZodNumber>;
273
428
  }, "strip", z.ZodTypeAny, {
274
- running: boolean;
275
429
  toolCallId: string;
276
430
  task: string;
431
+ running: boolean;
277
432
  startedAt: number;
278
- agentType?: string | undefined;
279
433
  failed?: boolean | undefined;
434
+ agentType?: string | undefined;
280
435
  endedAt?: number | undefined;
281
436
  }, {
282
- running: boolean;
283
437
  toolCallId: string;
284
438
  task: string;
439
+ running: boolean;
285
440
  startedAt: number;
286
- agentType?: string | undefined;
287
441
  failed?: boolean | undefined;
442
+ agentType?: string | undefined;
288
443
  endedAt?: number | undefined;
289
444
  }>;
290
445
  export type SubagentInfo = z.infer<typeof subagentInfoSchema>;
@@ -309,11 +464,11 @@ export declare const sessionSummarySchema: z.ZodObject<{
309
464
  title: z.ZodOptional<z.ZodString>;
310
465
  toolKind: z.ZodOptional<z.ZodEnum<["read", "edit", "delete", "move", "search", "execute", "think", "fetch", "other"]>>;
311
466
  }, "strip", z.ZodTypeAny, {
312
- kind: "thinking" | "responding" | "tool";
467
+ kind: "tool" | "thinking" | "responding";
313
468
  title?: string | undefined;
314
469
  toolKind?: "read" | "edit" | "delete" | "move" | "search" | "execute" | "think" | "fetch" | "other" | undefined;
315
470
  }, {
316
- kind: "thinking" | "responding" | "tool";
471
+ kind: "tool" | "thinking" | "responding";
317
472
  title?: string | undefined;
318
473
  toolKind?: "read" | "edit" | "delete" | "move" | "search" | "execute" | "think" | "fetch" | "other" | undefined;
319
474
  }>>;
@@ -327,34 +482,115 @@ export declare const sessionSummarySchema: z.ZodObject<{
327
482
  name: z.ZodString;
328
483
  kind: z.ZodEnum<["allow_once", "allow_always", "reject_once", "reject_always"]>;
329
484
  }, "strip", z.ZodTypeAny, {
330
- optionId: string;
331
485
  name: string;
332
486
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
333
- }, {
334
487
  optionId: string;
488
+ }, {
335
489
  name: string;
336
490
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
491
+ optionId: string;
337
492
  }>, "many">;
493
+ /** Set when this is a question to answer (`sessions.answer`) rather than a permission to give. */
494
+ questions: z.ZodOptional<z.ZodArray<z.ZodObject<{
495
+ id: z.ZodString;
496
+ /** A short label for the question ("Auth method"). */
497
+ header: z.ZodOptional<z.ZodString>;
498
+ text: z.ZodString;
499
+ /** `choice`: one of `options`; `choices`: any number of them; `text`: typed. */
500
+ kind: z.ZodEnum<["choice", "choices", "text"]>;
501
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
502
+ value: z.ZodString;
503
+ label: z.ZodString;
504
+ description: z.ZodOptional<z.ZodString>;
505
+ }, "strip", z.ZodTypeAny, {
506
+ value: string;
507
+ label: string;
508
+ description?: string | undefined;
509
+ }, {
510
+ value: string;
511
+ label: string;
512
+ description?: string | undefined;
513
+ }>, "many">>;
514
+ /** With options: an answer of the user's own can be typed instead of, or beside, a pick. */
515
+ other: z.ZodOptional<z.ZodBoolean>;
516
+ /** What is typed shouldn't be shown (a token). */
517
+ secret: z.ZodOptional<z.ZodBoolean>;
518
+ required: z.ZodOptional<z.ZodBoolean>;
519
+ }, "strip", z.ZodTypeAny, {
520
+ text: string;
521
+ kind: "text" | "choice" | "choices";
522
+ id: string;
523
+ options?: {
524
+ value: string;
525
+ label: string;
526
+ description?: string | undefined;
527
+ }[] | undefined;
528
+ other?: boolean | undefined;
529
+ header?: string | undefined;
530
+ secret?: boolean | undefined;
531
+ required?: boolean | undefined;
532
+ }, {
533
+ text: string;
534
+ kind: "text" | "choice" | "choices";
535
+ id: string;
536
+ options?: {
537
+ value: string;
538
+ label: string;
539
+ description?: string | undefined;
540
+ }[] | undefined;
541
+ other?: boolean | undefined;
542
+ header?: string | undefined;
543
+ secret?: boolean | undefined;
544
+ required?: boolean | undefined;
545
+ }>, "many">>;
338
546
  }, "strip", z.ZodTypeAny, {
339
547
  options: {
340
- optionId: string;
341
548
  name: string;
342
549
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
550
+ optionId: string;
343
551
  }[];
344
552
  title: string;
345
553
  requestId: string;
346
554
  toolCallId?: string | undefined;
347
555
  detail?: string | undefined;
556
+ questions?: {
557
+ text: string;
558
+ kind: "text" | "choice" | "choices";
559
+ id: string;
560
+ options?: {
561
+ value: string;
562
+ label: string;
563
+ description?: string | undefined;
564
+ }[] | undefined;
565
+ other?: boolean | undefined;
566
+ header?: string | undefined;
567
+ secret?: boolean | undefined;
568
+ required?: boolean | undefined;
569
+ }[] | undefined;
348
570
  }, {
349
571
  options: {
350
- optionId: string;
351
572
  name: string;
352
573
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
574
+ optionId: string;
353
575
  }[];
354
576
  title: string;
355
577
  requestId: string;
356
578
  toolCallId?: string | undefined;
357
579
  detail?: string | undefined;
580
+ questions?: {
581
+ text: string;
582
+ kind: "text" | "choice" | "choices";
583
+ id: string;
584
+ options?: {
585
+ value: string;
586
+ label: string;
587
+ description?: string | undefined;
588
+ }[] | undefined;
589
+ other?: boolean | undefined;
590
+ header?: string | undefined;
591
+ secret?: boolean | undefined;
592
+ required?: boolean | undefined;
593
+ }[] | undefined;
358
594
  }>>;
359
595
  /**
360
596
  * Live only: messages waiting for the current turn to end, when the host
@@ -366,13 +602,13 @@ export declare const sessionSummarySchema: z.ZodObject<{
366
602
  text: z.ZodString;
367
603
  images: z.ZodNumber;
368
604
  }, "strip", z.ZodTypeAny, {
605
+ text: string;
369
606
  images: number;
370
607
  clientMessageId: string;
371
- text: string;
372
608
  }, {
609
+ text: string;
373
610
  images: number;
374
611
  clientMessageId: string;
375
- text: string;
376
612
  }>, "many">>;
377
613
  /**
378
614
  * The session works in a git worktree LinkShell made for it: its own
@@ -384,11 +620,11 @@ export declare const sessionSummarySchema: z.ZodObject<{
384
620
  branch: z.ZodString;
385
621
  source: z.ZodString;
386
622
  }, "strip", z.ZodTypeAny, {
387
- branch: string;
388
623
  source: string;
389
- }, {
390
624
  branch: string;
625
+ }, {
391
626
  source: string;
627
+ branch: string;
392
628
  }>>;
393
629
  /** Live only, for sessions that started sub-agents: how many, and how many are working now (`sessions.subagents` lists them). */
394
630
  subagents: z.ZodOptional<z.ZodObject<{
@@ -402,92 +638,120 @@ export declare const sessionSummarySchema: z.ZodObject<{
402
638
  total: number;
403
639
  }>>;
404
640
  }, "strip", z.ZodTypeAny, {
405
- state: "idle" | "running" | "waiting" | "error" | "offline";
406
- id: string;
407
641
  agent: string;
642
+ id: string;
643
+ state: "error" | "idle" | "running" | "waiting" | "offline";
408
644
  nativeId: string;
409
645
  cwd: string;
410
- pendingPermissions: number;
411
646
  createdAt: number;
412
647
  updatedAt: number;
648
+ pendingPermissions: number;
413
649
  lastSeq: number;
414
650
  archived: boolean;
415
651
  title?: string | undefined;
416
- preview?: string | undefined;
417
- driver?: "remote" | "desktop" | "none" | undefined;
418
652
  model?: string | undefined;
653
+ driver?: "desktop" | "remote" | "none" | undefined;
654
+ preview?: string | undefined;
655
+ subagents?: {
656
+ running: number;
657
+ total: number;
658
+ } | undefined;
419
659
  activity?: {
420
- kind: "thinking" | "responding" | "tool";
660
+ kind: "tool" | "thinking" | "responding";
421
661
  title?: string | undefined;
422
662
  toolKind?: "read" | "edit" | "delete" | "move" | "search" | "execute" | "think" | "fetch" | "other" | undefined;
423
663
  } | undefined;
424
664
  permission?: {
425
665
  options: {
426
- optionId: string;
427
666
  name: string;
428
667
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
668
+ optionId: string;
429
669
  }[];
430
670
  title: string;
431
671
  requestId: string;
432
672
  toolCallId?: string | undefined;
433
673
  detail?: string | undefined;
674
+ questions?: {
675
+ text: string;
676
+ kind: "text" | "choice" | "choices";
677
+ id: string;
678
+ options?: {
679
+ value: string;
680
+ label: string;
681
+ description?: string | undefined;
682
+ }[] | undefined;
683
+ other?: boolean | undefined;
684
+ header?: string | undefined;
685
+ secret?: boolean | undefined;
686
+ required?: boolean | undefined;
687
+ }[] | undefined;
434
688
  } | undefined;
435
689
  queue?: {
690
+ text: string;
436
691
  images: number;
437
692
  clientMessageId: string;
438
- text: string;
439
693
  }[] | undefined;
440
694
  worktree?: {
441
- branch: string;
442
695
  source: string;
443
- } | undefined;
444
- subagents?: {
445
- running: number;
446
- total: number;
696
+ branch: string;
447
697
  } | undefined;
448
698
  }, {
449
- state: "idle" | "running" | "waiting" | "error" | "offline";
450
- id: string;
451
699
  agent: string;
700
+ id: string;
701
+ state: "error" | "idle" | "running" | "waiting" | "offline";
452
702
  nativeId: string;
453
703
  cwd: string;
454
- pendingPermissions: number;
455
704
  createdAt: number;
456
705
  updatedAt: number;
706
+ pendingPermissions: number;
457
707
  lastSeq: number;
458
708
  archived: boolean;
459
709
  title?: string | undefined;
460
- preview?: string | undefined;
461
- driver?: "remote" | "desktop" | "none" | undefined;
462
710
  model?: string | undefined;
711
+ driver?: "desktop" | "remote" | "none" | undefined;
712
+ preview?: string | undefined;
713
+ subagents?: {
714
+ running: number;
715
+ total: number;
716
+ } | undefined;
463
717
  activity?: {
464
- kind: "thinking" | "responding" | "tool";
718
+ kind: "tool" | "thinking" | "responding";
465
719
  title?: string | undefined;
466
720
  toolKind?: "read" | "edit" | "delete" | "move" | "search" | "execute" | "think" | "fetch" | "other" | undefined;
467
721
  } | undefined;
468
722
  permission?: {
469
723
  options: {
470
- optionId: string;
471
724
  name: string;
472
725
  kind: "allow_once" | "allow_always" | "reject_once" | "reject_always";
726
+ optionId: string;
473
727
  }[];
474
728
  title: string;
475
729
  requestId: string;
476
730
  toolCallId?: string | undefined;
477
731
  detail?: string | undefined;
732
+ questions?: {
733
+ text: string;
734
+ kind: "text" | "choice" | "choices";
735
+ id: string;
736
+ options?: {
737
+ value: string;
738
+ label: string;
739
+ description?: string | undefined;
740
+ }[] | undefined;
741
+ other?: boolean | undefined;
742
+ header?: string | undefined;
743
+ secret?: boolean | undefined;
744
+ required?: boolean | undefined;
745
+ }[] | undefined;
478
746
  } | undefined;
479
747
  queue?: {
748
+ text: string;
480
749
  images: number;
481
750
  clientMessageId: string;
482
- text: string;
483
751
  }[] | undefined;
484
752
  worktree?: {
485
- branch: string;
486
753
  source: string;
487
- } | undefined;
488
- subagents?: {
489
- running: number;
490
- total: number;
754
+ branch: string;
491
755
  } | undefined;
492
756
  }>;
493
757
  export type SessionSummary = z.infer<typeof sessionSummarySchema>;
@@ -536,17 +800,17 @@ export declare const worktreeEntrySchema: z.ZodObject<{
536
800
  dirty: boolean;
537
801
  path: string;
538
802
  createdAt: number;
539
- branch: string;
540
803
  source: string;
541
804
  sessions: string[];
805
+ branch: string;
542
806
  ahead: number;
543
807
  }, {
544
808
  dirty: boolean;
545
809
  path: string;
546
810
  createdAt: number;
547
- branch: string;
548
811
  source: string;
549
812
  sessions: string[];
813
+ branch: string;
550
814
  ahead: number;
551
815
  }>;
552
816
  export type WorktreeEntry = z.infer<typeof worktreeEntrySchema>;
@@ -594,12 +858,12 @@ export declare const machineInfoSchema: z.ZodObject<{
594
858
  hint: z.ZodOptional<z.ZodString>;
595
859
  }, "strip", z.ZodTypeAny, {
596
860
  state: "unknown" | "ok" | "missing";
597
- method?: string | undefined;
598
861
  hint?: string | undefined;
862
+ method?: string | undefined;
599
863
  }, {
600
864
  state: "unknown" | "ok" | "missing";
601
- method?: string | undefined;
602
865
  hint?: string | undefined;
866
+ method?: string | undefined;
603
867
  }>>;
604
868
  capabilities: z.ZodObject<{
605
869
  interrupt: z.ZodBoolean;
@@ -636,7 +900,7 @@ export declare const machineInfoSchema: z.ZodObject<{
636
900
  }, "strip", z.ZodTypeAny, {
637
901
  id: string;
638
902
  label: string;
639
- tier: "multi_client" | "handoff" | "remote" | "terminal";
903
+ tier: "terminal" | "remote" | "multi_client" | "handoff";
640
904
  installed: boolean;
641
905
  capabilities: {
642
906
  interrupt: boolean;
@@ -647,17 +911,17 @@ export declare const machineInfoSchema: z.ZodObject<{
647
911
  models: boolean;
648
912
  modes: boolean;
649
913
  };
650
- version?: string | undefined;
651
- problem?: string | undefined;
652
914
  auth?: {
653
915
  state: "unknown" | "ok" | "missing";
654
- method?: string | undefined;
655
916
  hint?: string | undefined;
917
+ method?: string | undefined;
656
918
  } | undefined;
919
+ version?: string | undefined;
920
+ problem?: string | undefined;
657
921
  }, {
658
922
  id: string;
659
923
  label: string;
660
- tier: "multi_client" | "handoff" | "remote" | "terminal";
924
+ tier: "terminal" | "remote" | "multi_client" | "handoff";
661
925
  installed: boolean;
662
926
  capabilities: {
663
927
  interrupt: boolean;
@@ -668,23 +932,30 @@ export declare const machineInfoSchema: z.ZodObject<{
668
932
  models: boolean;
669
933
  modes: boolean;
670
934
  };
671
- version?: string | undefined;
672
- problem?: string | undefined;
673
935
  auth?: {
674
936
  state: "unknown" | "ok" | "missing";
675
- method?: string | undefined;
676
937
  hint?: string | undefined;
938
+ method?: string | undefined;
677
939
  } | undefined;
940
+ version?: string | undefined;
941
+ problem?: string | undefined;
678
942
  }>, "many">;
943
+ /**
944
+ * The host can send bulk streams peer to peer (`direct.offer`); `iceServers`
945
+ * are the STUN servers both sides use to find a path.
946
+ */
947
+ direct: z.ZodOptional<z.ZodObject<{
948
+ iceServers: z.ZodArray<z.ZodString, "many">;
949
+ }, "strip", z.ZodTypeAny, {
950
+ iceServers: string[];
951
+ }, {
952
+ iceServers: string[];
953
+ }>>;
679
954
  }, "strip", z.ZodTypeAny, {
680
- machineId: string;
681
- hostname: string;
682
- platform: string;
683
- hostVersion: string;
684
955
  agents: {
685
956
  id: string;
686
957
  label: string;
687
- tier: "multi_client" | "handoff" | "remote" | "terminal";
958
+ tier: "terminal" | "remote" | "multi_client" | "handoff";
688
959
  installed: boolean;
689
960
  capabilities: {
690
961
  interrupt: boolean;
@@ -695,24 +966,27 @@ export declare const machineInfoSchema: z.ZodObject<{
695
966
  models: boolean;
696
967
  modes: boolean;
697
968
  };
698
- version?: string | undefined;
699
- problem?: string | undefined;
700
969
  auth?: {
701
970
  state: "unknown" | "ok" | "missing";
702
- method?: string | undefined;
703
971
  hint?: string | undefined;
972
+ method?: string | undefined;
704
973
  } | undefined;
974
+ version?: string | undefined;
975
+ problem?: string | undefined;
705
976
  }[];
706
- home?: string | undefined;
707
- }, {
708
977
  machineId: string;
709
978
  hostname: string;
710
979
  platform: string;
711
980
  hostVersion: string;
981
+ home?: string | undefined;
982
+ direct?: {
983
+ iceServers: string[];
984
+ } | undefined;
985
+ }, {
712
986
  agents: {
713
987
  id: string;
714
988
  label: string;
715
- tier: "multi_client" | "handoff" | "remote" | "terminal";
989
+ tier: "terminal" | "remote" | "multi_client" | "handoff";
716
990
  installed: boolean;
717
991
  capabilities: {
718
992
  interrupt: boolean;
@@ -723,15 +997,22 @@ export declare const machineInfoSchema: z.ZodObject<{
723
997
  models: boolean;
724
998
  modes: boolean;
725
999
  };
726
- version?: string | undefined;
727
- problem?: string | undefined;
728
1000
  auth?: {
729
1001
  state: "unknown" | "ok" | "missing";
730
- method?: string | undefined;
731
1002
  hint?: string | undefined;
1003
+ method?: string | undefined;
732
1004
  } | undefined;
1005
+ version?: string | undefined;
1006
+ problem?: string | undefined;
733
1007
  }[];
1008
+ machineId: string;
1009
+ hostname: string;
1010
+ platform: string;
1011
+ hostVersion: string;
734
1012
  home?: string | undefined;
1013
+ direct?: {
1014
+ iceServers: string[];
1015
+ } | undefined;
735
1016
  }>;
736
1017
  export type MachineInfo = z.infer<typeof machineInfoSchema>;
737
1018
  /** A server listening on the host, which a device can preview through the encrypted channel. */
@@ -747,16 +1028,16 @@ export declare const portInfoSchema: z.ZodObject<{
747
1028
  /** Answers HTTP at all (a dev server, not a database). */
748
1029
  http: z.ZodBoolean;
749
1030
  }, "strip", z.ZodTypeAny, {
1031
+ http: boolean;
750
1032
  port: number;
751
1033
  process: string;
752
- http: boolean;
753
1034
  title?: string | undefined;
754
1035
  cwd?: string | undefined;
755
1036
  pid?: number | undefined;
756
1037
  }, {
1038
+ http: boolean;
757
1039
  port: number;
758
1040
  process: string;
759
- http: boolean;
760
1041
  title?: string | undefined;
761
1042
  cwd?: string | undefined;
762
1043
  pid?: number | undefined;
@@ -780,26 +1061,26 @@ export declare const terminalInfoSchema: z.ZodObject<{
780
1061
  /** Ended without an exit code: the host stopped while it ran. */
781
1062
  interrupted: z.ZodOptional<z.ZodBoolean>;
782
1063
  }, "strip", z.ZodTypeAny, {
783
- id: string;
784
1064
  title: string;
1065
+ id: string;
785
1066
  cwd: string;
786
1067
  createdAt: number;
787
1068
  cols: number;
788
1069
  rows: number;
789
1070
  activeAt: number;
790
- command?: string | undefined;
791
1071
  exitCode?: number | null | undefined;
1072
+ command?: string | undefined;
792
1073
  interrupted?: boolean | undefined;
793
1074
  }, {
794
- id: string;
795
1075
  title: string;
1076
+ id: string;
796
1077
  cwd: string;
797
1078
  createdAt: number;
798
1079
  cols: number;
799
1080
  rows: number;
800
1081
  activeAt: number;
801
- command?: string | undefined;
802
1082
  exitCode?: number | null | undefined;
1083
+ command?: string | undefined;
803
1084
  interrupted?: boolean | undefined;
804
1085
  }>;
805
1086
  export type TerminalInfo = z.infer<typeof terminalInfoSchema>;
@@ -821,11 +1102,11 @@ export declare const gatewayStatusSchema: z.ZodObject<{
821
1102
  id: z.ZodString;
822
1103
  name: z.ZodString;
823
1104
  }, "strip", z.ZodTypeAny, {
824
- id: string;
825
1105
  name: string;
826
- }, {
827
1106
  id: string;
1107
+ }, {
828
1108
  name: string;
1109
+ id: string;
829
1110
  }>>;
830
1111
  account: z.ZodOptional<z.ZodObject<{
831
1112
  userId: z.ZodString;
@@ -843,21 +1124,21 @@ export declare const gatewayStatusSchema: z.ZodObject<{
843
1124
  pairedAt: z.ZodNumber;
844
1125
  online: z.ZodBoolean;
845
1126
  }, "strip", z.ZodTypeAny, {
846
- id: string;
847
1127
  name: string;
1128
+ id: string;
848
1129
  online: boolean;
849
1130
  pairedAt: number;
850
1131
  }, {
851
- id: string;
852
1132
  name: string;
1133
+ id: string;
853
1134
  online: boolean;
854
1135
  pairedAt: number;
855
1136
  }>, "many">;
856
1137
  }, "strip", z.ZodTypeAny, {
857
- status: "offline" | "off" | "connecting" | "online";
1138
+ status: "offline" | "connecting" | "off" | "online";
858
1139
  devices: {
859
- id: string;
860
1140
  name: string;
1141
+ id: string;
861
1142
  online: boolean;
862
1143
  pairedAt: number;
863
1144
  }[];
@@ -867,18 +1148,18 @@ export declare const gatewayStatusSchema: z.ZodObject<{
867
1148
  } | undefined;
868
1149
  url?: string | undefined;
869
1150
  machine?: {
870
- id: string;
871
1151
  name: string;
1152
+ id: string;
872
1153
  } | undefined;
873
1154
  account?: {
874
1155
  userId: string;
875
1156
  email?: string | undefined;
876
1157
  } | undefined;
877
1158
  }, {
878
- status: "offline" | "off" | "connecting" | "online";
1159
+ status: "offline" | "connecting" | "off" | "online";
879
1160
  devices: {
880
- id: string;
881
1161
  name: string;
1162
+ id: string;
882
1163
  online: boolean;
883
1164
  pairedAt: number;
884
1165
  }[];
@@ -888,8 +1169,8 @@ export declare const gatewayStatusSchema: z.ZodObject<{
888
1169
  } | undefined;
889
1170
  url?: string | undefined;
890
1171
  machine?: {
891
- id: string;
892
1172
  name: string;
1173
+ id: string;
893
1174
  } | undefined;
894
1175
  account?: {
895
1176
  userId: string;