@khorsheed/dsh-room 0.2.2 → 0.2.4

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 (109) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.en.md +29 -62
  3. package/README.i18n.yaml +2 -2
  4. package/README.md +28 -61
  5. package/lib/client.js +14620 -5705
  6. package/lib/index.js +4069 -730
  7. package/lib/journal-B4FOGO6S.js +482 -0
  8. package/lib/journal-Rid9AAnD.js +485 -0
  9. package/lib/tool.js +112 -166
  10. package/lib/typert.host.js +2031 -374
  11. package/lib/typert.remote-client.d.ts +34 -10
  12. package/lib/typert.remote-client.js +1599 -210
  13. package/lib/types/agent-setup.d.ts +1 -1
  14. package/lib/types/client/InviteAgentAction.js +4 -16
  15. package/lib/types/client/InviteDialog.d.ts +28 -6
  16. package/lib/types/client/InviteDialog.js +76 -12
  17. package/lib/types/client/MemberCard.d.ts +5 -1
  18. package/lib/types/client/MemberCard.js +4 -4
  19. package/lib/types/client/MembersView.d.ts +1 -1
  20. package/lib/types/client/MembersView.js +58 -22
  21. package/lib/types/client/RemoveMemberConfirm.d.ts +40 -0
  22. package/lib/types/client/RemoveMemberConfirm.js +85 -0
  23. package/lib/types/client/RoomApprovalView.d.ts +11 -0
  24. package/lib/types/client/RoomApprovalView.js +28 -0
  25. package/lib/types/client/RoomComposer.d.ts +1 -1
  26. package/lib/types/client/RoomComposer.js +195 -29
  27. package/lib/types/client/RoomDecisionView.d.ts +22 -0
  28. package/lib/types/client/RoomDecisionView.js +35 -0
  29. package/lib/types/client/RoomHelpView.d.ts +17 -0
  30. package/lib/types/client/RoomHelpView.js +56 -0
  31. package/lib/types/client/RoomInboxView.d.ts +10 -0
  32. package/lib/types/client/RoomInboxView.js +14 -0
  33. package/lib/types/client/RoomQuestionView.d.ts +13 -0
  34. package/lib/types/client/RoomQuestionView.js +61 -0
  35. package/lib/types/client/RoomRelayView.js +1 -1
  36. package/lib/types/client/RoomRunView.d.ts +3 -1
  37. package/lib/types/client/RoomRunView.js +12 -5
  38. package/lib/types/client/RoomSettingsView.d.ts +19 -0
  39. package/lib/types/client/RoomSettingsView.js +30 -0
  40. package/lib/types/client/RoomSpeechView.d.ts +22 -8
  41. package/lib/types/client/RoomSpeechView.js +94 -11
  42. package/lib/types/client/RoomStatsLine.d.ts +26 -5
  43. package/lib/types/client/RoomStatsLine.js +53 -7
  44. package/lib/types/client/RoomTaskCapsule.d.ts +19 -0
  45. package/lib/types/client/RoomTaskCapsule.js +37 -0
  46. package/lib/types/client/TasksTab.d.ts +41 -0
  47. package/lib/types/client/TasksTab.js +43 -0
  48. package/lib/types/client/TasksView.d.ts +44 -0
  49. package/lib/types/client/TasksView.js +149 -0
  50. package/lib/types/client/TeamView.d.ts +33 -0
  51. package/lib/types/client/TeamView.js +210 -0
  52. package/lib/types/client/at-menu.d.ts +127 -0
  53. package/lib/types/client/at-menu.js +173 -0
  54. package/lib/types/client/draft-chips.d.ts +67 -0
  55. package/lib/types/client/draft-chips.js +95 -0
  56. package/lib/types/client/executions.d.ts +0 -30
  57. package/lib/types/client/executions.js +4 -34
  58. package/lib/types/client/icons-local.d.ts +25 -0
  59. package/lib/types/client/icons-local.js +10 -0
  60. package/lib/types/client/icons.d.ts +2 -1
  61. package/lib/types/client/icons.js +1 -0
  62. package/lib/types/client/index.js +276 -72
  63. package/lib/types/client/locales.d.ts +482 -52
  64. package/lib/types/client/locales.js +490 -60
  65. package/lib/types/client/nodes.d.ts +112 -17
  66. package/lib/types/client/nodes.js +197 -26
  67. package/lib/types/client/slots.d.ts +117 -47
  68. package/lib/types/client/task-tag.d.ts +32 -0
  69. package/lib/types/client/task-tag.js +33 -0
  70. package/lib/types/client/tasks.d.ts +50 -0
  71. package/lib/types/client/tasks.js +82 -0
  72. package/lib/types/client/team.d.ts +73 -0
  73. package/lib/types/client/team.js +187 -0
  74. package/lib/types/decisions.d.ts +49 -0
  75. package/lib/types/decisions.js +101 -0
  76. package/lib/types/deliveries.d.ts +17 -1
  77. package/lib/types/deliveries.js +82 -6
  78. package/lib/types/dispatch.d.ts +102 -4
  79. package/lib/types/dispatch.js +498 -109
  80. package/lib/types/help.d.ts +137 -0
  81. package/lib/types/help.js +216 -0
  82. package/lib/types/helps.d.ts +26 -0
  83. package/lib/types/helps.js +47 -0
  84. package/lib/types/index.d.ts +292 -52
  85. package/lib/types/index.js +1421 -199
  86. package/lib/types/jobs.d.ts +22 -0
  87. package/lib/types/jobs.js +77 -0
  88. package/lib/types/journal.d.ts +17 -27
  89. package/lib/types/journal.js +120 -43
  90. package/lib/types/messaging.d.ts +65 -0
  91. package/lib/types/messaging.js +160 -0
  92. package/lib/types/plan-service.js +7 -1
  93. package/lib/types/report-gate.d.ts +81 -0
  94. package/lib/types/report-gate.js +89 -0
  95. package/lib/types/tool-definition.d.ts +43 -20
  96. package/lib/types/tool-definition.js +145 -212
  97. package/lib/types/tool.d.ts +2 -2
  98. package/lib/types/tool.js +3 -2
  99. package/lib/types/types.d.ts +755 -78
  100. package/locale/zh.json +1 -1
  101. package/package.json +3 -3
  102. package/lib/types/client/RoomActivityDock.d.ts +0 -19
  103. package/lib/types/client/RoomActivityDock.js +0 -105
  104. package/lib/types/client/RoomDockCapsules.d.ts +0 -64
  105. package/lib/types/client/RoomDockCapsules.js +0 -277
  106. package/lib/types/client/RoomPlanTab.d.ts +0 -15
  107. package/lib/types/client/RoomPlanTab.js +0 -13
  108. package/lib/types/client/RoomTaskLineView.d.ts +0 -13
  109. package/lib/types/client/RoomTaskLineView.js +0 -21
@@ -5,19 +5,109 @@ import { createTypertRemoteInfo } from '@deepseek-ai/dsh-typert-protocol/remote-
5
5
 
6
6
  let RoomJsonValueRemoteCodec$schema$value
7
7
  const RoomJsonValueRemoteCodec$schema = () => (RoomJsonValueRemoteCodec$schema$value ??= z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => RoomJsonValueRemoteCodec$schema())), z.record(z.string(), z.lazy(() => RoomJsonValueRemoteCodec$schema()))]))
8
- let _khorsheed_dsh_room_room_addTask_parameter_0$schema$value
9
- const _khorsheed_dsh_room_room_addTask_parameter_0$schema = () => (_khorsheed_dsh_room_room_addTask_parameter_0$schema$value ??= z.object({
10
- 'sessionId': z.string().readonly().describe('Room session.'),
11
- 'member': z.string().readonly().describe('The member owning the task.'),
12
- 'title': z.string().readonly().describe('Task title (non-blank).'),
13
- 'blockedBy': z.string().readonly().optional().describe('Optional member this task waits on ("等 ada" — display only, never an automatic dispatch). Must name a roster member when present.'),
8
+ let _khorsheed_dsh_room_room_answerApproval_parameter_0$schema$value
9
+ const _khorsheed_dsh_room_room_answerApproval_parameter_0$schema = () => (_khorsheed_dsh_room_room_answerApproval_parameter_0$schema$value ??= z.object({
10
+ 'sessionId': z.string().readonly(),
11
+ 'id': z.string().readonly(),
12
+ 'outcome': z.union([z.literal("rejected"), z.literal("allowed-once")]).readonly(),
14
13
  }))
15
- let _khorsheed_dsh_room_room_addTask_result$schema$value
16
- const _khorsheed_dsh_room_room_addTask_result$schema = () => (_khorsheed_dsh_room_room_addTask_result$schema$value ??= z.union([z.object({
14
+ let _khorsheed_dsh_room_room_answerApproval_result$schema$value
15
+ const _khorsheed_dsh_room_room_answerApproval_result$schema = () => (_khorsheed_dsh_room_room_answerApproval_result$schema$value ??= z.union([z.object({
17
16
  'ok': z.literal(true).readonly(),
18
- 'value': z.object({
17
+ }), z.object({
18
+ 'ok': z.literal(false).readonly(),
19
+ 'error': z.union([z.object({
20
+ 'code': z.literal("request-conflict").readonly(),
21
+ }), z.object({
22
+ 'code': z.literal("member-cwd-bound").readonly(),
23
+ }), z.object({
24
+ 'code': z.literal("not-coordinator").readonly(),
25
+ }), z.object({
26
+ 'code': z.literal("delivery-not-uncertain").readonly(),
27
+ }), z.object({
28
+ 'code': z.literal("plan-reconciliation-required").readonly(),
29
+ }), z.object({
30
+ 'code': z.literal("coordinator-busy").readonly(),
31
+ }), z.object({
32
+ 'code': z.literal("coordinator-not-ready").readonly(),
33
+ 'message': z.string().readonly(),
34
+ }), z.object({
35
+ 'code': z.literal("coordinator-conflict").readonly(),
36
+ }), z.object({
37
+ 'code': z.literal("active-coordinator").readonly(),
38
+ }), z.object({
39
+ 'code': z.literal("configuration-owned-by-core").readonly(),
40
+ }), z.object({
41
+ 'code': z.literal("session-not-found").readonly(),
42
+ }), z.object({
43
+ 'code': z.literal("not-a-room").readonly(),
44
+ }), z.object({
45
+ 'code': z.literal("invalid-name").readonly(),
46
+ }), z.object({
47
+ 'code': z.literal("duplicate-name").readonly(),
48
+ }), z.object({
49
+ 'code': z.literal("empty-provider").readonly(),
50
+ }), z.object({
51
+ 'code': z.literal("member-not-found").readonly(),
52
+ }), z.object({
53
+ 'code': z.literal("empty-text").readonly(),
54
+ }), z.object({
55
+ 'code': z.literal("role-too-long").readonly(),
56
+ }), z.object({
57
+ 'code': z.literal("invalid-settings").readonly(),
58
+ }), z.object({
59
+ 'code': z.literal("self-message").readonly(),
60
+ }), z.object({
61
+ 'code': z.literal("unknown-task").readonly(),
62
+ }), z.object({
63
+ 'code': z.literal("unknown-preset").readonly(),
64
+ 'preset': z.string().readonly(),
65
+ 'available': z.array(z.string()).readonly(),
66
+ }), z.object({
67
+ 'code': z.literal("nothing-to-update").readonly(),
68
+ }), z.object({
69
+ 'code': z.literal("local-agent-unavailable").readonly(),
70
+ }), z.object({
71
+ 'code': z.literal("unknown-provider").readonly(),
72
+ 'provider': z.string().readonly(),
73
+ 'available': z.array(z.string()).readonly(),
74
+ }), z.object({
75
+ 'code': z.literal("unknown-targets").readonly(),
76
+ 'names': z.array(z.string()).readonly(),
77
+ }), z.object({
78
+ 'code': z.literal("no-targets").readonly(),
79
+ }), z.object({
80
+ 'code': z.literal("relay-not-found").readonly(),
81
+ }), z.object({
82
+ 'code': z.literal("relay-not-pending").readonly(),
83
+ }), z.object({
84
+ 'code': z.literal("approval-not-pending").readonly(),
85
+ }), z.object({
86
+ 'code': z.literal("question-not-pending").readonly(),
87
+ }), z.object({
88
+ 'code': z.literal("main-member").readonly(),
89
+ }), z.object({
90
+ 'code': z.literal("task-not-found").readonly(),
91
+ }), z.object({
92
+ 'code': z.literal("task-closed").readonly(),
93
+ }), z.object({
94
+ 'code': z.literal("resume-failed").readonly(),
95
+ 'message': z.string().readonly(),
96
+ })]).readonly(),
97
+ })]))
98
+ let _khorsheed_dsh_room_room_answerQuestion_parameter_0$schema$value
99
+ const _khorsheed_dsh_room_room_answerQuestion_parameter_0$schema = () => (_khorsheed_dsh_room_room_answerQuestion_parameter_0$schema$value ??= z.object({
100
+ 'sessionId': z.string().readonly(),
19
101
  'id': z.string().readonly(),
20
- }).readonly(),
102
+ 'answers': z.array(z.object({
103
+ 'id': z.string().readonly(),
104
+ 'selected': z.array(z.string()).readonly(),
105
+ 'custom': z.string().readonly().optional(),
106
+ })).readonly(),
107
+ }))
108
+ let _khorsheed_dsh_room_room_answerQuestion_result$schema$value
109
+ const _khorsheed_dsh_room_room_answerQuestion_result$schema = () => (_khorsheed_dsh_room_room_answerQuestion_result$schema$value ??= z.union([z.object({
110
+ 'ok': z.literal(true).readonly(),
21
111
  }), z.object({
22
112
  'ok': z.literal(false).readonly(),
23
113
  'error': z.union([z.object({
@@ -55,6 +145,18 @@ const _khorsheed_dsh_room_room_addTask_result$schema = () => (_khorsheed_dsh_roo
55
145
  'code': z.literal("member-not-found").readonly(),
56
146
  }), z.object({
57
147
  'code': z.literal("empty-text").readonly(),
148
+ }), z.object({
149
+ 'code': z.literal("role-too-long").readonly(),
150
+ }), z.object({
151
+ 'code': z.literal("invalid-settings").readonly(),
152
+ }), z.object({
153
+ 'code': z.literal("self-message").readonly(),
154
+ }), z.object({
155
+ 'code': z.literal("unknown-task").readonly(),
156
+ }), z.object({
157
+ 'code': z.literal("unknown-preset").readonly(),
158
+ 'preset': z.string().readonly(),
159
+ 'available': z.array(z.string()).readonly(),
58
160
  }), z.object({
59
161
  'code': z.literal("nothing-to-update").readonly(),
60
162
  }), z.object({
@@ -72,6 +174,10 @@ const _khorsheed_dsh_room_room_addTask_result$schema = () => (_khorsheed_dsh_roo
72
174
  'code': z.literal("relay-not-found").readonly(),
73
175
  }), z.object({
74
176
  'code': z.literal("relay-not-pending").readonly(),
177
+ }), z.object({
178
+ 'code': z.literal("approval-not-pending").readonly(),
179
+ }), z.object({
180
+ 'code': z.literal("question-not-pending").readonly(),
75
181
  }), z.object({
76
182
  'code': z.literal("main-member").readonly(),
77
183
  }), z.object({
@@ -133,6 +239,18 @@ const _khorsheed_dsh_room_room_cancel_result$schema = () => (_khorsheed_dsh_room
133
239
  'code': z.literal("member-not-found").readonly(),
134
240
  }), z.object({
135
241
  'code': z.literal("empty-text").readonly(),
242
+ }), z.object({
243
+ 'code': z.literal("role-too-long").readonly(),
244
+ }), z.object({
245
+ 'code': z.literal("invalid-settings").readonly(),
246
+ }), z.object({
247
+ 'code': z.literal("self-message").readonly(),
248
+ }), z.object({
249
+ 'code': z.literal("unknown-task").readonly(),
250
+ }), z.object({
251
+ 'code': z.literal("unknown-preset").readonly(),
252
+ 'preset': z.string().readonly(),
253
+ 'available': z.array(z.string()).readonly(),
136
254
  }), z.object({
137
255
  'code': z.literal("nothing-to-update").readonly(),
138
256
  }), z.object({
@@ -150,6 +268,10 @@ const _khorsheed_dsh_room_room_cancel_result$schema = () => (_khorsheed_dsh_room
150
268
  'code': z.literal("relay-not-found").readonly(),
151
269
  }), z.object({
152
270
  'code': z.literal("relay-not-pending").readonly(),
271
+ }), z.object({
272
+ 'code': z.literal("approval-not-pending").readonly(),
273
+ }), z.object({
274
+ 'code': z.literal("question-not-pending").readonly(),
153
275
  }), z.object({
154
276
  'code': z.literal("main-member").readonly(),
155
277
  }), z.object({
@@ -209,6 +331,18 @@ const _khorsheed_dsh_room_room_cancelChild_result$schema = () => (_khorsheed_dsh
209
331
  'code': z.literal("member-not-found").readonly(),
210
332
  }), z.object({
211
333
  'code': z.literal("empty-text").readonly(),
334
+ }), z.object({
335
+ 'code': z.literal("role-too-long").readonly(),
336
+ }), z.object({
337
+ 'code': z.literal("invalid-settings").readonly(),
338
+ }), z.object({
339
+ 'code': z.literal("self-message").readonly(),
340
+ }), z.object({
341
+ 'code': z.literal("unknown-task").readonly(),
342
+ }), z.object({
343
+ 'code': z.literal("unknown-preset").readonly(),
344
+ 'preset': z.string().readonly(),
345
+ 'available': z.array(z.string()).readonly(),
212
346
  }), z.object({
213
347
  'code': z.literal("nothing-to-update").readonly(),
214
348
  }), z.object({
@@ -226,6 +360,10 @@ const _khorsheed_dsh_room_room_cancelChild_result$schema = () => (_khorsheed_dsh
226
360
  'code': z.literal("relay-not-found").readonly(),
227
361
  }), z.object({
228
362
  'code': z.literal("relay-not-pending").readonly(),
363
+ }), z.object({
364
+ 'code': z.literal("approval-not-pending").readonly(),
365
+ }), z.object({
366
+ 'code': z.literal("question-not-pending").readonly(),
229
367
  }), z.object({
230
368
  'code': z.literal("main-member").readonly(),
231
369
  }), z.object({
@@ -237,17 +375,16 @@ const _khorsheed_dsh_room_room_cancelChild_result$schema = () => (_khorsheed_dsh
237
375
  'message': z.string().readonly(),
238
376
  })]).readonly(),
239
377
  })]))
240
- let _khorsheed_dsh_room_room_closeTask_parameter_0$schema$value
241
- const _khorsheed_dsh_room_room_closeTask_parameter_0$schema = () => (_khorsheed_dsh_room_room_closeTask_parameter_0$schema$value ??= z.object({
378
+ let _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema$value
379
+ const _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema = () => (_khorsheed_dsh_room_room_confirmRelay_parameter_0$schema$value ??= z.object({
242
380
  'sessionId': z.string().readonly().describe('Room session.'),
243
- 'taskId': z.string().readonly().describe('The task to close.'),
244
- 'status': z.union([z.literal("cancelled"), z.literal("done")]).readonly().optional().describe('Closing status (default \'done\').'),
381
+ 'relayId': z.string().readonly().describe('The relay to resolve.'),
245
382
  }))
246
- let _khorsheed_dsh_room_room_closeTask_result$schema$value
247
- const _khorsheed_dsh_room_room_closeTask_result$schema = () => (_khorsheed_dsh_room_room_closeTask_result$schema$value ??= z.union([z.object({
383
+ let _khorsheed_dsh_room_room_confirmRelay_result$schema$value
384
+ const _khorsheed_dsh_room_room_confirmRelay_result$schema = () => (_khorsheed_dsh_room_room_confirmRelay_result$schema$value ??= z.union([z.object({
248
385
  'ok': z.literal(true).readonly(),
249
386
  'value': z.object({
250
- 'id': z.string().readonly(),
387
+ 'relayId': z.string().readonly(),
251
388
  }).readonly(),
252
389
  }), z.object({
253
390
  'ok': z.literal(false).readonly(),
@@ -286,6 +423,18 @@ const _khorsheed_dsh_room_room_closeTask_result$schema = () => (_khorsheed_dsh_r
286
423
  'code': z.literal("member-not-found").readonly(),
287
424
  }), z.object({
288
425
  'code': z.literal("empty-text").readonly(),
426
+ }), z.object({
427
+ 'code': z.literal("role-too-long").readonly(),
428
+ }), z.object({
429
+ 'code': z.literal("invalid-settings").readonly(),
430
+ }), z.object({
431
+ 'code': z.literal("self-message").readonly(),
432
+ }), z.object({
433
+ 'code': z.literal("unknown-task").readonly(),
434
+ }), z.object({
435
+ 'code': z.literal("unknown-preset").readonly(),
436
+ 'preset': z.string().readonly(),
437
+ 'available': z.array(z.string()).readonly(),
289
438
  }), z.object({
290
439
  'code': z.literal("nothing-to-update").readonly(),
291
440
  }), z.object({
@@ -303,6 +452,10 @@ const _khorsheed_dsh_room_room_closeTask_result$schema = () => (_khorsheed_dsh_r
303
452
  'code': z.literal("relay-not-found").readonly(),
304
453
  }), z.object({
305
454
  'code': z.literal("relay-not-pending").readonly(),
455
+ }), z.object({
456
+ 'code': z.literal("approval-not-pending").readonly(),
457
+ }), z.object({
458
+ 'code': z.literal("question-not-pending").readonly(),
306
459
  }), z.object({
307
460
  'code': z.literal("main-member").readonly(),
308
461
  }), z.object({
@@ -314,17 +467,15 @@ const _khorsheed_dsh_room_room_closeTask_result$schema = () => (_khorsheed_dsh_r
314
467
  'message': z.string().readonly(),
315
468
  })]).readonly(),
316
469
  })]))
317
- let _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema$value
318
- const _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema = () => (_khorsheed_dsh_room_room_confirmRelay_parameter_0$schema$value ??= z.object({
319
- 'sessionId': z.string().readonly().describe('Room session.'),
320
- 'relayId': z.string().readonly().describe('The relay to resolve.'),
470
+ let _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0$schema$value
471
+ const _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0$schema = () => (_khorsheed_dsh_room_room_dismissHelpNudge_parameter_0$schema$value ??= z.object({
472
+ 'sessionId': z.string().readonly(),
473
+ 'target': z.string().readonly().describe('The outside session.'),
474
+ 'title': z.string().readonly().optional().describe('Its title (link only).'),
321
475
  }))
322
- let _khorsheed_dsh_room_room_confirmRelay_result$schema$value
323
- const _khorsheed_dsh_room_room_confirmRelay_result$schema = () => (_khorsheed_dsh_room_room_confirmRelay_result$schema$value ??= z.union([z.object({
476
+ let _khorsheed_dsh_room_room_dismissHelpNudge_result$schema$value
477
+ const _khorsheed_dsh_room_room_dismissHelpNudge_result$schema = () => (_khorsheed_dsh_room_room_dismissHelpNudge_result$schema$value ??= z.union([z.object({
324
478
  'ok': z.literal(true).readonly(),
325
- 'value': z.object({
326
- 'relayId': z.string().readonly(),
327
- }).readonly(),
328
479
  }), z.object({
329
480
  'ok': z.literal(false).readonly(),
330
481
  'error': z.union([z.object({
@@ -362,6 +513,18 @@ const _khorsheed_dsh_room_room_confirmRelay_result$schema = () => (_khorsheed_ds
362
513
  'code': z.literal("member-not-found").readonly(),
363
514
  }), z.object({
364
515
  'code': z.literal("empty-text").readonly(),
516
+ }), z.object({
517
+ 'code': z.literal("role-too-long").readonly(),
518
+ }), z.object({
519
+ 'code': z.literal("invalid-settings").readonly(),
520
+ }), z.object({
521
+ 'code': z.literal("self-message").readonly(),
522
+ }), z.object({
523
+ 'code': z.literal("unknown-task").readonly(),
524
+ }), z.object({
525
+ 'code': z.literal("unknown-preset").readonly(),
526
+ 'preset': z.string().readonly(),
527
+ 'available': z.array(z.string()).readonly(),
365
528
  }), z.object({
366
529
  'code': z.literal("nothing-to-update").readonly(),
367
530
  }), z.object({
@@ -379,6 +542,10 @@ const _khorsheed_dsh_room_room_confirmRelay_result$schema = () => (_khorsheed_ds
379
542
  'code': z.literal("relay-not-found").readonly(),
380
543
  }), z.object({
381
544
  'code': z.literal("relay-not-pending").readonly(),
545
+ }), z.object({
546
+ 'code': z.literal("approval-not-pending").readonly(),
547
+ }), z.object({
548
+ 'code': z.literal("question-not-pending").readonly(),
382
549
  }), z.object({
383
550
  'code': z.literal("main-member").readonly(),
384
551
  }), z.object({
@@ -438,6 +605,18 @@ const _khorsheed_dsh_room_room_dismissRelay_result$schema = () => (_khorsheed_ds
438
605
  'code': z.literal("member-not-found").readonly(),
439
606
  }), z.object({
440
607
  'code': z.literal("empty-text").readonly(),
608
+ }), z.object({
609
+ 'code': z.literal("role-too-long").readonly(),
610
+ }), z.object({
611
+ 'code': z.literal("invalid-settings").readonly(),
612
+ }), z.object({
613
+ 'code': z.literal("self-message").readonly(),
614
+ }), z.object({
615
+ 'code': z.literal("unknown-task").readonly(),
616
+ }), z.object({
617
+ 'code': z.literal("unknown-preset").readonly(),
618
+ 'preset': z.string().readonly(),
619
+ 'available': z.array(z.string()).readonly(),
441
620
  }), z.object({
442
621
  'code': z.literal("nothing-to-update").readonly(),
443
622
  }), z.object({
@@ -455,6 +634,10 @@ const _khorsheed_dsh_room_room_dismissRelay_result$schema = () => (_khorsheed_ds
455
634
  'code': z.literal("relay-not-found").readonly(),
456
635
  }), z.object({
457
636
  'code': z.literal("relay-not-pending").readonly(),
637
+ }), z.object({
638
+ 'code': z.literal("approval-not-pending").readonly(),
639
+ }), z.object({
640
+ 'code': z.literal("question-not-pending").readonly(),
458
641
  }), z.object({
459
642
  'code': z.literal("main-member").readonly(),
460
643
  }), z.object({
@@ -478,10 +661,18 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
478
661
  'id': z.string().readonly(),
479
662
  'memberId': z.string().readonly().optional(),
480
663
  'childSessionId': z.string().readonly().optional(),
664
+ 'childTurn': z.number().readonly().optional().describe('The child session round the run reached, as recorded by its terminal run-state edge.'),
481
665
  'provider': z.string().readonly().optional(),
482
666
  'model': z.string().readonly().optional(),
483
667
  'effort': z.string().readonly().optional(),
484
668
  'tokens': z.number().readonly().optional(),
669
+ 'usage': z.object({
670
+ 'inputTokens': z.number().readonly(),
671
+ 'outputTokens': z.number().readonly(),
672
+ 'cacheReadTokens': z.number().readonly().optional(),
673
+ 'cacheWriteTokens': z.number().readonly().optional(),
674
+ 'reasoningTokens': z.number().readonly().optional(),
675
+ }).readonly().optional(),
485
676
  'runId': z.string().readonly().optional().describe('Stable execution identity; legacy journals use startedAt.'),
486
677
  'member': z.string().readonly(),
487
678
  'state': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("done")]).readonly(),
@@ -559,8 +750,11 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
559
750
  'id': z.string().readonly(),
560
751
  'dispatchSeq': z.number().readonly(),
561
752
  'memberId': z.string().readonly(),
562
- 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("done"), z.literal("queued"), z.literal("uncertain")]).readonly(),
563
- 'origin': z.union([z.literal("human"), z.literal("coordinator"), z.literal("report"), z.literal("relay")]).readonly(),
753
+ 'status': z.union([z.literal("cancelled"), z.literal("failed"), z.literal("running"), z.literal("done"), z.literal("queued"), z.literal("uncertain"), z.literal("held")]).readonly().describe('`held`: a report the gate keeps for a later round (never run on its own).'),
754
+ 'origin': z.union([z.literal("human"), z.literal("coordinator"), z.literal("member"), z.literal("report"), z.literal("relay"), z.literal("help")]).readonly(),
755
+ 'replyTo': z.string().readonly().optional().describe('The member id this delivery\'s outcome is reported to, when any.'),
756
+ 'from': z.string().readonly().optional().describe('The sending member\'s id (coordinator/member origins).'),
757
+ 'kind': z.union([z.literal("task"), z.literal("notify")]).readonly().optional().describe('`task` or `notify` (member sends); absent on human and legacy dispatches.'),
564
758
  'text': z.string().readonly(),
565
759
  'error': z.string().readonly().optional(),
566
760
  'plan': z.union([z.undefined(), z.object({
@@ -568,6 +762,13 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
568
762
  'taskId': z.string().readonly().optional(),
569
763
  'attemptId': z.string().readonly().optional(),
570
764
  })]).readonly().optional(),
765
+ 'task': z.string().readonly().optional().describe('The task this delivery belongs to (see RoomDispatchEvent.task).'),
766
+ 'parent': z.string().readonly().optional().describe('The sender\'s own delivery this was sent from (the task tree\'s parent).'),
767
+ 'queuedAt': z.number().readonly().describe('Epoch ms: dispatched, admitted (first running edge), settled.'),
768
+ 'startedAt': z.number().readonly().optional(),
769
+ 'endedAt': z.number().readonly().optional(),
770
+ 'heldAt': z.number().readonly().optional().describe('Epoch ms the report gate held this report, and released it.'),
771
+ 'releasedAt': z.number().readonly().optional(),
571
772
  })).readonly().optional(),
572
773
  'coordinator': z.object({
573
774
  'version': z.literal(1).readonly(),
@@ -579,12 +780,15 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
579
780
  'members': z.array(z.object({
580
781
  'id': z.string().readonly().optional(),
581
782
  'name': z.string().readonly(),
582
- 'kind': z.union([z.literal("main-agent"), z.literal("cli")]).readonly(),
783
+ 'kind': z.union([z.literal("native"), z.literal("main-agent"), z.literal("cli")]).readonly(),
583
784
  'provider': z.string().readonly().optional(),
584
785
  'instructions': z.string().readonly().optional(),
786
+ 'role': z.string().readonly().optional().describe('Short public role shown to the other members (see {@link RoomMemberAddedEvent.role}).'),
787
+ 'preset': z.string().readonly().optional().describe('Native members: the host agent preset (see {@link RoomMemberAddedEvent.preset}).'),
585
788
  'invitedBy': z.union([z.literal("agent"), z.literal("human")]).readonly(),
586
789
  'cwd': z.string().readonly().optional().describe('Member-level working directory (roster record; not yet passed to the facade).'),
587
790
  'model': z.string().readonly().optional().describe('The member\'s intended model (roster record; the facade start\'s `model` option on the first dispatch).'),
791
+ 'effort': z.string().readonly().optional().describe('The member\'s intended reasoning effort (roster record; the facade start\'s `effort` option on the first dispatch).'),
588
792
  'childSessionId': z.string().readonly().optional(),
589
793
  })).readonly(),
590
794
  'relays': z.array(z.object({
@@ -594,7 +798,51 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
594
798
  'content': z.string().readonly(),
595
799
  'provenance': z.record(z.string(), z.union([z.literal(null), z.string(), z.number(), z.literal(false), z.literal(true), z.array(z.lazy(() => RoomJsonValueRemoteCodec$schema())), z.record(z.string(), z.lazy(() => RoomJsonValueRemoteCodec$schema()))])).readonly().optional(),
596
800
  'state': z.union([z.literal("pending"), z.literal("confirmed"), z.literal("dismissed"), z.literal("sent")]).readonly(),
801
+ 'reason': z.union([z.literal("paused"), z.literal("confirm"), z.literal("hop-limit")]).readonly().optional(),
802
+ 'intent': z.object({
803
+ 'origin': z.union([z.literal("coordinator"), z.literal("member"), z.literal("report"), z.literal("help")]).readonly(),
804
+ 'help': z.object({
805
+ 'id': z.string().readonly().describe('The thread id in the asking room.'),
806
+ 'room': z.string().readonly(),
807
+ 'roomTitle': z.string().readonly(),
808
+ 'from': z.string().readonly().describe('The asking member\'s name.'),
809
+ }).readonly().optional().describe('A help request from another room (origin `help`): its final reply goes back there.'),
810
+ 'from': z.string().readonly().optional(),
811
+ 'kind': z.union([z.literal("task"), z.literal("notify")]).readonly().optional(),
812
+ 'hop': z.number().readonly(),
813
+ 'inReplyTo': z.number().readonly().optional(),
814
+ 'replyTo': z.string().readonly().optional(),
815
+ 'reportFor': z.string().readonly().optional(),
816
+ 'plan': z.object({
817
+ 'goalId': z.string().readonly(),
818
+ }).readonly().optional(),
819
+ 'note': z.string().readonly().optional(),
820
+ 'task': z.string().readonly().optional(),
821
+ 'parent': z.string().readonly().optional(),
822
+ }).readonly().optional(),
823
+ })).readonly(),
824
+ 'approvals': z.array(z.object({
825
+ 'id': z.string().readonly(),
826
+ 'member': z.string().readonly(),
827
+ 'tool': z.string().readonly(),
828
+ 'reason': z.string().readonly().optional(),
829
+ 'time': z.number().readonly(),
830
+ })).readonly().optional().describe('Members\' tool approvals still waiting for the human.'),
831
+ 'questions': z.array(z.object({
832
+ 'id': z.string().readonly(),
833
+ 'member': z.string().readonly(),
834
+ 'questions': z.array(z.object({
835
+ 'id': z.string().readonly(),
836
+ 'question': z.string().readonly(),
837
+ 'header': z.string().readonly().optional(),
838
+ 'options': z.array(z.object({
839
+ 'label': z.string().readonly(),
840
+ 'description': z.string().readonly().optional(),
841
+ })).readonly().optional(),
842
+ 'multiSelect': z.boolean().readonly().optional(),
597
843
  })).readonly(),
844
+ 'time': z.number().readonly(),
845
+ })).readonly().optional().describe('Members\' questions still waiting for the human.'),
598
846
  'tasks': z.array(z.object({
599
847
  'deliveryId': z.string().readonly().optional().describe('Only this delivery may automatically settle this legacy chat task row.'),
600
848
  'id': z.string().readonly(),
@@ -613,6 +861,66 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
613
861
  'error': z.string().readonly().optional().describe('Why the run failed (failed edges only), when the edge carried one.'),
614
862
  })).readonly(),
615
863
  'goal': z.string().readonly().optional().describe('The current goal text (the latest `room/goal` event), undefined when unset.'),
864
+ 'latestReplySeq': z.number().readonly().optional().describe('Seq of the newest member speech addressed to the room (no `reportedTo`): the reply the human is reading, shown unfolded.'),
865
+ 'latestSpeechSeq': z.number().readonly().optional().describe('Seq of the newest member speech of any kind: its action row stays shown, older rows reveal on hover.'),
866
+ 'settings': z.object({
867
+ 'memberMessages': z.union([z.literal("free"), z.literal("confirm")]).readonly(),
868
+ 'hopLimit': z.number().readonly(),
869
+ 'paused': z.boolean().readonly(),
870
+ 'reportTiming': z.union([z.literal("judge"), z.literal("each")]).readonly(),
871
+ 'autoTaskFiling': z.boolean().readonly(),
872
+ 'reportThreshold': z.number().readonly(),
873
+ 'reportWaitMinutes': z.number().readonly(),
874
+ 'helpReminderMinutes': z.number().readonly(),
875
+ }).readonly().optional().describe('Collaboration settings (defaults when never set).'),
876
+ 'jobs': z.array(z.object({
877
+ 'id': z.string().readonly().describe('Root message id (or the root human dispatch\'s id).'),
878
+ 'number': z.number().readonly().describe('1-based ordinal in the room, for 「任务 N」 and the coordinator\'s `task` argument.'),
879
+ 'title': z.string().readonly(),
880
+ 'messages': z.array(z.object({
881
+ 'id': z.string().readonly(),
882
+ 'time': z.number().readonly(),
883
+ 'text': z.string().readonly(),
884
+ 'by': z.union([z.literal("model"), z.literal("human"), z.literal("coordinator")]).readonly().optional(),
885
+ 'probability': z.number().readonly().optional(),
886
+ })).readonly(),
887
+ 'status': z.union([z.literal("running"), z.literal("stopped"), z.literal("done"), z.literal("attention")]).readonly(),
888
+ 'startedAt': z.number().readonly(),
889
+ 'endedAt': z.number().readonly().optional().describe('Last settlement, when nothing is open any more.'),
890
+ 'deliveries': z.array(z.string()).readonly().describe('Delivery ids, in dispatch order.'),
891
+ 'members': z.array(z.string()).readonly().describe('Member ids that took part.'),
892
+ 'goalId': z.string().readonly().optional().describe('The formal goal (room_plan) this task\'s work belongs to, when any.'),
893
+ })).readonly().optional().describe('Tasks, newest first (absent in rooms that never dispatched work).'),
894
+ 'helps': z.array(z.object({
895
+ 'state': z.union([z.literal("failed"), z.literal("running"), z.literal("queued"), z.literal("asking"), z.literal("replied")]).readonly(),
896
+ 'since': z.number().readonly().describe('When the thread entered its current state (epoch ms).'),
897
+ 'error': z.string().readonly().optional(),
898
+ 'messages': z.array(z.object({
899
+ 'help': z.string().readonly(),
900
+ 'kind': z.union([z.literal("question"), z.literal("reply"), z.literal("message")]).readonly().describe('`question`: the helper asks the asker. `reply`: the helper\'s answer (its final reply plus a short handoff). `message`: the asker writes again (an answer to a question, or a follow-up).'),
901
+ 'text': z.string().readonly(),
902
+ 'handoff': z.string().readonly().optional().describe('The helper\'s short handoff note on a reply.'),
903
+ 'fallback': z.literal(true).readonly().optional().describe('A reply taken from the helper\'s last answer because it never called the reply tool.'),
904
+ 'time': z.number().readonly(),
905
+ })).readonly(),
906
+ 'time': z.number().readonly(),
907
+ 'id': z.string().readonly(),
908
+ 'from': z.string().readonly().describe('The asking member\'s id and name.'),
909
+ 'fromName': z.string().readonly(),
910
+ 'target': z.object({
911
+ 'sessionId': z.string().readonly(),
912
+ 'title': z.string().readonly(),
913
+ 'room': z.literal(true).readonly().optional(),
914
+ 'member': z.string().readonly().optional(),
915
+ }).readonly().describe('The helper\'s session. A room target (`room`) routes through that room: to the named `member`, else to its coordinator.'),
916
+ 'text': z.string().readonly().describe('The request as the helper reads it.'),
917
+ })).readonly().optional().describe('Cross-session help threads this room opened (absent when none).'),
918
+ 'linked': z.array(z.object({
919
+ 'sessionId': z.string().readonly(),
920
+ 'title': z.string().readonly(),
921
+ 'time': z.number().readonly(),
922
+ })).readonly().optional().describe('Outside sessions kept on the member list (absent when none).'),
923
+ 'helpNudgesDismissed': z.array(z.string()).readonly().optional().describe('Sessions whose 加入房间成员 hint was dismissed (absent when none).'),
616
924
  }).readonly(),
617
925
  }), z.object({
618
926
  'ok': z.literal(false).readonly(),
@@ -651,6 +959,18 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
651
959
  'code': z.literal("member-not-found").readonly(),
652
960
  }), z.object({
653
961
  'code': z.literal("empty-text").readonly(),
962
+ }), z.object({
963
+ 'code': z.literal("role-too-long").readonly(),
964
+ }), z.object({
965
+ 'code': z.literal("invalid-settings").readonly(),
966
+ }), z.object({
967
+ 'code': z.literal("self-message").readonly(),
968
+ }), z.object({
969
+ 'code': z.literal("unknown-task").readonly(),
970
+ }), z.object({
971
+ 'code': z.literal("unknown-preset").readonly(),
972
+ 'preset': z.string().readonly(),
973
+ 'available': z.array(z.string()).readonly(),
654
974
  }), z.object({
655
975
  'code': z.literal("nothing-to-update").readonly(),
656
976
  }), z.object({
@@ -668,6 +988,10 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
668
988
  'code': z.literal("relay-not-found").readonly(),
669
989
  }), z.object({
670
990
  'code': z.literal("relay-not-pending").readonly(),
991
+ }), z.object({
992
+ 'code': z.literal("approval-not-pending").readonly(),
993
+ }), z.object({
994
+ 'code': z.literal("question-not-pending").readonly(),
671
995
  }), z.object({
672
996
  'code': z.literal("main-member").readonly(),
673
997
  }), z.object({
@@ -682,12 +1006,18 @@ const _khorsheed_dsh_room_room_getState_result$schema = () => (_khorsheed_dsh_ro
682
1006
  let _khorsheed_dsh_room_room_invite_parameter_0$schema$value
683
1007
  const _khorsheed_dsh_room_room_invite_parameter_0$schema = () => (_khorsheed_dsh_room_room_invite_parameter_0$schema$value ??= z.object({
684
1008
  'sessionId': z.string().readonly().describe('Room session.'),
1009
+ 'kind': z.union([z.literal("native"), z.literal("cli")]).readonly().optional().describe('`cli` (default): an external CLI through the local-agent family. `native`: a DSH child agent in this host process, composing `preset`.'),
1010
+ 'preset': z.string().readonly().optional().describe('The member\'s mode: the host agent preset id. A native member composes it (omitted = the host default); a CLI member reaches its plugin tools through the bridge (omitted = no mode).'),
1011
+ 'inheritPreset': z.boolean().readonly().optional().describe('With no `preset`: take the room session\'s own mode (the coordinator\'s invite default).'),
685
1012
  'provider': z.string().readonly().describe('CLI provider id (non-blank).'),
686
1013
  'name': z.string().readonly().describe('Addressing/display name: unique in the room, no whitespace, no `@`.'),
687
1014
  'instructions': z.string().readonly().optional().describe('Role instructions, prepended to the member\'s first dispatch.'),
1015
+ 'role': z.string().readonly().optional().describe('Short public role (≤ 30 chars); blank/omitted = none.'),
688
1016
  'cwd': z.string().readonly().optional().describe('Member-level working directory (empty/omitted = inherits the room session\'s cwd). Recorded on the roster; not yet passed to the delegation facade (family need R2 pending).'),
689
1017
  'firstTask': z.string().readonly().optional().describe('Optional first task, dispatched to the member as soon as it joins.'),
1018
+ 'note': z.string().readonly().optional().describe('What the inviter waits for when the first task reports (see RoomDispatchEvent.note).'),
690
1019
  'model': z.string().readonly().optional().describe('The delegation\'s model (blank/omitted = follow the harness default). Applies to local-agent harness providers only: it lands as the facade `start` call\'s `model` option, bound at spawn for exec and live alike.'),
1020
+ 'effort': z.string().readonly().optional().describe('The delegation\'s reasoning effort (blank/omitted = follow the harness default): the facade `start` call\'s `effort` option, bound at spawn alongside the model.'),
691
1021
  }))
692
1022
  let _khorsheed_dsh_room_room_invite_result$schema$value
693
1023
  const _khorsheed_dsh_room_room_invite_result$schema = () => (_khorsheed_dsh_room_room_invite_result$schema$value ??= z.union([z.object({
@@ -695,6 +1025,7 @@ const _khorsheed_dsh_room_room_invite_result$schema = () => (_khorsheed_dsh_room
695
1025
  'value': z.object({
696
1026
  'name': z.string().readonly().describe('The accepted member name.'),
697
1027
  'pendingFirstTask': z.boolean().readonly().describe('True when a first task was supplied and dispatched with the invitation.'),
1028
+ 'preset': z.string().readonly().optional().describe('The member\'s mode (preset id), when it has one.'),
698
1029
  }).readonly(),
699
1030
  }), z.object({
700
1031
  'ok': z.literal(false).readonly(),
@@ -733,6 +1064,18 @@ const _khorsheed_dsh_room_room_invite_result$schema = () => (_khorsheed_dsh_room
733
1064
  'code': z.literal("member-not-found").readonly(),
734
1065
  }), z.object({
735
1066
  'code': z.literal("empty-text").readonly(),
1067
+ }), z.object({
1068
+ 'code': z.literal("role-too-long").readonly(),
1069
+ }), z.object({
1070
+ 'code': z.literal("invalid-settings").readonly(),
1071
+ }), z.object({
1072
+ 'code': z.literal("self-message").readonly(),
1073
+ }), z.object({
1074
+ 'code': z.literal("unknown-task").readonly(),
1075
+ }), z.object({
1076
+ 'code': z.literal("unknown-preset").readonly(),
1077
+ 'preset': z.string().readonly(),
1078
+ 'available': z.array(z.string()).readonly(),
736
1079
  }), z.object({
737
1080
  'code': z.literal("nothing-to-update").readonly(),
738
1081
  }), z.object({
@@ -750,6 +1093,10 @@ const _khorsheed_dsh_room_room_invite_result$schema = () => (_khorsheed_dsh_room
750
1093
  'code': z.literal("relay-not-found").readonly(),
751
1094
  }), z.object({
752
1095
  'code': z.literal("relay-not-pending").readonly(),
1096
+ }), z.object({
1097
+ 'code': z.literal("approval-not-pending").readonly(),
1098
+ }), z.object({
1099
+ 'code': z.literal("question-not-pending").readonly(),
753
1100
  }), z.object({
754
1101
  'code': z.literal("main-member").readonly(),
755
1102
  }), z.object({
@@ -767,47 +1114,15 @@ const _khorsheed_dsh_room_room_isRoom_parameter_0$schema = () => (_khorsheed_dsh
767
1114
  }))
768
1115
  let _khorsheed_dsh_room_room_isRoom_result$schema$value
769
1116
  const _khorsheed_dsh_room_room_isRoom_result$schema = () => (_khorsheed_dsh_room_room_isRoom_result$schema$value ??= z.boolean())
770
- let _khorsheed_dsh_room_room_listProviders_parameter_0$schema$value
771
- const _khorsheed_dsh_room_room_listProviders_parameter_0$schema = () => (_khorsheed_dsh_room_room_listProviders_parameter_0$schema$value ??= z.object({}))
772
- let _khorsheed_dsh_room_room_listProviders_result$schema$value
773
- const _khorsheed_dsh_room_room_listProviders_result$schema = () => (_khorsheed_dsh_room_room_listProviders_result$schema$value ??= z.object({
774
- 'localAgentAvailable': z.boolean().readonly().describe('False when the local-agent delegation facade is absent (CLI members undispatchable).'),
775
- 'providers': z.array(z.object({
776
- 'provider': z.string().readonly().describe('The provider id invite/dispatch uses (the harness\'s delegationProvider).'),
777
- 'displayName': z.string().readonly(),
778
- 'harness': z.string().readonly().optional().describe('The roster harness name — the lookup key for the localAgentGateway `harnessModel` read (the invite dialog\'s model picker). Absent only on a pre-model-broker family core; the dialog then serves a plain text input.'),
779
- 'authenticated': z.boolean().readonly().describe('Whether the harness\'s scoped home holds usable credentials.'),
780
- })).readonly(),
781
- }))
782
- let _khorsheed_dsh_room_room_planCommand_parameter_0$schema$value
783
- const _khorsheed_dsh_room_room_planCommand_parameter_0$schema = () => (_khorsheed_dsh_room_room_planCommand_parameter_0$schema$value ??= z.object({
784
- 'sessionId': z.string(),
785
- 'command': z.string(),
786
- }))
787
- let _khorsheed_dsh_room_room_planCommand_result$schema$value
788
- const _khorsheed_dsh_room_room_planCommand_result$schema = () => (_khorsheed_dsh_room_room_planCommand_result$schema$value ??= z.union([z.object({
789
- 'ok': z.literal(true),
790
- }), z.object({
791
- 'ok': z.literal(false),
792
- 'message': z.string(),
793
- })]))
794
- let _khorsheed_dsh_room_room_postMessage_parameter_0$schema$value
795
- const _khorsheed_dsh_room_room_postMessage_parameter_0$schema = () => (_khorsheed_dsh_room_room_postMessage_parameter_0$schema$value ??= z.object({
796
- 'requestId': z.string().readonly().optional(),
797
- 'sessionId': z.string().readonly().describe('Room session.'),
798
- 'text': z.string().readonly().describe('Raw composer text: leading `@name` tokens address members.'),
799
- 'targets': z.array(z.string()).readonly().optional().describe('Menu-picked addressees (the room composer\'s mention menu records a pick as explicit addressing even when the `@name` sits mid-sentence). Unioned with the parsed leading tokens and validated against the roster the same way; the text itself is dispatched verbatim either way.'),
1117
+ let _khorsheed_dsh_room_room_linkSession_parameter_0$schema$value
1118
+ const _khorsheed_dsh_room_room_linkSession_parameter_0$schema = () => (_khorsheed_dsh_room_room_linkSession_parameter_0$schema$value ??= z.object({
1119
+ 'sessionId': z.string().readonly(),
1120
+ 'target': z.string().readonly().describe('The outside session.'),
1121
+ 'title': z.string().readonly().optional().describe('Its title (link only).'),
800
1122
  }))
801
- let _khorsheed_dsh_room_room_postMessage_result$schema$value
802
- const _khorsheed_dsh_room_room_postMessage_result$schema = () => (_khorsheed_dsh_room_room_postMessage_result$schema$value ??= z.union([z.object({
1123
+ let _khorsheed_dsh_room_room_linkSession_result$schema$value
1124
+ const _khorsheed_dsh_room_room_linkSession_result$schema = () => (_khorsheed_dsh_room_room_linkSession_result$schema$value ??= z.union([z.object({
803
1125
  'ok': z.literal(true).readonly(),
804
- 'value': z.object({
805
- 'parsed': z.object({
806
- 'targets': z.array(z.string()).readonly().describe('Addressed members (never empty — a bare message is a `no-targets` rejection).'),
807
- 'text': z.string().readonly().describe('The message body with the leading'),
808
- }).readonly(),
809
- 'seq': z.number().readonly().describe('Seq of the appended journal event.'),
810
- }).readonly(),
811
1126
  }), z.object({
812
1127
  'ok': z.literal(false).readonly(),
813
1128
  'error': z.union([z.object({
@@ -845,6 +1160,18 @@ const _khorsheed_dsh_room_room_postMessage_result$schema = () => (_khorsheed_dsh
845
1160
  'code': z.literal("member-not-found").readonly(),
846
1161
  }), z.object({
847
1162
  'code': z.literal("empty-text").readonly(),
1163
+ }), z.object({
1164
+ 'code': z.literal("role-too-long").readonly(),
1165
+ }), z.object({
1166
+ 'code': z.literal("invalid-settings").readonly(),
1167
+ }), z.object({
1168
+ 'code': z.literal("self-message").readonly(),
1169
+ }), z.object({
1170
+ 'code': z.literal("unknown-task").readonly(),
1171
+ }), z.object({
1172
+ 'code': z.literal("unknown-preset").readonly(),
1173
+ 'preset': z.string().readonly(),
1174
+ 'available': z.array(z.string()).readonly(),
848
1175
  }), z.object({
849
1176
  'code': z.literal("nothing-to-update").readonly(),
850
1177
  }), z.object({
@@ -862,6 +1189,10 @@ const _khorsheed_dsh_room_room_postMessage_result$schema = () => (_khorsheed_dsh
862
1189
  'code': z.literal("relay-not-found").readonly(),
863
1190
  }), z.object({
864
1191
  'code': z.literal("relay-not-pending").readonly(),
1192
+ }), z.object({
1193
+ 'code': z.literal("approval-not-pending").readonly(),
1194
+ }), z.object({
1195
+ 'code': z.literal("question-not-pending").readonly(),
865
1196
  }), z.object({
866
1197
  'code': z.literal("main-member").readonly(),
867
1198
  }), z.object({
@@ -873,26 +1204,529 @@ const _khorsheed_dsh_room_room_postMessage_result$schema = () => (_khorsheed_dsh
873
1204
  'message': z.string().readonly(),
874
1205
  })]).readonly(),
875
1206
  })]))
876
- let _khorsheed_dsh_room_room_prepareMember_parameter_0$schema$value
877
- const _khorsheed_dsh_room_room_prepareMember_parameter_0$schema = () => (_khorsheed_dsh_room_room_prepareMember_parameter_0$schema$value ??= z.object({
878
- 'sessionId': z.string().readonly(),
879
- 'name': z.string().readonly(),
1207
+ let _khorsheed_dsh_room_room_listProviders_parameter_0$schema$value
1208
+ const _khorsheed_dsh_room_room_listProviders_parameter_0$schema = () => (_khorsheed_dsh_room_room_listProviders_parameter_0$schema$value ??= z.object({
1209
+ 'sessionId': z.string().readonly().optional().describe('The session the invite is for: the result then carries its mode (`sessionPreset`).'),
880
1210
  }))
881
- let _khorsheed_dsh_room_room_prepareMember_result$schema$value
882
- const _khorsheed_dsh_room_room_prepareMember_result$schema = () => (_khorsheed_dsh_room_room_prepareMember_result$schema$value ??= z.union([z.object({
883
- 'ok': z.literal(true).readonly(),
884
- 'value': z.object({
885
- 'childSessionId': z.string().readonly(),
886
- }).readonly(),
887
- }), z.object({
888
- 'ok': z.literal(false).readonly(),
889
- 'error': z.union([z.object({
890
- 'code': z.literal("request-conflict").readonly(),
891
- }), z.object({
892
- 'code': z.literal("member-cwd-bound").readonly(),
893
- }), z.object({
894
- 'code': z.literal("not-coordinator").readonly(),
895
- }), z.object({
1211
+ let _khorsheed_dsh_room_room_listProviders_result$schema$value
1212
+ const _khorsheed_dsh_room_room_listProviders_result$schema = () => (_khorsheed_dsh_room_room_listProviders_result$schema$value ??= z.object({
1213
+ 'localAgentAvailable': z.boolean().readonly().describe('False when the local-agent delegation facade is absent (CLI members undispatchable).'),
1214
+ 'providers': z.array(z.object({
1215
+ 'provider': z.string().readonly().describe('The provider id invite/dispatch uses (the harness\'s delegationProvider).'),
1216
+ 'displayName': z.string().readonly(),
1217
+ 'harness': z.string().readonly().optional().describe('The roster harness name — the lookup key for the localAgentGateway `harnessModel` read (the invite dialog\'s model picker). Absent only on a pre-model-broker family core; the dialog then serves a plain text input.'),
1218
+ 'authenticated': z.boolean().readonly().describe('Whether the harness\'s scoped home holds usable credentials.'),
1219
+ })).readonly(),
1220
+ 'presets': z.array(z.object({
1221
+ 'id': z.string().readonly(),
1222
+ 'name': z.string().readonly().optional(),
1223
+ 'description': z.string().readonly().optional(),
1224
+ 'isDefault': z.boolean().readonly(),
1225
+ 'broken': z.string().readonly().optional().describe('Why the preset cannot be composed right now.'),
1226
+ })).readonly().optional().describe('The host\'s agent presets a native DSH member may compose; absent when the composition mounts no preset registry (native members then run the plain composition).'),
1227
+ 'sessionPreset': z.string().readonly().optional().describe('The requested session\'s own mode (preset id), when known: the dialog\'s default mode.'),
1228
+ }))
1229
+ let _khorsheed_dsh_room_room_planCommand_parameter_0$schema$value
1230
+ const _khorsheed_dsh_room_room_planCommand_parameter_0$schema = () => (_khorsheed_dsh_room_room_planCommand_parameter_0$schema$value ??= z.object({
1231
+ 'sessionId': z.string(),
1232
+ 'command': z.string(),
1233
+ }))
1234
+ let _khorsheed_dsh_room_room_planCommand_result$schema$value
1235
+ const _khorsheed_dsh_room_room_planCommand_result$schema = () => (_khorsheed_dsh_room_room_planCommand_result$schema$value ??= z.union([z.object({
1236
+ 'ok': z.literal(true),
1237
+ }), z.object({
1238
+ 'ok': z.literal(false),
1239
+ 'message': z.string(),
1240
+ })]))
1241
+ let _khorsheed_dsh_room_room_postMessage_parameter_0$schema$value
1242
+ const _khorsheed_dsh_room_room_postMessage_parameter_0$schema = () => (_khorsheed_dsh_room_room_postMessage_parameter_0$schema$value ??= z.object({
1243
+ 'requestId': z.string().readonly().optional(),
1244
+ 'sessionId': z.string().readonly().describe('Room session.'),
1245
+ 'text': z.string().readonly().describe('Raw composer text: leading `@name` tokens address members.'),
1246
+ 'targets': z.array(z.string()).readonly().optional().describe('Menu-picked addressees (the room composer\'s mention menu records a pick as explicit addressing even when the `@name` sits mid-sentence). Unioned with the parsed leading tokens and validated against the roster the same way; the text itself is dispatched verbatim either way.'),
1247
+ 'task': z.string().readonly().optional().describe('The composer\'s task tag: `new` or a task root id (see RoomSetTaskHintRequest).'),
1248
+ }))
1249
+ let _khorsheed_dsh_room_room_postMessage_result$schema$value
1250
+ const _khorsheed_dsh_room_room_postMessage_result$schema = () => (_khorsheed_dsh_room_room_postMessage_result$schema$value ??= z.union([z.object({
1251
+ 'ok': z.literal(true).readonly(),
1252
+ 'value': z.object({
1253
+ 'parsed': z.object({
1254
+ 'targets': z.array(z.string()).readonly().describe('Addressed members (never empty — a bare message is a `no-targets` rejection).'),
1255
+ 'text': z.string().readonly().describe('The message body with the leading'),
1256
+ }).readonly(),
1257
+ 'seq': z.number().readonly().describe('Seq of the appended journal event.'),
1258
+ }).readonly(),
1259
+ }), z.object({
1260
+ 'ok': z.literal(false).readonly(),
1261
+ 'error': z.union([z.object({
1262
+ 'code': z.literal("request-conflict").readonly(),
1263
+ }), z.object({
1264
+ 'code': z.literal("member-cwd-bound").readonly(),
1265
+ }), z.object({
1266
+ 'code': z.literal("not-coordinator").readonly(),
1267
+ }), z.object({
1268
+ 'code': z.literal("delivery-not-uncertain").readonly(),
1269
+ }), z.object({
1270
+ 'code': z.literal("plan-reconciliation-required").readonly(),
1271
+ }), z.object({
1272
+ 'code': z.literal("coordinator-busy").readonly(),
1273
+ }), z.object({
1274
+ 'code': z.literal("coordinator-not-ready").readonly(),
1275
+ 'message': z.string().readonly(),
1276
+ }), z.object({
1277
+ 'code': z.literal("coordinator-conflict").readonly(),
1278
+ }), z.object({
1279
+ 'code': z.literal("active-coordinator").readonly(),
1280
+ }), z.object({
1281
+ 'code': z.literal("configuration-owned-by-core").readonly(),
1282
+ }), z.object({
1283
+ 'code': z.literal("session-not-found").readonly(),
1284
+ }), z.object({
1285
+ 'code': z.literal("not-a-room").readonly(),
1286
+ }), z.object({
1287
+ 'code': z.literal("invalid-name").readonly(),
1288
+ }), z.object({
1289
+ 'code': z.literal("duplicate-name").readonly(),
1290
+ }), z.object({
1291
+ 'code': z.literal("empty-provider").readonly(),
1292
+ }), z.object({
1293
+ 'code': z.literal("member-not-found").readonly(),
1294
+ }), z.object({
1295
+ 'code': z.literal("empty-text").readonly(),
1296
+ }), z.object({
1297
+ 'code': z.literal("role-too-long").readonly(),
1298
+ }), z.object({
1299
+ 'code': z.literal("invalid-settings").readonly(),
1300
+ }), z.object({
1301
+ 'code': z.literal("self-message").readonly(),
1302
+ }), z.object({
1303
+ 'code': z.literal("unknown-task").readonly(),
1304
+ }), z.object({
1305
+ 'code': z.literal("unknown-preset").readonly(),
1306
+ 'preset': z.string().readonly(),
1307
+ 'available': z.array(z.string()).readonly(),
1308
+ }), z.object({
1309
+ 'code': z.literal("nothing-to-update").readonly(),
1310
+ }), z.object({
1311
+ 'code': z.literal("local-agent-unavailable").readonly(),
1312
+ }), z.object({
1313
+ 'code': z.literal("unknown-provider").readonly(),
1314
+ 'provider': z.string().readonly(),
1315
+ 'available': z.array(z.string()).readonly(),
1316
+ }), z.object({
1317
+ 'code': z.literal("unknown-targets").readonly(),
1318
+ 'names': z.array(z.string()).readonly(),
1319
+ }), z.object({
1320
+ 'code': z.literal("no-targets").readonly(),
1321
+ }), z.object({
1322
+ 'code': z.literal("relay-not-found").readonly(),
1323
+ }), z.object({
1324
+ 'code': z.literal("relay-not-pending").readonly(),
1325
+ }), z.object({
1326
+ 'code': z.literal("approval-not-pending").readonly(),
1327
+ }), z.object({
1328
+ 'code': z.literal("question-not-pending").readonly(),
1329
+ }), z.object({
1330
+ 'code': z.literal("main-member").readonly(),
1331
+ }), z.object({
1332
+ 'code': z.literal("task-not-found").readonly(),
1333
+ }), z.object({
1334
+ 'code': z.literal("task-closed").readonly(),
1335
+ }), z.object({
1336
+ 'code': z.literal("resume-failed").readonly(),
1337
+ 'message': z.string().readonly(),
1338
+ })]).readonly(),
1339
+ })]))
1340
+ let _khorsheed_dsh_room_room_prepareMember_parameter_0$schema$value
1341
+ const _khorsheed_dsh_room_room_prepareMember_parameter_0$schema = () => (_khorsheed_dsh_room_room_prepareMember_parameter_0$schema$value ??= z.object({
1342
+ 'sessionId': z.string().readonly(),
1343
+ 'name': z.string().readonly(),
1344
+ }))
1345
+ let _khorsheed_dsh_room_room_prepareMember_result$schema$value
1346
+ const _khorsheed_dsh_room_room_prepareMember_result$schema = () => (_khorsheed_dsh_room_room_prepareMember_result$schema$value ??= z.union([z.object({
1347
+ 'ok': z.literal(true).readonly(),
1348
+ 'value': z.object({
1349
+ 'childSessionId': z.string().readonly(),
1350
+ }).readonly(),
1351
+ }), z.object({
1352
+ 'ok': z.literal(false).readonly(),
1353
+ 'error': z.union([z.object({
1354
+ 'code': z.literal("request-conflict").readonly(),
1355
+ }), z.object({
1356
+ 'code': z.literal("member-cwd-bound").readonly(),
1357
+ }), z.object({
1358
+ 'code': z.literal("not-coordinator").readonly(),
1359
+ }), z.object({
1360
+ 'code': z.literal("delivery-not-uncertain").readonly(),
1361
+ }), z.object({
1362
+ 'code': z.literal("plan-reconciliation-required").readonly(),
1363
+ }), z.object({
1364
+ 'code': z.literal("coordinator-busy").readonly(),
1365
+ }), z.object({
1366
+ 'code': z.literal("coordinator-not-ready").readonly(),
1367
+ 'message': z.string().readonly(),
1368
+ }), z.object({
1369
+ 'code': z.literal("coordinator-conflict").readonly(),
1370
+ }), z.object({
1371
+ 'code': z.literal("active-coordinator").readonly(),
1372
+ }), z.object({
1373
+ 'code': z.literal("configuration-owned-by-core").readonly(),
1374
+ }), z.object({
1375
+ 'code': z.literal("session-not-found").readonly(),
1376
+ }), z.object({
1377
+ 'code': z.literal("not-a-room").readonly(),
1378
+ }), z.object({
1379
+ 'code': z.literal("invalid-name").readonly(),
1380
+ }), z.object({
1381
+ 'code': z.literal("duplicate-name").readonly(),
1382
+ }), z.object({
1383
+ 'code': z.literal("empty-provider").readonly(),
1384
+ }), z.object({
1385
+ 'code': z.literal("member-not-found").readonly(),
1386
+ }), z.object({
1387
+ 'code': z.literal("empty-text").readonly(),
1388
+ }), z.object({
1389
+ 'code': z.literal("role-too-long").readonly(),
1390
+ }), z.object({
1391
+ 'code': z.literal("invalid-settings").readonly(),
1392
+ }), z.object({
1393
+ 'code': z.literal("self-message").readonly(),
1394
+ }), z.object({
1395
+ 'code': z.literal("unknown-task").readonly(),
1396
+ }), z.object({
1397
+ 'code': z.literal("unknown-preset").readonly(),
1398
+ 'preset': z.string().readonly(),
1399
+ 'available': z.array(z.string()).readonly(),
1400
+ }), z.object({
1401
+ 'code': z.literal("nothing-to-update").readonly(),
1402
+ }), z.object({
1403
+ 'code': z.literal("local-agent-unavailable").readonly(),
1404
+ }), z.object({
1405
+ 'code': z.literal("unknown-provider").readonly(),
1406
+ 'provider': z.string().readonly(),
1407
+ 'available': z.array(z.string()).readonly(),
1408
+ }), z.object({
1409
+ 'code': z.literal("unknown-targets").readonly(),
1410
+ 'names': z.array(z.string()).readonly(),
1411
+ }), z.object({
1412
+ 'code': z.literal("no-targets").readonly(),
1413
+ }), z.object({
1414
+ 'code': z.literal("relay-not-found").readonly(),
1415
+ }), z.object({
1416
+ 'code': z.literal("relay-not-pending").readonly(),
1417
+ }), z.object({
1418
+ 'code': z.literal("approval-not-pending").readonly(),
1419
+ }), z.object({
1420
+ 'code': z.literal("question-not-pending").readonly(),
1421
+ }), z.object({
1422
+ 'code': z.literal("main-member").readonly(),
1423
+ }), z.object({
1424
+ 'code': z.literal("task-not-found").readonly(),
1425
+ }), z.object({
1426
+ 'code': z.literal("task-closed").readonly(),
1427
+ }), z.object({
1428
+ 'code': z.literal("resume-failed").readonly(),
1429
+ 'message': z.string().readonly(),
1430
+ })]).readonly(),
1431
+ })]))
1432
+ let _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema$value
1433
+ const _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema = () => (_khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema$value ??= z.object({
1434
+ 'sessionId': z.string().readonly(),
1435
+ 'deliveryId': z.string().readonly(),
1436
+ 'outcome': z.union([z.literal("cancelled"), z.literal("done")]).readonly(),
1437
+ 'evidence': z.string().readonly(),
1438
+ }))
1439
+ let _khorsheed_dsh_room_room_reconcileDelivery_result$schema$value
1440
+ const _khorsheed_dsh_room_room_reconcileDelivery_result$schema = () => (_khorsheed_dsh_room_room_reconcileDelivery_result$schema$value ??= z.union([z.object({
1441
+ 'ok': z.literal(true).readonly(),
1442
+ }), z.object({
1443
+ 'ok': z.literal(false).readonly(),
1444
+ 'error': z.union([z.object({
1445
+ 'code': z.literal("request-conflict").readonly(),
1446
+ }), z.object({
1447
+ 'code': z.literal("member-cwd-bound").readonly(),
1448
+ }), z.object({
1449
+ 'code': z.literal("not-coordinator").readonly(),
1450
+ }), z.object({
1451
+ 'code': z.literal("delivery-not-uncertain").readonly(),
1452
+ }), z.object({
1453
+ 'code': z.literal("plan-reconciliation-required").readonly(),
1454
+ }), z.object({
1455
+ 'code': z.literal("coordinator-busy").readonly(),
1456
+ }), z.object({
1457
+ 'code': z.literal("coordinator-not-ready").readonly(),
1458
+ 'message': z.string().readonly(),
1459
+ }), z.object({
1460
+ 'code': z.literal("coordinator-conflict").readonly(),
1461
+ }), z.object({
1462
+ 'code': z.literal("active-coordinator").readonly(),
1463
+ }), z.object({
1464
+ 'code': z.literal("configuration-owned-by-core").readonly(),
1465
+ }), z.object({
1466
+ 'code': z.literal("session-not-found").readonly(),
1467
+ }), z.object({
1468
+ 'code': z.literal("not-a-room").readonly(),
1469
+ }), z.object({
1470
+ 'code': z.literal("invalid-name").readonly(),
1471
+ }), z.object({
1472
+ 'code': z.literal("duplicate-name").readonly(),
1473
+ }), z.object({
1474
+ 'code': z.literal("empty-provider").readonly(),
1475
+ }), z.object({
1476
+ 'code': z.literal("member-not-found").readonly(),
1477
+ }), z.object({
1478
+ 'code': z.literal("empty-text").readonly(),
1479
+ }), z.object({
1480
+ 'code': z.literal("role-too-long").readonly(),
1481
+ }), z.object({
1482
+ 'code': z.literal("invalid-settings").readonly(),
1483
+ }), z.object({
1484
+ 'code': z.literal("self-message").readonly(),
1485
+ }), z.object({
1486
+ 'code': z.literal("unknown-task").readonly(),
1487
+ }), z.object({
1488
+ 'code': z.literal("unknown-preset").readonly(),
1489
+ 'preset': z.string().readonly(),
1490
+ 'available': z.array(z.string()).readonly(),
1491
+ }), z.object({
1492
+ 'code': z.literal("nothing-to-update").readonly(),
1493
+ }), z.object({
1494
+ 'code': z.literal("local-agent-unavailable").readonly(),
1495
+ }), z.object({
1496
+ 'code': z.literal("unknown-provider").readonly(),
1497
+ 'provider': z.string().readonly(),
1498
+ 'available': z.array(z.string()).readonly(),
1499
+ }), z.object({
1500
+ 'code': z.literal("unknown-targets").readonly(),
1501
+ 'names': z.array(z.string()).readonly(),
1502
+ }), z.object({
1503
+ 'code': z.literal("no-targets").readonly(),
1504
+ }), z.object({
1505
+ 'code': z.literal("relay-not-found").readonly(),
1506
+ }), z.object({
1507
+ 'code': z.literal("relay-not-pending").readonly(),
1508
+ }), z.object({
1509
+ 'code': z.literal("approval-not-pending").readonly(),
1510
+ }), z.object({
1511
+ 'code': z.literal("question-not-pending").readonly(),
1512
+ }), z.object({
1513
+ 'code': z.literal("main-member").readonly(),
1514
+ }), z.object({
1515
+ 'code': z.literal("task-not-found").readonly(),
1516
+ }), z.object({
1517
+ 'code': z.literal("task-closed").readonly(),
1518
+ }), z.object({
1519
+ 'code': z.literal("resume-failed").readonly(),
1520
+ 'message': z.string().readonly(),
1521
+ })]).readonly(),
1522
+ })]))
1523
+ let _khorsheed_dsh_room_room_releaseReports_parameter_0$schema$value
1524
+ const _khorsheed_dsh_room_room_releaseReports_parameter_0$schema = () => (_khorsheed_dsh_room_room_releaseReports_parameter_0$schema$value ??= z.object({
1525
+ 'sessionId': z.string().readonly(),
1526
+ 'name': z.string().readonly(),
1527
+ }))
1528
+ let _khorsheed_dsh_room_room_releaseReports_result$schema$value
1529
+ const _khorsheed_dsh_room_room_releaseReports_result$schema = () => (_khorsheed_dsh_room_room_releaseReports_result$schema$value ??= z.union([z.object({
1530
+ 'ok': z.literal(true).readonly(),
1531
+ 'value': z.object({
1532
+ 'released': z.boolean().readonly(),
1533
+ }).readonly(),
1534
+ }), z.object({
1535
+ 'ok': z.literal(false).readonly(),
1536
+ 'error': z.union([z.object({
1537
+ 'code': z.literal("request-conflict").readonly(),
1538
+ }), z.object({
1539
+ 'code': z.literal("member-cwd-bound").readonly(),
1540
+ }), z.object({
1541
+ 'code': z.literal("not-coordinator").readonly(),
1542
+ }), z.object({
1543
+ 'code': z.literal("delivery-not-uncertain").readonly(),
1544
+ }), z.object({
1545
+ 'code': z.literal("plan-reconciliation-required").readonly(),
1546
+ }), z.object({
1547
+ 'code': z.literal("coordinator-busy").readonly(),
1548
+ }), z.object({
1549
+ 'code': z.literal("coordinator-not-ready").readonly(),
1550
+ 'message': z.string().readonly(),
1551
+ }), z.object({
1552
+ 'code': z.literal("coordinator-conflict").readonly(),
1553
+ }), z.object({
1554
+ 'code': z.literal("active-coordinator").readonly(),
1555
+ }), z.object({
1556
+ 'code': z.literal("configuration-owned-by-core").readonly(),
1557
+ }), z.object({
1558
+ 'code': z.literal("session-not-found").readonly(),
1559
+ }), z.object({
1560
+ 'code': z.literal("not-a-room").readonly(),
1561
+ }), z.object({
1562
+ 'code': z.literal("invalid-name").readonly(),
1563
+ }), z.object({
1564
+ 'code': z.literal("duplicate-name").readonly(),
1565
+ }), z.object({
1566
+ 'code': z.literal("empty-provider").readonly(),
1567
+ }), z.object({
1568
+ 'code': z.literal("member-not-found").readonly(),
1569
+ }), z.object({
1570
+ 'code': z.literal("empty-text").readonly(),
1571
+ }), z.object({
1572
+ 'code': z.literal("role-too-long").readonly(),
1573
+ }), z.object({
1574
+ 'code': z.literal("invalid-settings").readonly(),
1575
+ }), z.object({
1576
+ 'code': z.literal("self-message").readonly(),
1577
+ }), z.object({
1578
+ 'code': z.literal("unknown-task").readonly(),
1579
+ }), z.object({
1580
+ 'code': z.literal("unknown-preset").readonly(),
1581
+ 'preset': z.string().readonly(),
1582
+ 'available': z.array(z.string()).readonly(),
1583
+ }), z.object({
1584
+ 'code': z.literal("nothing-to-update").readonly(),
1585
+ }), z.object({
1586
+ 'code': z.literal("local-agent-unavailable").readonly(),
1587
+ }), z.object({
1588
+ 'code': z.literal("unknown-provider").readonly(),
1589
+ 'provider': z.string().readonly(),
1590
+ 'available': z.array(z.string()).readonly(),
1591
+ }), z.object({
1592
+ 'code': z.literal("unknown-targets").readonly(),
1593
+ 'names': z.array(z.string()).readonly(),
1594
+ }), z.object({
1595
+ 'code': z.literal("no-targets").readonly(),
1596
+ }), z.object({
1597
+ 'code': z.literal("relay-not-found").readonly(),
1598
+ }), z.object({
1599
+ 'code': z.literal("relay-not-pending").readonly(),
1600
+ }), z.object({
1601
+ 'code': z.literal("approval-not-pending").readonly(),
1602
+ }), z.object({
1603
+ 'code': z.literal("question-not-pending").readonly(),
1604
+ }), z.object({
1605
+ 'code': z.literal("main-member").readonly(),
1606
+ }), z.object({
1607
+ 'code': z.literal("task-not-found").readonly(),
1608
+ }), z.object({
1609
+ 'code': z.literal("task-closed").readonly(),
1610
+ }), z.object({
1611
+ 'code': z.literal("resume-failed").readonly(),
1612
+ 'message': z.string().readonly(),
1613
+ })]).readonly(),
1614
+ })]))
1615
+ let _khorsheed_dsh_room_room_removeMember_parameter_0$schema$value
1616
+ const _khorsheed_dsh_room_room_removeMember_parameter_0$schema = () => (_khorsheed_dsh_room_room_removeMember_parameter_0$schema$value ??= z.object({
1617
+ 'sessionId': z.string().readonly().describe('Room session.'),
1618
+ 'name': z.string().readonly().describe('Member to remove.'),
1619
+ }))
1620
+ let _khorsheed_dsh_room_room_removeMember_result$schema$value
1621
+ const _khorsheed_dsh_room_room_removeMember_result$schema = () => (_khorsheed_dsh_room_room_removeMember_result$schema$value ??= z.union([z.object({
1622
+ 'ok': z.literal(true).readonly(),
1623
+ 'value': z.object({
1624
+ 'name': z.string().readonly(),
1625
+ 'stopped': z.boolean().readonly().describe('True when a running round was stopped first.'),
1626
+ 'cancelledDeliveries': z.number().readonly().describe('Queued messages that will never be delivered.'),
1627
+ 'notified': z.array(z.string()).readonly().describe('Members that were waiting for a report and were told instead.'),
1628
+ }).readonly(),
1629
+ }), z.object({
1630
+ 'ok': z.literal(false).readonly(),
1631
+ 'error': z.union([z.object({
1632
+ 'code': z.literal("request-conflict").readonly(),
1633
+ }), z.object({
1634
+ 'code': z.literal("member-cwd-bound").readonly(),
1635
+ }), z.object({
1636
+ 'code': z.literal("not-coordinator").readonly(),
1637
+ }), z.object({
1638
+ 'code': z.literal("delivery-not-uncertain").readonly(),
1639
+ }), z.object({
1640
+ 'code': z.literal("plan-reconciliation-required").readonly(),
1641
+ }), z.object({
1642
+ 'code': z.literal("coordinator-busy").readonly(),
1643
+ }), z.object({
1644
+ 'code': z.literal("coordinator-not-ready").readonly(),
1645
+ 'message': z.string().readonly(),
1646
+ }), z.object({
1647
+ 'code': z.literal("coordinator-conflict").readonly(),
1648
+ }), z.object({
1649
+ 'code': z.literal("active-coordinator").readonly(),
1650
+ }), z.object({
1651
+ 'code': z.literal("configuration-owned-by-core").readonly(),
1652
+ }), z.object({
1653
+ 'code': z.literal("session-not-found").readonly(),
1654
+ }), z.object({
1655
+ 'code': z.literal("not-a-room").readonly(),
1656
+ }), z.object({
1657
+ 'code': z.literal("invalid-name").readonly(),
1658
+ }), z.object({
1659
+ 'code': z.literal("duplicate-name").readonly(),
1660
+ }), z.object({
1661
+ 'code': z.literal("empty-provider").readonly(),
1662
+ }), z.object({
1663
+ 'code': z.literal("member-not-found").readonly(),
1664
+ }), z.object({
1665
+ 'code': z.literal("empty-text").readonly(),
1666
+ }), z.object({
1667
+ 'code': z.literal("role-too-long").readonly(),
1668
+ }), z.object({
1669
+ 'code': z.literal("invalid-settings").readonly(),
1670
+ }), z.object({
1671
+ 'code': z.literal("self-message").readonly(),
1672
+ }), z.object({
1673
+ 'code': z.literal("unknown-task").readonly(),
1674
+ }), z.object({
1675
+ 'code': z.literal("unknown-preset").readonly(),
1676
+ 'preset': z.string().readonly(),
1677
+ 'available': z.array(z.string()).readonly(),
1678
+ }), z.object({
1679
+ 'code': z.literal("nothing-to-update").readonly(),
1680
+ }), z.object({
1681
+ 'code': z.literal("local-agent-unavailable").readonly(),
1682
+ }), z.object({
1683
+ 'code': z.literal("unknown-provider").readonly(),
1684
+ 'provider': z.string().readonly(),
1685
+ 'available': z.array(z.string()).readonly(),
1686
+ }), z.object({
1687
+ 'code': z.literal("unknown-targets").readonly(),
1688
+ 'names': z.array(z.string()).readonly(),
1689
+ }), z.object({
1690
+ 'code': z.literal("no-targets").readonly(),
1691
+ }), z.object({
1692
+ 'code': z.literal("relay-not-found").readonly(),
1693
+ }), z.object({
1694
+ 'code': z.literal("relay-not-pending").readonly(),
1695
+ }), z.object({
1696
+ 'code': z.literal("approval-not-pending").readonly(),
1697
+ }), z.object({
1698
+ 'code': z.literal("question-not-pending").readonly(),
1699
+ }), z.object({
1700
+ 'code': z.literal("main-member").readonly(),
1701
+ }), z.object({
1702
+ 'code': z.literal("task-not-found").readonly(),
1703
+ }), z.object({
1704
+ 'code': z.literal("task-closed").readonly(),
1705
+ }), z.object({
1706
+ 'code': z.literal("resume-failed").readonly(),
1707
+ 'message': z.string().readonly(),
1708
+ })]).readonly(),
1709
+ })]))
1710
+ let _khorsheed_dsh_room_room_restoreMember_parameter_0$schema$value
1711
+ const _khorsheed_dsh_room_room_restoreMember_parameter_0$schema = () => (_khorsheed_dsh_room_room_restoreMember_parameter_0$schema$value ??= z.object({
1712
+ 'sessionId': z.string().readonly(),
1713
+ 'name': z.string().readonly(),
1714
+ }))
1715
+ let _khorsheed_dsh_room_room_restoreMember_result$schema$value
1716
+ const _khorsheed_dsh_room_room_restoreMember_result$schema = () => (_khorsheed_dsh_room_room_restoreMember_result$schema$value ??= z.union([z.object({
1717
+ 'ok': z.literal(true).readonly(),
1718
+ 'value': z.object({
1719
+ 'name': z.string().readonly(),
1720
+ }).readonly(),
1721
+ }), z.object({
1722
+ 'ok': z.literal(false).readonly(),
1723
+ 'error': z.union([z.object({
1724
+ 'code': z.literal("request-conflict").readonly(),
1725
+ }), z.object({
1726
+ 'code': z.literal("member-cwd-bound").readonly(),
1727
+ }), z.object({
1728
+ 'code': z.literal("not-coordinator").readonly(),
1729
+ }), z.object({
896
1730
  'code': z.literal("delivery-not-uncertain").readonly(),
897
1731
  }), z.object({
898
1732
  'code': z.literal("plan-reconciliation-required").readonly(),
@@ -921,6 +1755,18 @@ const _khorsheed_dsh_room_room_prepareMember_result$schema = () => (_khorsheed_d
921
1755
  'code': z.literal("member-not-found").readonly(),
922
1756
  }), z.object({
923
1757
  'code': z.literal("empty-text").readonly(),
1758
+ }), z.object({
1759
+ 'code': z.literal("role-too-long").readonly(),
1760
+ }), z.object({
1761
+ 'code': z.literal("invalid-settings").readonly(),
1762
+ }), z.object({
1763
+ 'code': z.literal("self-message").readonly(),
1764
+ }), z.object({
1765
+ 'code': z.literal("unknown-task").readonly(),
1766
+ }), z.object({
1767
+ 'code': z.literal("unknown-preset").readonly(),
1768
+ 'preset': z.string().readonly(),
1769
+ 'available': z.array(z.string()).readonly(),
924
1770
  }), z.object({
925
1771
  'code': z.literal("nothing-to-update").readonly(),
926
1772
  }), z.object({
@@ -938,6 +1784,10 @@ const _khorsheed_dsh_room_room_prepareMember_result$schema = () => (_khorsheed_d
938
1784
  'code': z.literal("relay-not-found").readonly(),
939
1785
  }), z.object({
940
1786
  'code': z.literal("relay-not-pending").readonly(),
1787
+ }), z.object({
1788
+ 'code': z.literal("approval-not-pending").readonly(),
1789
+ }), z.object({
1790
+ 'code': z.literal("question-not-pending").readonly(),
941
1791
  }), z.object({
942
1792
  'code': z.literal("main-member").readonly(),
943
1793
  }), z.object({
@@ -949,16 +1799,22 @@ const _khorsheed_dsh_room_room_prepareMember_result$schema = () => (_khorsheed_d
949
1799
  'message': z.string().readonly(),
950
1800
  })]).readonly(),
951
1801
  })]))
952
- let _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema$value
953
- const _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema = () => (_khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema$value ??= z.object({
1802
+ let _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema$value
1803
+ const _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema = () => (_khorsheed_dsh_room_room_setCoordinator_parameter_0$schema$value ??= z.object({
954
1804
  'sessionId': z.string().readonly(),
955
- 'deliveryId': z.string().readonly(),
956
- 'outcome': z.union([z.literal("cancelled"), z.literal("done")]).readonly(),
957
- 'evidence': z.string().readonly(),
1805
+ 'memberId': z.string().readonly(),
1806
+ 'expectedRevision': z.number().readonly(),
958
1807
  }))
959
- let _khorsheed_dsh_room_room_reconcileDelivery_result$schema$value
960
- const _khorsheed_dsh_room_room_reconcileDelivery_result$schema = () => (_khorsheed_dsh_room_room_reconcileDelivery_result$schema$value ??= z.union([z.object({
1808
+ let _khorsheed_dsh_room_room_setCoordinator_result$schema$value
1809
+ const _khorsheed_dsh_room_room_setCoordinator_result$schema = () => (_khorsheed_dsh_room_room_setCoordinator_result$schema$value ??= z.union([z.object({
961
1810
  'ok': z.literal(true).readonly(),
1811
+ 'value': z.object({
1812
+ 'version': z.literal(1).readonly(),
1813
+ 'memberId': z.string().readonly(),
1814
+ 'revision': z.number().readonly(),
1815
+ 'previousMemberId': z.string().readonly(),
1816
+ 'handoff': z.string().readonly(),
1817
+ }).readonly(),
962
1818
  }), z.object({
963
1819
  'ok': z.literal(false).readonly(),
964
1820
  'error': z.union([z.object({
@@ -996,6 +1852,18 @@ const _khorsheed_dsh_room_room_reconcileDelivery_result$schema = () => (_khorshe
996
1852
  'code': z.literal("member-not-found").readonly(),
997
1853
  }), z.object({
998
1854
  'code': z.literal("empty-text").readonly(),
1855
+ }), z.object({
1856
+ 'code': z.literal("role-too-long").readonly(),
1857
+ }), z.object({
1858
+ 'code': z.literal("invalid-settings").readonly(),
1859
+ }), z.object({
1860
+ 'code': z.literal("self-message").readonly(),
1861
+ }), z.object({
1862
+ 'code': z.literal("unknown-task").readonly(),
1863
+ }), z.object({
1864
+ 'code': z.literal("unknown-preset").readonly(),
1865
+ 'preset': z.string().readonly(),
1866
+ 'available': z.array(z.string()).readonly(),
999
1867
  }), z.object({
1000
1868
  'code': z.literal("nothing-to-update").readonly(),
1001
1869
  }), z.object({
@@ -1013,6 +1881,10 @@ const _khorsheed_dsh_room_room_reconcileDelivery_result$schema = () => (_khorshe
1013
1881
  'code': z.literal("relay-not-found").readonly(),
1014
1882
  }), z.object({
1015
1883
  'code': z.literal("relay-not-pending").readonly(),
1884
+ }), z.object({
1885
+ 'code': z.literal("approval-not-pending").readonly(),
1886
+ }), z.object({
1887
+ 'code': z.literal("question-not-pending").readonly(),
1016
1888
  }), z.object({
1017
1889
  'code': z.literal("main-member").readonly(),
1018
1890
  }), z.object({
@@ -1024,16 +1896,16 @@ const _khorsheed_dsh_room_room_reconcileDelivery_result$schema = () => (_khorshe
1024
1896
  'message': z.string().readonly(),
1025
1897
  })]).readonly(),
1026
1898
  })]))
1027
- let _khorsheed_dsh_room_room_removeMember_parameter_0$schema$value
1028
- const _khorsheed_dsh_room_room_removeMember_parameter_0$schema = () => (_khorsheed_dsh_room_room_removeMember_parameter_0$schema$value ??= z.object({
1899
+ let _khorsheed_dsh_room_room_setGoal_parameter_0$schema$value
1900
+ const _khorsheed_dsh_room_room_setGoal_parameter_0$schema = () => (_khorsheed_dsh_room_room_setGoal_parameter_0$schema$value ??= z.object({
1029
1901
  'sessionId': z.string().readonly().describe('Room session.'),
1030
- 'name': z.string().readonly().describe('Member to remove.'),
1902
+ 'text': z.string().readonly().describe('Goal text; blank clears the goal.'),
1031
1903
  }))
1032
- let _khorsheed_dsh_room_room_removeMember_result$schema$value
1033
- const _khorsheed_dsh_room_room_removeMember_result$schema = () => (_khorsheed_dsh_room_room_removeMember_result$schema$value ??= z.union([z.object({
1904
+ let _khorsheed_dsh_room_room_setGoal_result$schema$value
1905
+ const _khorsheed_dsh_room_room_setGoal_result$schema = () => (_khorsheed_dsh_room_room_setGoal_result$schema$value ??= z.union([z.object({
1034
1906
  'ok': z.literal(true).readonly(),
1035
1907
  'value': z.object({
1036
- 'name': z.string().readonly(),
1908
+ 'goal': z.string().readonly().optional(),
1037
1909
  }).readonly(),
1038
1910
  }), z.object({
1039
1911
  'ok': z.literal(false).readonly(),
@@ -1072,6 +1944,18 @@ const _khorsheed_dsh_room_room_removeMember_result$schema = () => (_khorsheed_ds
1072
1944
  'code': z.literal("member-not-found").readonly(),
1073
1945
  }), z.object({
1074
1946
  'code': z.literal("empty-text").readonly(),
1947
+ }), z.object({
1948
+ 'code': z.literal("role-too-long").readonly(),
1949
+ }), z.object({
1950
+ 'code': z.literal("invalid-settings").readonly(),
1951
+ }), z.object({
1952
+ 'code': z.literal("self-message").readonly(),
1953
+ }), z.object({
1954
+ 'code': z.literal("unknown-task").readonly(),
1955
+ }), z.object({
1956
+ 'code': z.literal("unknown-preset").readonly(),
1957
+ 'preset': z.string().readonly(),
1958
+ 'available': z.array(z.string()).readonly(),
1075
1959
  }), z.object({
1076
1960
  'code': z.literal("nothing-to-update").readonly(),
1077
1961
  }), z.object({
@@ -1089,6 +1973,10 @@ const _khorsheed_dsh_room_room_removeMember_result$schema = () => (_khorsheed_ds
1089
1973
  'code': z.literal("relay-not-found").readonly(),
1090
1974
  }), z.object({
1091
1975
  'code': z.literal("relay-not-pending").readonly(),
1976
+ }), z.object({
1977
+ 'code': z.literal("approval-not-pending").readonly(),
1978
+ }), z.object({
1979
+ 'code': z.literal("question-not-pending").readonly(),
1092
1980
  }), z.object({
1093
1981
  'code': z.literal("main-member").readonly(),
1094
1982
  }), z.object({
@@ -1100,21 +1988,30 @@ const _khorsheed_dsh_room_room_removeMember_result$schema = () => (_khorsheed_ds
1100
1988
  'message': z.string().readonly(),
1101
1989
  })]).readonly(),
1102
1990
  })]))
1103
- let _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema$value
1104
- const _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema = () => (_khorsheed_dsh_room_room_setCoordinator_parameter_0$schema$value ??= z.object({
1991
+ let _khorsheed_dsh_room_room_setSettings_parameter_0$schema$value
1992
+ const _khorsheed_dsh_room_room_setSettings_parameter_0$schema = () => (_khorsheed_dsh_room_room_setSettings_parameter_0$schema$value ??= z.object({
1105
1993
  'sessionId': z.string().readonly(),
1106
- 'memberId': z.string().readonly(),
1107
- 'expectedRevision': z.number().readonly(),
1994
+ 'reportTiming': z.union([z.literal("judge"), z.literal("each")]).readonly().optional(),
1995
+ 'autoTaskFiling': z.boolean().readonly().optional(),
1996
+ 'reportThreshold': z.number().readonly().optional(),
1997
+ 'reportWaitMinutes': z.number().readonly().optional(),
1998
+ 'helpReminderMinutes': z.number().readonly().optional().describe('10–120, in steps of 10.'),
1999
+ 'memberMessages': z.union([z.literal("free"), z.literal("confirm")]).readonly().optional(),
2000
+ 'hopLimit': z.number().readonly().optional().describe('2–50.'),
2001
+ 'paused': z.boolean().readonly().optional(),
1108
2002
  }))
1109
- let _khorsheed_dsh_room_room_setCoordinator_result$schema$value
1110
- const _khorsheed_dsh_room_room_setCoordinator_result$schema = () => (_khorsheed_dsh_room_room_setCoordinator_result$schema$value ??= z.union([z.object({
2003
+ let _khorsheed_dsh_room_room_setSettings_result$schema$value
2004
+ const _khorsheed_dsh_room_room_setSettings_result$schema = () => (_khorsheed_dsh_room_room_setSettings_result$schema$value ??= z.union([z.object({
1111
2005
  'ok': z.literal(true).readonly(),
1112
2006
  'value': z.object({
1113
- 'version': z.literal(1).readonly(),
1114
- 'memberId': z.string().readonly(),
1115
- 'revision': z.number().readonly(),
1116
- 'previousMemberId': z.string().readonly(),
1117
- 'handoff': z.string().readonly(),
2007
+ 'memberMessages': z.union([z.literal("free"), z.literal("confirm")]).readonly(),
2008
+ 'hopLimit': z.number().readonly(),
2009
+ 'paused': z.boolean().readonly(),
2010
+ 'reportTiming': z.union([z.literal("judge"), z.literal("each")]).readonly(),
2011
+ 'autoTaskFiling': z.boolean().readonly(),
2012
+ 'reportThreshold': z.number().readonly(),
2013
+ 'reportWaitMinutes': z.number().readonly(),
2014
+ 'helpReminderMinutes': z.number().readonly(),
1118
2015
  }).readonly(),
1119
2016
  }), z.object({
1120
2017
  'ok': z.literal(false).readonly(),
@@ -1153,6 +2050,18 @@ const _khorsheed_dsh_room_room_setCoordinator_result$schema = () => (_khorsheed_
1153
2050
  'code': z.literal("member-not-found").readonly(),
1154
2051
  }), z.object({
1155
2052
  'code': z.literal("empty-text").readonly(),
2053
+ }), z.object({
2054
+ 'code': z.literal("role-too-long").readonly(),
2055
+ }), z.object({
2056
+ 'code': z.literal("invalid-settings").readonly(),
2057
+ }), z.object({
2058
+ 'code': z.literal("self-message").readonly(),
2059
+ }), z.object({
2060
+ 'code': z.literal("unknown-task").readonly(),
2061
+ }), z.object({
2062
+ 'code': z.literal("unknown-preset").readonly(),
2063
+ 'preset': z.string().readonly(),
2064
+ 'available': z.array(z.string()).readonly(),
1156
2065
  }), z.object({
1157
2066
  'code': z.literal("nothing-to-update").readonly(),
1158
2067
  }), z.object({
@@ -1170,6 +2079,10 @@ const _khorsheed_dsh_room_room_setCoordinator_result$schema = () => (_khorsheed_
1170
2079
  'code': z.literal("relay-not-found").readonly(),
1171
2080
  }), z.object({
1172
2081
  'code': z.literal("relay-not-pending").readonly(),
2082
+ }), z.object({
2083
+ 'code': z.literal("approval-not-pending").readonly(),
2084
+ }), z.object({
2085
+ 'code': z.literal("question-not-pending").readonly(),
1173
2086
  }), z.object({
1174
2087
  'code': z.literal("main-member").readonly(),
1175
2088
  }), z.object({
@@ -1181,16 +2094,25 @@ const _khorsheed_dsh_room_room_setCoordinator_result$schema = () => (_khorsheed_
1181
2094
  'message': z.string().readonly(),
1182
2095
  })]).readonly(),
1183
2096
  })]))
1184
- let _khorsheed_dsh_room_room_setGoal_parameter_0$schema$value
1185
- const _khorsheed_dsh_room_room_setGoal_parameter_0$schema = () => (_khorsheed_dsh_room_room_setGoal_parameter_0$schema$value ??= z.object({
1186
- 'sessionId': z.string().readonly().describe('Room session.'),
1187
- 'text': z.string().readonly().describe('Goal text; blank clears the goal.'),
2097
+ let _khorsheed_dsh_room_room_setTaskHint_parameter_0$schema$value
2098
+ const _khorsheed_dsh_room_room_setTaskHint_parameter_0$schema = () => (_khorsheed_dsh_room_room_setTaskHint_parameter_0$schema$value ??= z.object({
2099
+ 'sessionId': z.string().readonly(),
2100
+ 'task': z.union([z.literal(null), z.string()]).readonly().describe('`new`, a task root id, or null to clear.'),
1188
2101
  }))
1189
- let _khorsheed_dsh_room_room_setGoal_result$schema$value
1190
- const _khorsheed_dsh_room_room_setGoal_result$schema = () => (_khorsheed_dsh_room_room_setGoal_result$schema$value ??= z.union([z.object({
2102
+ let _khorsheed_dsh_room_room_setTaskHint_result$schema$value
2103
+ const _khorsheed_dsh_room_room_setTaskHint_result$schema = () => (_khorsheed_dsh_room_room_setTaskHint_result$schema$value ??= z.object({
2104
+ 'ok': z.literal(true).readonly(),
2105
+ }))
2106
+ let _khorsheed_dsh_room_room_stopJob_parameter_0$schema$value
2107
+ const _khorsheed_dsh_room_room_stopJob_parameter_0$schema = () => (_khorsheed_dsh_room_room_stopJob_parameter_0$schema$value ??= z.object({
2108
+ 'sessionId': z.string().readonly(),
2109
+ 'task': z.string().readonly().describe('The task\'s root id.'),
2110
+ }))
2111
+ let _khorsheed_dsh_room_room_stopJob_result$schema$value
2112
+ const _khorsheed_dsh_room_room_stopJob_result$schema = () => (_khorsheed_dsh_room_room_stopJob_result$schema$value ??= z.union([z.object({
1191
2113
  'ok': z.literal(true).readonly(),
1192
2114
  'value': z.object({
1193
- 'goal': z.string().readonly().optional(),
2115
+ 'stopped': z.number().readonly(),
1194
2116
  }).readonly(),
1195
2117
  }), z.object({
1196
2118
  'ok': z.literal(false).readonly(),
@@ -1229,6 +2151,108 @@ const _khorsheed_dsh_room_room_setGoal_result$schema = () => (_khorsheed_dsh_roo
1229
2151
  'code': z.literal("member-not-found").readonly(),
1230
2152
  }), z.object({
1231
2153
  'code': z.literal("empty-text").readonly(),
2154
+ }), z.object({
2155
+ 'code': z.literal("role-too-long").readonly(),
2156
+ }), z.object({
2157
+ 'code': z.literal("invalid-settings").readonly(),
2158
+ }), z.object({
2159
+ 'code': z.literal("self-message").readonly(),
2160
+ }), z.object({
2161
+ 'code': z.literal("unknown-task").readonly(),
2162
+ }), z.object({
2163
+ 'code': z.literal("unknown-preset").readonly(),
2164
+ 'preset': z.string().readonly(),
2165
+ 'available': z.array(z.string()).readonly(),
2166
+ }), z.object({
2167
+ 'code': z.literal("nothing-to-update").readonly(),
2168
+ }), z.object({
2169
+ 'code': z.literal("local-agent-unavailable").readonly(),
2170
+ }), z.object({
2171
+ 'code': z.literal("unknown-provider").readonly(),
2172
+ 'provider': z.string().readonly(),
2173
+ 'available': z.array(z.string()).readonly(),
2174
+ }), z.object({
2175
+ 'code': z.literal("unknown-targets").readonly(),
2176
+ 'names': z.array(z.string()).readonly(),
2177
+ }), z.object({
2178
+ 'code': z.literal("no-targets").readonly(),
2179
+ }), z.object({
2180
+ 'code': z.literal("relay-not-found").readonly(),
2181
+ }), z.object({
2182
+ 'code': z.literal("relay-not-pending").readonly(),
2183
+ }), z.object({
2184
+ 'code': z.literal("approval-not-pending").readonly(),
2185
+ }), z.object({
2186
+ 'code': z.literal("question-not-pending").readonly(),
2187
+ }), z.object({
2188
+ 'code': z.literal("main-member").readonly(),
2189
+ }), z.object({
2190
+ 'code': z.literal("task-not-found").readonly(),
2191
+ }), z.object({
2192
+ 'code': z.literal("task-closed").readonly(),
2193
+ }), z.object({
2194
+ 'code': z.literal("resume-failed").readonly(),
2195
+ 'message': z.string().readonly(),
2196
+ })]).readonly(),
2197
+ })]))
2198
+ let _khorsheed_dsh_room_room_unlinkSession_parameter_0$schema$value
2199
+ const _khorsheed_dsh_room_room_unlinkSession_parameter_0$schema = () => (_khorsheed_dsh_room_room_unlinkSession_parameter_0$schema$value ??= z.object({
2200
+ 'sessionId': z.string().readonly(),
2201
+ 'target': z.string().readonly().describe('The outside session.'),
2202
+ 'title': z.string().readonly().optional().describe('Its title (link only).'),
2203
+ }))
2204
+ let _khorsheed_dsh_room_room_unlinkSession_result$schema$value
2205
+ const _khorsheed_dsh_room_room_unlinkSession_result$schema = () => (_khorsheed_dsh_room_room_unlinkSession_result$schema$value ??= z.union([z.object({
2206
+ 'ok': z.literal(true).readonly(),
2207
+ }), z.object({
2208
+ 'ok': z.literal(false).readonly(),
2209
+ 'error': z.union([z.object({
2210
+ 'code': z.literal("request-conflict").readonly(),
2211
+ }), z.object({
2212
+ 'code': z.literal("member-cwd-bound").readonly(),
2213
+ }), z.object({
2214
+ 'code': z.literal("not-coordinator").readonly(),
2215
+ }), z.object({
2216
+ 'code': z.literal("delivery-not-uncertain").readonly(),
2217
+ }), z.object({
2218
+ 'code': z.literal("plan-reconciliation-required").readonly(),
2219
+ }), z.object({
2220
+ 'code': z.literal("coordinator-busy").readonly(),
2221
+ }), z.object({
2222
+ 'code': z.literal("coordinator-not-ready").readonly(),
2223
+ 'message': z.string().readonly(),
2224
+ }), z.object({
2225
+ 'code': z.literal("coordinator-conflict").readonly(),
2226
+ }), z.object({
2227
+ 'code': z.literal("active-coordinator").readonly(),
2228
+ }), z.object({
2229
+ 'code': z.literal("configuration-owned-by-core").readonly(),
2230
+ }), z.object({
2231
+ 'code': z.literal("session-not-found").readonly(),
2232
+ }), z.object({
2233
+ 'code': z.literal("not-a-room").readonly(),
2234
+ }), z.object({
2235
+ 'code': z.literal("invalid-name").readonly(),
2236
+ }), z.object({
2237
+ 'code': z.literal("duplicate-name").readonly(),
2238
+ }), z.object({
2239
+ 'code': z.literal("empty-provider").readonly(),
2240
+ }), z.object({
2241
+ 'code': z.literal("member-not-found").readonly(),
2242
+ }), z.object({
2243
+ 'code': z.literal("empty-text").readonly(),
2244
+ }), z.object({
2245
+ 'code': z.literal("role-too-long").readonly(),
2246
+ }), z.object({
2247
+ 'code': z.literal("invalid-settings").readonly(),
2248
+ }), z.object({
2249
+ 'code': z.literal("self-message").readonly(),
2250
+ }), z.object({
2251
+ 'code': z.literal("unknown-task").readonly(),
2252
+ }), z.object({
2253
+ 'code': z.literal("unknown-preset").readonly(),
2254
+ 'preset': z.string().readonly(),
2255
+ 'available': z.array(z.string()).readonly(),
1232
2256
  }), z.object({
1233
2257
  'code': z.literal("nothing-to-update").readonly(),
1234
2258
  }), z.object({
@@ -1246,6 +2270,10 @@ const _khorsheed_dsh_room_room_setGoal_result$schema = () => (_khorsheed_dsh_roo
1246
2270
  'code': z.literal("relay-not-found").readonly(),
1247
2271
  }), z.object({
1248
2272
  'code': z.literal("relay-not-pending").readonly(),
2273
+ }), z.object({
2274
+ 'code': z.literal("approval-not-pending").readonly(),
2275
+ }), z.object({
2276
+ 'code': z.literal("question-not-pending").readonly(),
1249
2277
  }), z.object({
1250
2278
  'code': z.literal("main-member").readonly(),
1251
2279
  }), z.object({
@@ -1263,8 +2291,10 @@ const _khorsheed_dsh_room_room_updateMember_parameter_0$schema = () => (_khorshe
1263
2291
  'name': z.string().readonly().describe('Member to update (its CURRENT name).'),
1264
2292
  'rename': z.string().readonly().optional().describe('Rename: the new'),
1265
2293
  'instructions': z.union([z.literal(null), z.string()]).readonly().optional().describe('New role instructions; null (or a blank string) CLEARS them.'),
2294
+ 'role': z.union([z.literal(null), z.string()]).readonly().optional().describe('New public role; null (or a blank string) CLEARS it.'),
1266
2295
  'cwd': z.union([z.literal(null), z.string()]).readonly().optional().describe('New member-level cwd; null (or a blank string) CLEARS the override back to inheriting the room cwd.'),
1267
2296
  'model': z.union([z.literal(null), z.string()]).readonly().optional().describe('New intended model (roster-recorded; the first dispatch binds it as the facade start\'s `model` option); null (or a blank string) CLEARS it back to following the harness default.'),
2297
+ 'effort': z.union([z.literal(null), z.string()]).readonly().optional().describe('New intended reasoning effort (roster-recorded, bound like the model on the first dispatch); null (or a blank string) CLEARS it back to following the harness default.'),
1268
2298
  }))
1269
2299
  let _khorsheed_dsh_room_room_updateMember_result$schema$value
1270
2300
  const _khorsheed_dsh_room_room_updateMember_result$schema = () => (_khorsheed_dsh_room_room_updateMember_result$schema$value ??= z.union([z.object({
@@ -1309,6 +2339,18 @@ const _khorsheed_dsh_room_room_updateMember_result$schema = () => (_khorsheed_ds
1309
2339
  'code': z.literal("member-not-found").readonly(),
1310
2340
  }), z.object({
1311
2341
  'code': z.literal("empty-text").readonly(),
2342
+ }), z.object({
2343
+ 'code': z.literal("role-too-long").readonly(),
2344
+ }), z.object({
2345
+ 'code': z.literal("invalid-settings").readonly(),
2346
+ }), z.object({
2347
+ 'code': z.literal("self-message").readonly(),
2348
+ }), z.object({
2349
+ 'code': z.literal("unknown-task").readonly(),
2350
+ }), z.object({
2351
+ 'code': z.literal("unknown-preset").readonly(),
2352
+ 'preset': z.string().readonly(),
2353
+ 'available': z.array(z.string()).readonly(),
1312
2354
  }), z.object({
1313
2355
  'code': z.literal("nothing-to-update").readonly(),
1314
2356
  }), z.object({
@@ -1326,6 +2368,10 @@ const _khorsheed_dsh_room_room_updateMember_result$schema = () => (_khorsheed_ds
1326
2368
  'code': z.literal("relay-not-found").readonly(),
1327
2369
  }), z.object({
1328
2370
  'code': z.literal("relay-not-pending").readonly(),
2371
+ }), z.object({
2372
+ 'code': z.literal("approval-not-pending").readonly(),
2373
+ }), z.object({
2374
+ 'code': z.literal("question-not-pending").readonly(),
1329
2375
  }), z.object({
1330
2376
  'code': z.literal("main-member").readonly(),
1331
2377
  }), z.object({
@@ -1337,12 +2383,21 @@ const _khorsheed_dsh_room_room_updateMember_result$schema = () => (_khorsheed_ds
1337
2383
  'message': z.string().readonly(),
1338
2384
  })]).readonly(),
1339
2385
  })]))
1340
- let _khorsheed_dsh_room_room_addTask_parameter_0_strict$schema$value
1341
- const _khorsheed_dsh_room_room_addTask_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_addTask_parameter_0_strict$schema$value ??= z.strictObject({
1342
- 'sessionId': z.string().readonly().describe('Room session.'),
1343
- 'member': z.string().readonly().describe('The member owning the task.'),
1344
- 'title': z.string().readonly().describe('Task title (non-blank).'),
1345
- 'blockedBy': z.string().readonly().optional().describe('Optional member this task waits on ("等 ada" — display only, never an automatic dispatch). Must name a roster member when present.'),
2386
+ let _khorsheed_dsh_room_room_answerApproval_parameter_0_strict$schema$value
2387
+ const _khorsheed_dsh_room_room_answerApproval_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_answerApproval_parameter_0_strict$schema$value ??= z.strictObject({
2388
+ 'sessionId': z.string().readonly(),
2389
+ 'id': z.string().readonly(),
2390
+ 'outcome': z.union([z.literal("rejected"), z.literal("allowed-once")]).readonly(),
2391
+ }))
2392
+ let _khorsheed_dsh_room_room_answerQuestion_parameter_0_strict$schema$value
2393
+ const _khorsheed_dsh_room_room_answerQuestion_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_answerQuestion_parameter_0_strict$schema$value ??= z.strictObject({
2394
+ 'sessionId': z.string().readonly(),
2395
+ 'id': z.string().readonly(),
2396
+ 'answers': z.array(z.strictObject({
2397
+ 'id': z.string().readonly(),
2398
+ 'selected': z.array(z.string()).readonly(),
2399
+ 'custom': z.string().readonly().optional(),
2400
+ })).readonly(),
1346
2401
  }))
1347
2402
  let _khorsheed_dsh_room_room_cancel_parameter_0_strict$schema$value
1348
2403
  const _khorsheed_dsh_room_room_cancel_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_cancel_parameter_0_strict$schema$value ??= z.strictObject({
@@ -1356,17 +2411,17 @@ const _khorsheed_dsh_room_room_cancelChild_parameter_0_strict$schema = () => (_k
1356
2411
  'sessionId': z.string(),
1357
2412
  'childSessionId': z.string(),
1358
2413
  }))
1359
- let _khorsheed_dsh_room_room_closeTask_parameter_0_strict$schema$value
1360
- const _khorsheed_dsh_room_room_closeTask_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_closeTask_parameter_0_strict$schema$value ??= z.strictObject({
1361
- 'sessionId': z.string().readonly().describe('Room session.'),
1362
- 'taskId': z.string().readonly().describe('The task to close.'),
1363
- 'status': z.union([z.literal("cancelled"), z.literal("done")]).readonly().optional().describe('Closing status (default \'done\').'),
1364
- }))
1365
2414
  let _khorsheed_dsh_room_room_confirmRelay_parameter_0_strict$schema$value
1366
2415
  const _khorsheed_dsh_room_room_confirmRelay_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_confirmRelay_parameter_0_strict$schema$value ??= z.strictObject({
1367
2416
  'sessionId': z.string().readonly().describe('Room session.'),
1368
2417
  'relayId': z.string().readonly().describe('The relay to resolve.'),
1369
2418
  }))
2419
+ let _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0_strict$schema$value
2420
+ const _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_dismissHelpNudge_parameter_0_strict$schema$value ??= z.strictObject({
2421
+ 'sessionId': z.string().readonly(),
2422
+ 'target': z.string().readonly().describe('The outside session.'),
2423
+ 'title': z.string().readonly().optional().describe('Its title (link only).'),
2424
+ }))
1370
2425
  let _khorsheed_dsh_room_room_dismissRelay_parameter_0_strict$schema$value
1371
2426
  const _khorsheed_dsh_room_room_dismissRelay_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_dismissRelay_parameter_0_strict$schema$value ??= z.strictObject({
1372
2427
  'sessionId': z.string().readonly().describe('Room session.'),
@@ -1379,19 +2434,33 @@ const _khorsheed_dsh_room_room_getState_parameter_0_strict$schema = () => (_khor
1379
2434
  let _khorsheed_dsh_room_room_invite_parameter_0_strict$schema$value
1380
2435
  const _khorsheed_dsh_room_room_invite_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_invite_parameter_0_strict$schema$value ??= z.strictObject({
1381
2436
  'sessionId': z.string().readonly().describe('Room session.'),
2437
+ 'kind': z.union([z.literal("native"), z.literal("cli")]).readonly().optional().describe('`cli` (default): an external CLI through the local-agent family. `native`: a DSH child agent in this host process, composing `preset`.'),
2438
+ 'preset': z.string().readonly().optional().describe('The member\'s mode: the host agent preset id. A native member composes it (omitted = the host default); a CLI member reaches its plugin tools through the bridge (omitted = no mode).'),
2439
+ 'inheritPreset': z.boolean().readonly().optional().describe('With no `preset`: take the room session\'s own mode (the coordinator\'s invite default).'),
1382
2440
  'provider': z.string().readonly().describe('CLI provider id (non-blank).'),
1383
2441
  'name': z.string().readonly().describe('Addressing/display name: unique in the room, no whitespace, no `@`.'),
1384
2442
  'instructions': z.string().readonly().optional().describe('Role instructions, prepended to the member\'s first dispatch.'),
2443
+ 'role': z.string().readonly().optional().describe('Short public role (≤ 30 chars); blank/omitted = none.'),
1385
2444
  'cwd': z.string().readonly().optional().describe('Member-level working directory (empty/omitted = inherits the room session\'s cwd). Recorded on the roster; not yet passed to the delegation facade (family need R2 pending).'),
1386
2445
  'firstTask': z.string().readonly().optional().describe('Optional first task, dispatched to the member as soon as it joins.'),
2446
+ 'note': z.string().readonly().optional().describe('What the inviter waits for when the first task reports (see RoomDispatchEvent.note).'),
1387
2447
  'model': z.string().readonly().optional().describe('The delegation\'s model (blank/omitted = follow the harness default). Applies to local-agent harness providers only: it lands as the facade `start` call\'s `model` option, bound at spawn for exec and live alike.'),
2448
+ 'effort': z.string().readonly().optional().describe('The delegation\'s reasoning effort (blank/omitted = follow the harness default): the facade `start` call\'s `effort` option, bound at spawn alongside the model.'),
1388
2449
  }))
1389
2450
  let _khorsheed_dsh_room_room_isRoom_parameter_0_strict$schema$value
1390
2451
  const _khorsheed_dsh_room_room_isRoom_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_isRoom_parameter_0_strict$schema$value ??= z.strictObject({
1391
2452
  'sessionId': z.string().readonly().describe('Session to probe.'),
1392
2453
  }))
2454
+ let _khorsheed_dsh_room_room_linkSession_parameter_0_strict$schema$value
2455
+ const _khorsheed_dsh_room_room_linkSession_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_linkSession_parameter_0_strict$schema$value ??= z.strictObject({
2456
+ 'sessionId': z.string().readonly(),
2457
+ 'target': z.string().readonly().describe('The outside session.'),
2458
+ 'title': z.string().readonly().optional().describe('Its title (link only).'),
2459
+ }))
1393
2460
  let _khorsheed_dsh_room_room_listProviders_parameter_0_strict$schema$value
1394
- const _khorsheed_dsh_room_room_listProviders_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_listProviders_parameter_0_strict$schema$value ??= z.strictObject({}))
2461
+ const _khorsheed_dsh_room_room_listProviders_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_listProviders_parameter_0_strict$schema$value ??= z.strictObject({
2462
+ 'sessionId': z.string().readonly().optional().describe('The session the invite is for: the result then carries its mode (`sessionPreset`).'),
2463
+ }))
1395
2464
  let _khorsheed_dsh_room_room_planCommand_parameter_0_strict$schema$value
1396
2465
  const _khorsheed_dsh_room_room_planCommand_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_planCommand_parameter_0_strict$schema$value ??= z.strictObject({
1397
2466
  'sessionId': z.string(),
@@ -1403,6 +2472,7 @@ const _khorsheed_dsh_room_room_postMessage_parameter_0_strict$schema = () => (_k
1403
2472
  'sessionId': z.string().readonly().describe('Room session.'),
1404
2473
  'text': z.string().readonly().describe('Raw composer text: leading `@name` tokens address members.'),
1405
2474
  'targets': z.array(z.string()).readonly().optional().describe('Menu-picked addressees (the room composer\'s mention menu records a pick as explicit addressing even when the `@name` sits mid-sentence). Unioned with the parsed leading tokens and validated against the roster the same way; the text itself is dispatched verbatim either way.'),
2475
+ 'task': z.string().readonly().optional().describe('The composer\'s task tag: `new` or a task root id (see RoomSetTaskHintRequest).'),
1406
2476
  }))
1407
2477
  let _khorsheed_dsh_room_room_prepareMember_parameter_0_strict$schema$value
1408
2478
  const _khorsheed_dsh_room_room_prepareMember_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_prepareMember_parameter_0_strict$schema$value ??= z.strictObject({
@@ -1416,11 +2486,21 @@ const _khorsheed_dsh_room_room_reconcileDelivery_parameter_0_strict$schema = ()
1416
2486
  'outcome': z.union([z.literal("cancelled"), z.literal("done")]).readonly(),
1417
2487
  'evidence': z.string().readonly(),
1418
2488
  }))
2489
+ let _khorsheed_dsh_room_room_releaseReports_parameter_0_strict$schema$value
2490
+ const _khorsheed_dsh_room_room_releaseReports_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_releaseReports_parameter_0_strict$schema$value ??= z.strictObject({
2491
+ 'sessionId': z.string().readonly(),
2492
+ 'name': z.string().readonly(),
2493
+ }))
1419
2494
  let _khorsheed_dsh_room_room_removeMember_parameter_0_strict$schema$value
1420
2495
  const _khorsheed_dsh_room_room_removeMember_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_removeMember_parameter_0_strict$schema$value ??= z.strictObject({
1421
2496
  'sessionId': z.string().readonly().describe('Room session.'),
1422
2497
  'name': z.string().readonly().describe('Member to remove.'),
1423
2498
  }))
2499
+ let _khorsheed_dsh_room_room_restoreMember_parameter_0_strict$schema$value
2500
+ const _khorsheed_dsh_room_room_restoreMember_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_restoreMember_parameter_0_strict$schema$value ??= z.strictObject({
2501
+ 'sessionId': z.string().readonly(),
2502
+ 'name': z.string().readonly(),
2503
+ }))
1424
2504
  let _khorsheed_dsh_room_room_setCoordinator_parameter_0_strict$schema$value
1425
2505
  const _khorsheed_dsh_room_room_setCoordinator_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_setCoordinator_parameter_0_strict$schema$value ??= z.strictObject({
1426
2506
  'sessionId': z.string().readonly(),
@@ -1432,53 +2512,118 @@ const _khorsheed_dsh_room_room_setGoal_parameter_0_strict$schema = () => (_khors
1432
2512
  'sessionId': z.string().readonly().describe('Room session.'),
1433
2513
  'text': z.string().readonly().describe('Goal text; blank clears the goal.'),
1434
2514
  }))
2515
+ let _khorsheed_dsh_room_room_setSettings_parameter_0_strict$schema$value
2516
+ const _khorsheed_dsh_room_room_setSettings_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_setSettings_parameter_0_strict$schema$value ??= z.strictObject({
2517
+ 'sessionId': z.string().readonly(),
2518
+ 'reportTiming': z.union([z.literal("judge"), z.literal("each")]).readonly().optional(),
2519
+ 'autoTaskFiling': z.boolean().readonly().optional(),
2520
+ 'reportThreshold': z.number().readonly().optional(),
2521
+ 'reportWaitMinutes': z.number().readonly().optional(),
2522
+ 'helpReminderMinutes': z.number().readonly().optional().describe('10–120, in steps of 10.'),
2523
+ 'memberMessages': z.union([z.literal("free"), z.literal("confirm")]).readonly().optional(),
2524
+ 'hopLimit': z.number().readonly().optional().describe('2–50.'),
2525
+ 'paused': z.boolean().readonly().optional(),
2526
+ }))
2527
+ let _khorsheed_dsh_room_room_setTaskHint_parameter_0_strict$schema$value
2528
+ const _khorsheed_dsh_room_room_setTaskHint_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_setTaskHint_parameter_0_strict$schema$value ??= z.strictObject({
2529
+ 'sessionId': z.string().readonly(),
2530
+ 'task': z.union([z.literal(null), z.string()]).readonly().describe('`new`, a task root id, or null to clear.'),
2531
+ }))
2532
+ let _khorsheed_dsh_room_room_stopJob_parameter_0_strict$schema$value
2533
+ const _khorsheed_dsh_room_room_stopJob_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_stopJob_parameter_0_strict$schema$value ??= z.strictObject({
2534
+ 'sessionId': z.string().readonly(),
2535
+ 'task': z.string().readonly().describe('The task\'s root id.'),
2536
+ }))
2537
+ let _khorsheed_dsh_room_room_unlinkSession_parameter_0_strict$schema$value
2538
+ const _khorsheed_dsh_room_room_unlinkSession_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_unlinkSession_parameter_0_strict$schema$value ??= z.strictObject({
2539
+ 'sessionId': z.string().readonly(),
2540
+ 'target': z.string().readonly().describe('The outside session.'),
2541
+ 'title': z.string().readonly().optional().describe('Its title (link only).'),
2542
+ }))
1435
2543
  let _khorsheed_dsh_room_room_updateMember_parameter_0_strict$schema$value
1436
2544
  const _khorsheed_dsh_room_room_updateMember_parameter_0_strict$schema = () => (_khorsheed_dsh_room_room_updateMember_parameter_0_strict$schema$value ??= z.strictObject({
1437
2545
  'sessionId': z.string().readonly().describe('Room session.'),
1438
2546
  'name': z.string().readonly().describe('Member to update (its CURRENT name).'),
1439
2547
  'rename': z.string().readonly().optional().describe('Rename: the new'),
1440
2548
  'instructions': z.union([z.literal(null), z.string()]).readonly().optional().describe('New role instructions; null (or a blank string) CLEARS them.'),
2549
+ 'role': z.union([z.literal(null), z.string()]).readonly().optional().describe('New public role; null (or a blank string) CLEARS it.'),
1441
2550
  'cwd': z.union([z.literal(null), z.string()]).readonly().optional().describe('New member-level cwd; null (or a blank string) CLEARS the override back to inheriting the room cwd.'),
1442
2551
  'model': z.union([z.literal(null), z.string()]).readonly().optional().describe('New intended model (roster-recorded; the first dispatch binds it as the facade start\'s `model` option); null (or a blank string) CLEARS it back to following the harness default.'),
2552
+ 'effort': z.union([z.literal(null), z.string()]).readonly().optional().describe('New intended reasoning effort (roster-recorded, bound like the model on the first dispatch); null (or a blank string) CLEARS it back to following the harness default.'),
1443
2553
  }))
1444
2554
 
1445
2555
  const $remote = createTypertRemoteInfo({
1446
2556
  package: '@khorsheed/dsh-room',
1447
2557
  methods: {
1448
- 'room/addTask': {
2558
+ 'room/answerApproval': {
2559
+ service: 'room',
2560
+ description: 'The human answers a member\'s tool approval from the room.',
2561
+ invocation: { kind: 'direct' },
2562
+ parameters: [
2563
+ {
2564
+ name: 'request',
2565
+ description: 'room session, approval id, allow once or reject.',
2566
+ source: 'json',
2567
+ codec: {
2568
+ mode: 'strict',
2569
+ typeSymbol: '@khorsheed/dsh-room/types#RoomAnswerApprovalRequest',
2570
+ create: _khorsheed_dsh_room_room_answerApproval_parameter_0$schema,
2571
+ schema: _khorsheed_dsh_room_room_answerApproval_parameter_0$schema(),
2572
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"id":{"type":"string"},"outcome":{"type":"string","enum":["rejected","allowed-once"]}},"required":["sessionId","id","outcome"],"additionalProperties":true},
2573
+ },
2574
+ strictCodec: {
2575
+ mode: 'strict',
2576
+ typeSymbol: '@khorsheed/dsh-room/types#RoomAnswerApprovalRequest',
2577
+ create: _khorsheed_dsh_room_room_answerApproval_parameter_0_strict$schema,
2578
+ schema: _khorsheed_dsh_room_room_answerApproval_parameter_0_strict$schema(),
2579
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"id":{"type":"string"},"outcome":{"type":"string","enum":["rejected","allowed-once"]}},"required":["sessionId","id","outcome"],"additionalProperties":false},
2580
+ },
2581
+ },
2582
+ ],
2583
+ result: {
2584
+ mode: 'strict',
2585
+ typeSymbol: '@khorsheed/dsh-room/types#RoomAnswerApprovalResult',
2586
+ create: _khorsheed_dsh_room_room_answerApproval_result$schema,
2587
+ schema: _khorsheed_dsh_room_room_answerApproval_result$schema(),
2588
+ description: 'ok, or `approval-not-pending` when it already ended.',
2589
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2590
+ },
2591
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1772,"column":9},
2592
+ },
2593
+ 'room/answerQuestion': {
1449
2594
  service: 'room',
1450
- description: 'Add a task to a member\'s board lane (the human\'s management entry;',
2595
+ description: 'The human answers a member\'s question card from the room.',
1451
2596
  invocation: { kind: 'direct' },
1452
2597
  parameters: [
1453
2598
  {
1454
2599
  name: 'request',
1455
- description: 'room session, member, title, optional blockedBy.',
2600
+ description: 'room session, card id, one answer per question.',
1456
2601
  source: 'json',
1457
2602
  codec: {
1458
2603
  mode: 'strict',
1459
- typeSymbol: '@khorsheed/dsh-room/types#RoomAddTaskRequest',
1460
- create: _khorsheed_dsh_room_room_addTask_parameter_0$schema,
1461
- schema: _khorsheed_dsh_room_room_addTask_parameter_0$schema(),
1462
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"member":{"type":"string","description":"The member owning the task."},"title":{"type":"string","description":"Task title (non-blank)."},"blockedBy":{"type":"string","description":"Optional member this task waits on (\"等 ada\" — display only, never an automatic dispatch). Must name a roster member when present."}},"required":["sessionId","member","title"],"additionalProperties":true},
2604
+ typeSymbol: '@khorsheed/dsh-room/types#RoomAnswerQuestionRequest',
2605
+ create: _khorsheed_dsh_room_room_answerQuestion_parameter_0$schema,
2606
+ schema: _khorsheed_dsh_room_room_answerQuestion_parameter_0$schema(),
2607
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"id":{"type":"string"},"answers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"selected":{"type":"array","items":{"type":"string"}},"custom":{"type":"string"}},"required":["id","selected"],"additionalProperties":true}}},"required":["sessionId","id","answers"],"additionalProperties":true},
1463
2608
  },
1464
2609
  strictCodec: {
1465
2610
  mode: 'strict',
1466
- typeSymbol: '@khorsheed/dsh-room/types#RoomAddTaskRequest',
1467
- create: _khorsheed_dsh_room_room_addTask_parameter_0_strict$schema,
1468
- schema: _khorsheed_dsh_room_room_addTask_parameter_0_strict$schema(),
1469
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"member":{"type":"string","description":"The member owning the task."},"title":{"type":"string","description":"Task title (non-blank)."},"blockedBy":{"type":"string","description":"Optional member this task waits on (\"等 ada\" — display only, never an automatic dispatch). Must name a roster member when present."}},"required":["sessionId","member","title"],"additionalProperties":false},
2611
+ typeSymbol: '@khorsheed/dsh-room/types#RoomAnswerQuestionRequest',
2612
+ create: _khorsheed_dsh_room_room_answerQuestion_parameter_0_strict$schema,
2613
+ schema: _khorsheed_dsh_room_room_answerQuestion_parameter_0_strict$schema(),
2614
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"id":{"type":"string"},"answers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"selected":{"type":"array","items":{"type":"string"}},"custom":{"type":"string"}},"required":["id","selected"],"additionalProperties":false}}},"required":["sessionId","id","answers"],"additionalProperties":false},
1470
2615
  },
1471
2616
  },
1472
2617
  ],
1473
2618
  result: {
1474
2619
  mode: 'strict',
1475
- typeSymbol: '@khorsheed/dsh-room/types#RoomAddTaskResult',
1476
- create: _khorsheed_dsh_room_room_addTask_result$schema,
1477
- schema: _khorsheed_dsh_room_room_addTask_result$schema(),
1478
- description: 'the new task\'s id, or a rejection.',
1479
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2620
+ typeSymbol: '@khorsheed/dsh-room/types#RoomAnswerQuestionResult',
2621
+ create: _khorsheed_dsh_room_room_answerQuestion_result$schema,
2622
+ schema: _khorsheed_dsh_room_room_answerQuestion_result$schema(),
2623
+ description: 'ok, or `question-not-pending` when it already ended.',
2624
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1480
2625
  },
1481
- sourceLocation: {"file":"packages/room/src/index.ts","line":948,"column":9},
2626
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1826,"column":9},
1482
2627
  },
1483
2628
  'room/cancel': {
1484
2629
  service: 'room',
@@ -1511,9 +2656,9 @@ const $remote = createTypertRemoteInfo({
1511
2656
  create: _khorsheed_dsh_room_room_cancel_result$schema,
1512
2657
  schema: _khorsheed_dsh_room_room_cancel_result$schema(),
1513
2658
  description: 'the cancellation receipt, or a rejection.',
1514
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"cancelled":{"type":"boolean","description":"True when an in-flight run was found and cancelled."}},"required":["cancelled"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2659
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"cancelled":{"type":"boolean","description":"True when an in-flight run was found and cancelled."}},"required":["cancelled"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1515
2660
  },
1516
- sourceLocation: {"file":"packages/room/src/index.ts","line":1053,"column":9},
2661
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2172,"column":9},
1517
2662
  },
1518
2663
  'room/cancelChild': {
1519
2664
  service: 'room',
@@ -1544,79 +2689,79 @@ const $remote = createTypertRemoteInfo({
1544
2689
  typeSymbol: '@khorsheed/dsh-room/types#RoomCancelResult',
1545
2690
  create: _khorsheed_dsh_room_room_cancelChild_result$schema,
1546
2691
  schema: _khorsheed_dsh_room_room_cancelChild_result$schema(),
1547
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"cancelled":{"type":"boolean","description":"True when an in-flight run was found and cancelled."}},"required":["cancelled"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2692
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"cancelled":{"type":"boolean","description":"True when an in-flight run was found and cancelled."}},"required":["cancelled"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1548
2693
  },
1549
- sourceLocation: {"file":"packages/room/src/index.ts","line":1093,"column":9},
2694
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2207,"column":9},
1550
2695
  },
1551
- 'room/closeTask': {
2696
+ 'room/confirmRelay': {
1552
2697
  service: 'room',
1553
- description: 'Close an open task (done by default, or cancelled). A failed task is still open for closing — that is the human\'s dismiss path after a failed run (the board\'s [关闭] passes \'cancelled\').',
2698
+ description: 'Confirm a pending relay: journal the confirmed edge and dispatch the notification to the recipient as a continuation (`{from} 给你的通知: {content}`); the engine marks the relay sent once the recipient\'s own session receives the prompt.',
1554
2699
  invocation: { kind: 'direct' },
1555
2700
  parameters: [
1556
2701
  {
1557
2702
  name: 'request',
1558
- description: 'room session, task id, optional closing status.',
2703
+ description: 'room session, relay id.',
1559
2704
  source: 'json',
1560
2705
  codec: {
1561
2706
  mode: 'strict',
1562
- typeSymbol: '@khorsheed/dsh-room/types#RoomCloseTaskRequest',
1563
- create: _khorsheed_dsh_room_room_closeTask_parameter_0$schema,
1564
- schema: _khorsheed_dsh_room_room_closeTask_parameter_0$schema(),
1565
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"taskId":{"type":"string","description":"The task to close."},"status":{"type":"string","enum":["cancelled","done"],"description":"Closing status (default 'done')."}},"required":["sessionId","taskId"],"additionalProperties":true},
2707
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRelayResolveRequest',
2708
+ create: _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema,
2709
+ schema: _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema(),
2710
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"relayId":{"type":"string","description":"The relay to resolve."}},"required":["sessionId","relayId"],"additionalProperties":true},
1566
2711
  },
1567
2712
  strictCodec: {
1568
2713
  mode: 'strict',
1569
- typeSymbol: '@khorsheed/dsh-room/types#RoomCloseTaskRequest',
1570
- create: _khorsheed_dsh_room_room_closeTask_parameter_0_strict$schema,
1571
- schema: _khorsheed_dsh_room_room_closeTask_parameter_0_strict$schema(),
1572
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"taskId":{"type":"string","description":"The task to close."},"status":{"type":"string","enum":["cancelled","done"],"description":"Closing status (default 'done')."}},"required":["sessionId","taskId"],"additionalProperties":false},
2714
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRelayResolveRequest',
2715
+ create: _khorsheed_dsh_room_room_confirmRelay_parameter_0_strict$schema,
2716
+ schema: _khorsheed_dsh_room_room_confirmRelay_parameter_0_strict$schema(),
2717
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"relayId":{"type":"string","description":"The relay to resolve."}},"required":["sessionId","relayId"],"additionalProperties":false},
1573
2718
  },
1574
2719
  },
1575
2720
  ],
1576
2721
  result: {
1577
2722
  mode: 'strict',
1578
- typeSymbol: '@khorsheed/dsh-room/types#RoomCloseTaskResult',
1579
- create: _khorsheed_dsh_room_room_closeTask_result$schema,
1580
- schema: _khorsheed_dsh_room_room_closeTask_result$schema(),
1581
- description: 'the closed task\'s id, or a rejection.',
1582
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2723
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRelayResolveResult',
2724
+ create: _khorsheed_dsh_room_room_confirmRelay_result$schema,
2725
+ schema: _khorsheed_dsh_room_room_confirmRelay_result$schema(),
2726
+ description: 'the resolution receipt, or a rejection.',
2727
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"relayId":{"type":"string"}},"required":["relayId"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1583
2728
  },
1584
- sourceLocation: {"file":"packages/room/src/index.ts","line":976,"column":9},
2729
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1962,"column":9},
1585
2730
  },
1586
- 'room/confirmRelay': {
2731
+ 'room/dismissHelpNudge': {
1587
2732
  service: 'room',
1588
- description: 'Confirm a pending relay: journal the confirmed edge and dispatch the notification to the recipient as a continuation (`{from} 给你的通知: {content}`); the engine marks the relay sent once the recipient\'s own session receives the prompt.',
2733
+ description: 'Dismiss the 加入房间成员 hint for one outside session (it never shows again).',
1589
2734
  invocation: { kind: 'direct' },
1590
2735
  parameters: [
1591
2736
  {
1592
2737
  name: 'request',
1593
- description: 'room session, relay id.',
2738
+ description: 'room session, the outside session.',
1594
2739
  source: 'json',
1595
2740
  codec: {
1596
2741
  mode: 'strict',
1597
- typeSymbol: '@khorsheed/dsh-room/types#RoomRelayResolveRequest',
1598
- create: _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema,
1599
- schema: _khorsheed_dsh_room_room_confirmRelay_parameter_0$schema(),
1600
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"relayId":{"type":"string","description":"The relay to resolve."}},"required":["sessionId","relayId"],"additionalProperties":true},
2742
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkRequest',
2743
+ create: _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0$schema,
2744
+ schema: _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0$schema(),
2745
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"target":{"type":"string","description":"The outside session."},"title":{"type":"string","description":"Its title (link only)."}},"required":["sessionId","target"],"additionalProperties":true},
1601
2746
  },
1602
2747
  strictCodec: {
1603
2748
  mode: 'strict',
1604
- typeSymbol: '@khorsheed/dsh-room/types#RoomRelayResolveRequest',
1605
- create: _khorsheed_dsh_room_room_confirmRelay_parameter_0_strict$schema,
1606
- schema: _khorsheed_dsh_room_room_confirmRelay_parameter_0_strict$schema(),
1607
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"relayId":{"type":"string","description":"The relay to resolve."}},"required":["sessionId","relayId"],"additionalProperties":false},
2749
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkRequest',
2750
+ create: _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0_strict$schema,
2751
+ schema: _khorsheed_dsh_room_room_dismissHelpNudge_parameter_0_strict$schema(),
2752
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"target":{"type":"string","description":"The outside session."},"title":{"type":"string","description":"Its title (link only)."}},"required":["sessionId","target"],"additionalProperties":false},
1608
2753
  },
1609
2754
  },
1610
2755
  ],
1611
2756
  result: {
1612
2757
  mode: 'strict',
1613
- typeSymbol: '@khorsheed/dsh-room/types#RoomRelayResolveResult',
1614
- create: _khorsheed_dsh_room_room_confirmRelay_result$schema,
1615
- schema: _khorsheed_dsh_room_room_confirmRelay_result$schema(),
1616
- description: 'the resolution receipt, or a rejection.',
1617
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"relayId":{"type":"string"}},"required":["relayId"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2758
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkResult',
2759
+ create: _khorsheed_dsh_room_room_dismissHelpNudge_result$schema,
2760
+ schema: _khorsheed_dsh_room_room_dismissHelpNudge_result$schema(),
2761
+ description: 'ok.',
2762
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1618
2763
  },
1619
- sourceLocation: {"file":"packages/room/src/index.ts","line":905,"column":9},
2764
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2109,"column":9},
1620
2765
  },
1621
2766
  'room/dismissRelay': {
1622
2767
  service: 'room',
@@ -1649,9 +2794,9 @@ const $remote = createTypertRemoteInfo({
1649
2794
  create: _khorsheed_dsh_room_room_dismissRelay_result$schema,
1650
2795
  schema: _khorsheed_dsh_room_room_dismissRelay_result$schema(),
1651
2796
  description: 'the resolution receipt, or a rejection.',
1652
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"relayId":{"type":"string"}},"required":["relayId"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2797
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"relayId":{"type":"string"}},"required":["relayId"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1653
2798
  },
1654
- sourceLocation: {"file":"packages/room/src/index.ts","line":928,"column":9},
2799
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2124,"column":9},
1655
2800
  },
1656
2801
  'room/getState': {
1657
2802
  service: 'room',
@@ -1686,7 +2831,7 @@ const $remote = createTypertRemoteInfo({
1686
2831
  description: 'the replayed state, or a rejection from the closed failure union.',
1687
2832
  jsonSchemaError: 'typert tool schema: recursive selected type requires a supported JSON value declaration',
1688
2833
  },
1689
- sourceLocation: {"file":"packages/room/src/index.ts","line":349,"column":9},
2834
+ sourceLocation: {"file":"packages/room/src/index.ts","line":767,"column":9},
1690
2835
  },
1691
2836
  'room/invite': {
1692
2837
  service: 'room',
@@ -1702,14 +2847,14 @@ const $remote = createTypertRemoteInfo({
1702
2847
  typeSymbol: '@khorsheed/dsh-room/types#RoomInviteRequest',
1703
2848
  create: _khorsheed_dsh_room_room_invite_parameter_0$schema,
1704
2849
  schema: _khorsheed_dsh_room_room_invite_parameter_0$schema(),
1705
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"provider":{"type":"string","description":"CLI provider id (non-blank)."},"name":{"type":"string","description":"Addressing/display name: unique in the room, no whitespace, no `@`."},"instructions":{"type":"string","description":"Role instructions, prepended to the member's first dispatch."},"cwd":{"type":"string","description":"Member-level working directory (empty/omitted = inherits the room session's cwd). Recorded on the roster; not yet passed to the delegation facade (family need R2 pending)."},"firstTask":{"type":"string","description":"Optional first task, dispatched to the member as soon as it joins."},"model":{"type":"string","description":"The delegation's model (blank/omitted = follow the harness default). Applies to local-agent harness providers only: it lands as the facade `start` call's `model` option, bound at spawn for exec and live alike."}},"required":["sessionId","provider","name"],"additionalProperties":true},
2850
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"kind":{"type":"string","enum":["native","cli"],"description":"`cli` (default): an external CLI through the local-agent family. `native`: a DSH child agent in this host process, composing `preset`."},"preset":{"type":"string","description":"The member's mode: the host agent preset id. A native member composes it (omitted = the host default); a CLI member reaches its plugin tools through the bridge (omitted = no mode)."},"inheritPreset":{"type":"boolean","description":"With no `preset`: take the room session's own mode (the coordinator's invite default)."},"provider":{"type":"string","description":"CLI provider id (non-blank)."},"name":{"type":"string","description":"Addressing/display name: unique in the room, no whitespace, no `@`."},"instructions":{"type":"string","description":"Role instructions, prepended to the member's first dispatch."},"role":{"type":"string","description":"Short public role (≤ 30 chars); blank/omitted = none."},"cwd":{"type":"string","description":"Member-level working directory (empty/omitted = inherits the room session's cwd). Recorded on the roster; not yet passed to the delegation facade (family need R2 pending)."},"firstTask":{"type":"string","description":"Optional first task, dispatched to the member as soon as it joins."},"note":{"type":"string","description":"What the inviter waits for when the first task reports (see RoomDispatchEvent.note)."},"model":{"type":"string","description":"The delegation's model (blank/omitted = follow the harness default). Applies to local-agent harness providers only: it lands as the facade `start` call's `model` option, bound at spawn for exec and live alike."},"effort":{"type":"string","description":"The delegation's reasoning effort (blank/omitted = follow the harness default): the facade `start` call's `effort` option, bound at spawn alongside the model."}},"required":["sessionId","provider","name"],"additionalProperties":true},
1706
2851
  },
1707
2852
  strictCodec: {
1708
2853
  mode: 'strict',
1709
2854
  typeSymbol: '@khorsheed/dsh-room/types#RoomInviteRequest',
1710
2855
  create: _khorsheed_dsh_room_room_invite_parameter_0_strict$schema,
1711
2856
  schema: _khorsheed_dsh_room_room_invite_parameter_0_strict$schema(),
1712
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"provider":{"type":"string","description":"CLI provider id (non-blank)."},"name":{"type":"string","description":"Addressing/display name: unique in the room, no whitespace, no `@`."},"instructions":{"type":"string","description":"Role instructions, prepended to the member's first dispatch."},"cwd":{"type":"string","description":"Member-level working directory (empty/omitted = inherits the room session's cwd). Recorded on the roster; not yet passed to the delegation facade (family need R2 pending)."},"firstTask":{"type":"string","description":"Optional first task, dispatched to the member as soon as it joins."},"model":{"type":"string","description":"The delegation's model (blank/omitted = follow the harness default). Applies to local-agent harness providers only: it lands as the facade `start` call's `model` option, bound at spawn for exec and live alike."}},"required":["sessionId","provider","name"],"additionalProperties":false},
2857
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"kind":{"type":"string","enum":["native","cli"],"description":"`cli` (default): an external CLI through the local-agent family. `native`: a DSH child agent in this host process, composing `preset`."},"preset":{"type":"string","description":"The member's mode: the host agent preset id. A native member composes it (omitted = the host default); a CLI member reaches its plugin tools through the bridge (omitted = no mode)."},"inheritPreset":{"type":"boolean","description":"With no `preset`: take the room session's own mode (the coordinator's invite default)."},"provider":{"type":"string","description":"CLI provider id (non-blank)."},"name":{"type":"string","description":"Addressing/display name: unique in the room, no whitespace, no `@`."},"instructions":{"type":"string","description":"Role instructions, prepended to the member's first dispatch."},"role":{"type":"string","description":"Short public role (≤ 30 chars); blank/omitted = none."},"cwd":{"type":"string","description":"Member-level working directory (empty/omitted = inherits the room session's cwd). Recorded on the roster; not yet passed to the delegation facade (family need R2 pending)."},"firstTask":{"type":"string","description":"Optional first task, dispatched to the member as soon as it joins."},"note":{"type":"string","description":"What the inviter waits for when the first task reports (see RoomDispatchEvent.note)."},"model":{"type":"string","description":"The delegation's model (blank/omitted = follow the harness default). Applies to local-agent harness providers only: it lands as the facade `start` call's `model` option, bound at spawn for exec and live alike."},"effort":{"type":"string","description":"The delegation's reasoning effort (blank/omitted = follow the harness default): the facade `start` call's `effort` option, bound at spawn alongside the model."}},"required":["sessionId","provider","name"],"additionalProperties":false},
1713
2858
  },
1714
2859
  },
1715
2860
  ],
@@ -1719,9 +2864,9 @@ const $remote = createTypertRemoteInfo({
1719
2864
  create: _khorsheed_dsh_room_room_invite_result$schema,
1720
2865
  schema: _khorsheed_dsh_room_room_invite_result$schema(),
1721
2866
  description: 'the invitation receipt, or a rejection.',
1722
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"name":{"type":"string","description":"The accepted member name."},"pendingFirstTask":{"type":"boolean","description":"True when a first task was supplied and dispatched with the invitation."}},"required":["name","pendingFirstTask"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2867
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"name":{"type":"string","description":"The accepted member name."},"pendingFirstTask":{"type":"boolean","description":"True when a first task was supplied and dispatched with the invitation."},"preset":{"type":"string","description":"The member's mode (preset id), when it has one."}},"required":["name","pendingFirstTask"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1723
2868
  },
1724
- sourceLocation: {"file":"packages/room/src/index.ts","line":450,"column":3},
2869
+ sourceLocation: {"file":"packages/room/src/index.ts","line":915,"column":3},
1725
2870
  },
1726
2871
  'room/isRoom': {
1727
2872
  service: 'room',
@@ -1756,7 +2901,42 @@ const $remote = createTypertRemoteInfo({
1756
2901
  description: 'true when the session carries the marker (false for unknown sessions too).',
1757
2902
  jsonSchema: {"type":"boolean"},
1758
2903
  },
1759
- sourceLocation: {"file":"packages/room/src/index.ts","line":272,"column":9},
2904
+ sourceLocation: {"file":"packages/room/src/index.ts","line":444,"column":9},
2905
+ },
2906
+ 'room/linkSession': {
2907
+ service: 'room',
2908
+ description: 'Keep an outside session on the member list (「加入房间成员」): only a shortcut for asking it — it stays in its own session, asks still go through room_help, and its usage stays its own.',
2909
+ invocation: { kind: 'direct' },
2910
+ parameters: [
2911
+ {
2912
+ name: 'request',
2913
+ description: 'room session, the outside session and its title.',
2914
+ source: 'json',
2915
+ codec: {
2916
+ mode: 'strict',
2917
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkRequest',
2918
+ create: _khorsheed_dsh_room_room_linkSession_parameter_0$schema,
2919
+ schema: _khorsheed_dsh_room_room_linkSession_parameter_0$schema(),
2920
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"target":{"type":"string","description":"The outside session."},"title":{"type":"string","description":"Its title (link only)."}},"required":["sessionId","target"],"additionalProperties":true},
2921
+ },
2922
+ strictCodec: {
2923
+ mode: 'strict',
2924
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkRequest',
2925
+ create: _khorsheed_dsh_room_room_linkSession_parameter_0_strict$schema,
2926
+ schema: _khorsheed_dsh_room_room_linkSession_parameter_0_strict$schema(),
2927
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"target":{"type":"string","description":"The outside session."},"title":{"type":"string","description":"Its title (link only)."}},"required":["sessionId","target"],"additionalProperties":false},
2928
+ },
2929
+ },
2930
+ ],
2931
+ result: {
2932
+ mode: 'strict',
2933
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkResult',
2934
+ create: _khorsheed_dsh_room_room_linkSession_result$schema,
2935
+ schema: _khorsheed_dsh_room_room_linkSession_result$schema(),
2936
+ description: 'ok, or a rejection.',
2937
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2938
+ },
2939
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2075,"column":9},
1760
2940
  },
1761
2941
  'room/listProviders': {
1762
2942
  service: 'room',
@@ -1764,22 +2944,21 @@ const $remote = createTypertRemoteInfo({
1764
2944
  invocation: { kind: 'direct' },
1765
2945
  parameters: [
1766
2946
  {
1767
- name: '_request',
1768
- description: 'no parameters.',
2947
+ name: 'request',
1769
2948
  source: 'json',
1770
2949
  codec: {
1771
2950
  mode: 'strict',
1772
2951
  typeSymbol: '@khorsheed/dsh-room/types#RoomListProvidersRequest',
1773
2952
  create: _khorsheed_dsh_room_room_listProviders_parameter_0$schema,
1774
2953
  schema: _khorsheed_dsh_room_room_listProviders_parameter_0$schema(),
1775
- jsonSchema: {"type":"object","properties":{},"required":[],"additionalProperties":true},
2954
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"The session the invite is for: the result then carries its mode (`sessionPreset`)."}},"required":[],"additionalProperties":true},
1776
2955
  },
1777
2956
  strictCodec: {
1778
2957
  mode: 'strict',
1779
2958
  typeSymbol: '@khorsheed/dsh-room/types#RoomListProvidersRequest',
1780
2959
  create: _khorsheed_dsh_room_room_listProviders_parameter_0_strict$schema,
1781
2960
  schema: _khorsheed_dsh_room_room_listProviders_parameter_0_strict$schema(),
1782
- jsonSchema: {"type":"object","properties":{},"required":[],"additionalProperties":false},
2961
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"The session the invite is for: the result then carries its mode (`sessionPreset`)."}},"required":[],"additionalProperties":false},
1783
2962
  },
1784
2963
  },
1785
2964
  ],
@@ -1789,9 +2968,9 @@ const $remote = createTypertRemoteInfo({
1789
2968
  create: _khorsheed_dsh_room_room_listProviders_result$schema,
1790
2969
  schema: _khorsheed_dsh_room_room_listProviders_result$schema(),
1791
2970
  description: 'the provider list and the facade verdict.',
1792
- jsonSchema: {"type":"object","properties":{"localAgentAvailable":{"type":"boolean","description":"False when the local-agent delegation facade is absent (CLI members undispatchable)."},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","description":"The provider id invite/dispatch uses (the harness's delegationProvider)."},"displayName":{"type":"string"},"harness":{"type":"string","description":"The roster harness name — the lookup key for the localAgentGateway `harnessModel` read (the invite dialog's model picker). Absent only on a pre-model-broker family core; the dialog then serves a plain text input."},"authenticated":{"type":"boolean","description":"Whether the harness's scoped home holds usable credentials."}},"required":["provider","displayName","authenticated"],"additionalProperties":true}}},"required":["localAgentAvailable","providers"],"additionalProperties":true},
2971
+ jsonSchema: {"type":"object","properties":{"localAgentAvailable":{"type":"boolean","description":"False when the local-agent delegation facade is absent (CLI members undispatchable)."},"providers":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","description":"The provider id invite/dispatch uses (the harness's delegationProvider)."},"displayName":{"type":"string"},"harness":{"type":"string","description":"The roster harness name — the lookup key for the localAgentGateway `harnessModel` read (the invite dialog's model picker). Absent only on a pre-model-broker family core; the dialog then serves a plain text input."},"authenticated":{"type":"boolean","description":"Whether the harness's scoped home holds usable credentials."}},"required":["provider","displayName","authenticated"],"additionalProperties":true}},"presets":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"isDefault":{"type":"boolean"},"broken":{"type":"string","description":"Why the preset cannot be composed right now."}},"required":["id","isDefault"],"additionalProperties":true},"description":"The host's agent presets a native DSH member may compose; absent when the composition mounts no preset registry (native members then run the plain composition)."},"sessionPreset":{"type":"string","description":"The requested session's own mode (preset id), when known: the dialog's default mode."}},"required":["localAgentAvailable","providers"],"additionalProperties":true},
1793
2972
  },
1794
- sourceLocation: {"file":"packages/room/src/index.ts","line":321,"column":9},
2973
+ sourceLocation: {"file":"packages/room/src/index.ts","line":493,"column":9},
1795
2974
  },
1796
2975
  'room/planCommand': {
1797
2976
  service: 'room',
@@ -1824,7 +3003,7 @@ const $remote = createTypertRemoteInfo({
1824
3003
  schema: _khorsheed_dsh_room_room_planCommand_result$schema(),
1825
3004
  jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"message":{"type":"string"}},"required":["ok","message"],"additionalProperties":true}]},
1826
3005
  },
1827
- sourceLocation: {"file":"packages/room/src/index.ts","line":789,"column":9},
3006
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1672,"column":9},
1828
3007
  },
1829
3008
  'room/postMessage': {
1830
3009
  service: 'room',
@@ -1833,202 +3012,412 @@ const $remote = createTypertRemoteInfo({
1833
3012
  parameters: [
1834
3013
  {
1835
3014
  name: 'request',
1836
- description: 'room session, raw composer text, and the menu-picked addressees.',
3015
+ description: 'room session, raw composer text, and the menu-picked addressees.',
3016
+ source: 'json',
3017
+ codec: {
3018
+ mode: 'strict',
3019
+ typeSymbol: '@khorsheed/dsh-room/types#RoomPostMessageRequest',
3020
+ create: _khorsheed_dsh_room_room_postMessage_parameter_0$schema,
3021
+ schema: _khorsheed_dsh_room_room_postMessage_parameter_0$schema(),
3022
+ jsonSchema: {"type":"object","properties":{"requestId":{"type":"string"},"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Raw composer text: leading `@name` tokens address members."},"targets":{"type":"array","items":{"type":"string"},"description":"Menu-picked addressees (the room composer's mention menu records a pick as explicit addressing even when the `@name` sits mid-sentence). Unioned with the parsed leading tokens and validated against the roster the same way; the text itself is dispatched verbatim either way."},"task":{"type":"string","description":"The composer's task tag: `new` or a task root id (see RoomSetTaskHintRequest)."}},"required":["sessionId","text"],"additionalProperties":true},
3023
+ },
3024
+ strictCodec: {
3025
+ mode: 'strict',
3026
+ typeSymbol: '@khorsheed/dsh-room/types#RoomPostMessageRequest',
3027
+ create: _khorsheed_dsh_room_room_postMessage_parameter_0_strict$schema,
3028
+ schema: _khorsheed_dsh_room_room_postMessage_parameter_0_strict$schema(),
3029
+ jsonSchema: {"type":"object","properties":{"requestId":{"type":"string"},"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Raw composer text: leading `@name` tokens address members."},"targets":{"type":"array","items":{"type":"string"},"description":"Menu-picked addressees (the room composer's mention menu records a pick as explicit addressing even when the `@name` sits mid-sentence). Unioned with the parsed leading tokens and validated against the roster the same way; the text itself is dispatched verbatim either way."},"task":{"type":"string","description":"The composer's task tag: `new` or a task root id (see RoomSetTaskHintRequest)."}},"required":["sessionId","text"],"additionalProperties":false},
3030
+ },
3031
+ },
3032
+ ],
3033
+ result: {
3034
+ mode: 'strict',
3035
+ typeSymbol: '@khorsheed/dsh-room/types#RoomPostMessageResult',
3036
+ create: _khorsheed_dsh_room_room_postMessage_result$schema,
3037
+ schema: _khorsheed_dsh_room_room_postMessage_result$schema(),
3038
+ description: 'the parse receipt, or a rejection.',
3039
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"parsed":{"type":"object","properties":{"targets":{"type":"array","items":{"type":"string"},"description":"Addressed members (never empty — a bare message is a `no-targets` rejection)."},"text":{"type":"string","description":"The message body with the leading"}},"required":["targets","text"],"additionalProperties":true},"seq":{"type":"number","description":"Seq of the appended journal event."}},"required":["parsed","seq"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3040
+ },
3041
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1193,"column":9},
3042
+ },
3043
+ 'room/prepareMember': {
3044
+ service: 'room',
3045
+ description: 'Native preparation creates no unrelated conversation turn and leaves the role unchanged.',
3046
+ invocation: { kind: 'direct' },
3047
+ parameters: [
3048
+ {
3049
+ name: 'request',
3050
+ source: 'json',
3051
+ codec: {
3052
+ mode: 'strict',
3053
+ typeSymbol: '@khorsheed/dsh-room/types#RoomPrepareMemberRequest',
3054
+ create: _khorsheed_dsh_room_room_prepareMember_parameter_0$schema,
3055
+ schema: _khorsheed_dsh_room_room_prepareMember_parameter_0$schema(),
3056
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":true},
3057
+ },
3058
+ strictCodec: {
3059
+ mode: 'strict',
3060
+ typeSymbol: '@khorsheed/dsh-room/types#RoomPrepareMemberRequest',
3061
+ create: _khorsheed_dsh_room_room_prepareMember_parameter_0_strict$schema,
3062
+ schema: _khorsheed_dsh_room_room_prepareMember_parameter_0_strict$schema(),
3063
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":false},
3064
+ },
3065
+ },
3066
+ ],
3067
+ result: {
3068
+ mode: 'strict',
3069
+ typeSymbol: '@khorsheed/dsh-room/types#RoomPrepareMemberResult',
3070
+ create: _khorsheed_dsh_room_room_prepareMember_result$schema,
3071
+ schema: _khorsheed_dsh_room_room_prepareMember_result$schema(),
3072
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"childSessionId":{"type":"string"}},"required":["childSessionId"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3073
+ },
3074
+ sourceLocation: {"file":"packages/room/src/index.ts","line":993,"column":9},
3075
+ },
3076
+ 'room/reconcileDelivery': {
3077
+ service: 'room',
3078
+ description: 'A human records the known result before releasing a crashed member\'s queued work.',
3079
+ invocation: { kind: 'direct' },
3080
+ parameters: [
3081
+ {
3082
+ name: 'request',
3083
+ source: 'json',
3084
+ codec: {
3085
+ mode: 'strict',
3086
+ typeSymbol: '@khorsheed/dsh-room/types#RoomReconcileDeliveryRequest',
3087
+ create: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema,
3088
+ schema: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema(),
3089
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"deliveryId":{"type":"string"},"outcome":{"type":"string","enum":["cancelled","done"]},"evidence":{"type":"string"}},"required":["sessionId","deliveryId","outcome","evidence"],"additionalProperties":true},
3090
+ },
3091
+ strictCodec: {
3092
+ mode: 'strict',
3093
+ typeSymbol: '@khorsheed/dsh-room/types#RoomReconcileDeliveryRequest',
3094
+ create: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0_strict$schema,
3095
+ schema: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0_strict$schema(),
3096
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"deliveryId":{"type":"string"},"outcome":{"type":"string","enum":["cancelled","done"]},"evidence":{"type":"string"}},"required":["sessionId","deliveryId","outcome","evidence"],"additionalProperties":false},
3097
+ },
3098
+ },
3099
+ ],
3100
+ result: {
3101
+ mode: 'strict',
3102
+ typeSymbol: '@khorsheed/dsh-room/types#RoomReconcileDeliveryResult',
3103
+ create: _khorsheed_dsh_room_room_reconcileDelivery_result$schema,
3104
+ schema: _khorsheed_dsh_room_room_reconcileDelivery_result$schema(),
3105
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3106
+ },
3107
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1019,"column":9},
3108
+ },
3109
+ 'room/releaseReports': {
3110
+ service: 'room',
3111
+ description: 'Hand a member the reports the gate holds for it now (the room\'s 「现在交给」 button).',
3112
+ invocation: { kind: 'direct' },
3113
+ parameters: [
3114
+ {
3115
+ name: 'request',
3116
+ description: 'room session, member name.',
3117
+ source: 'json',
3118
+ codec: {
3119
+ mode: 'strict',
3120
+ typeSymbol: '@khorsheed/dsh-room/types#RoomReleaseReportsRequest',
3121
+ create: _khorsheed_dsh_room_room_releaseReports_parameter_0$schema,
3122
+ schema: _khorsheed_dsh_room_room_releaseReports_parameter_0$schema(),
3123
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":true},
3124
+ },
3125
+ strictCodec: {
3126
+ mode: 'strict',
3127
+ typeSymbol: '@khorsheed/dsh-room/types#RoomReleaseReportsRequest',
3128
+ create: _khorsheed_dsh_room_room_releaseReports_parameter_0_strict$schema,
3129
+ schema: _khorsheed_dsh_room_room_releaseReports_parameter_0_strict$schema(),
3130
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":false},
3131
+ },
3132
+ },
3133
+ ],
3134
+ result: {
3135
+ mode: 'strict',
3136
+ typeSymbol: '@khorsheed/dsh-room/types#RoomReleaseReportsResult',
3137
+ create: _khorsheed_dsh_room_room_releaseReports_result$schema,
3138
+ schema: _khorsheed_dsh_room_room_releaseReports_result$schema(),
3139
+ description: 'whether anything was held.',
3140
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"released":{"type":"boolean"}},"required":["released"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3141
+ },
3142
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2007,"column":9},
3143
+ },
3144
+ 'room/removeMember': {
3145
+ service: 'room',
3146
+ description: 'Remove a member and settle everything that depended on it, so the confirmation\'s promises hold: a running round is stopped first (the same cancel the stop button uses), queued messages to it are cancelled, every member waiting for one of its reports is told it will not come, and only then does it leave the roster. Its own session and history stay; {@link restoreMember} brings it back onto them.',
3147
+ invocation: { kind: 'direct' },
3148
+ parameters: [
3149
+ {
3150
+ name: 'request',
3151
+ description: 'room session, member name.',
3152
+ source: 'json',
3153
+ codec: {
3154
+ mode: 'strict',
3155
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRemoveMemberRequest',
3156
+ create: _khorsheed_dsh_room_room_removeMember_parameter_0$schema,
3157
+ schema: _khorsheed_dsh_room_room_removeMember_parameter_0$schema(),
3158
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to remove."}},"required":["sessionId","name"],"additionalProperties":true},
3159
+ },
3160
+ strictCodec: {
3161
+ mode: 'strict',
3162
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRemoveMemberRequest',
3163
+ create: _khorsheed_dsh_room_room_removeMember_parameter_0_strict$schema,
3164
+ schema: _khorsheed_dsh_room_room_removeMember_parameter_0_strict$schema(),
3165
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to remove."}},"required":["sessionId","name"],"additionalProperties":false},
3166
+ },
3167
+ },
3168
+ ],
3169
+ result: {
3170
+ mode: 'strict',
3171
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRemoveMemberResult',
3172
+ create: _khorsheed_dsh_room_room_removeMember_result$schema,
3173
+ schema: _khorsheed_dsh_room_room_removeMember_result$schema(),
3174
+ description: 'what the removal did, or a rejection.',
3175
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"name":{"type":"string"},"stopped":{"type":"boolean","description":"True when a running round was stopped first."},"cancelledDeliveries":{"type":"number","description":"Queued messages that will never be delivered."},"notified":{"type":"array","items":{"type":"string"},"description":"Members that were waiting for a report and were told instead."}},"required":["name","stopped","cancelledDeliveries","notified"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3176
+ },
3177
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1104,"column":9},
3178
+ },
3179
+ 'room/restoreMember': {
3180
+ service: 'room',
3181
+ description: 'Undo a removal: the member rejoins under its old identity, provider, role, instructions and native session, so its memory carries on. Work the removal cancelled stays cancelled. Rejected when the name was taken in between or the member was never removed.',
3182
+ invocation: { kind: 'direct' },
3183
+ parameters: [
3184
+ {
3185
+ name: 'request',
3186
+ description: 'room session, the removed member\'s name.',
3187
+ source: 'json',
3188
+ codec: {
3189
+ mode: 'strict',
3190
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRestoreMemberRequest',
3191
+ create: _khorsheed_dsh_room_room_restoreMember_parameter_0$schema,
3192
+ schema: _khorsheed_dsh_room_room_restoreMember_parameter_0$schema(),
3193
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":true},
3194
+ },
3195
+ strictCodec: {
3196
+ mode: 'strict',
3197
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRestoreMemberRequest',
3198
+ create: _khorsheed_dsh_room_room_restoreMember_parameter_0_strict$schema,
3199
+ schema: _khorsheed_dsh_room_room_restoreMember_parameter_0_strict$schema(),
3200
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":false},
3201
+ },
3202
+ },
3203
+ ],
3204
+ result: {
3205
+ mode: 'strict',
3206
+ typeSymbol: '@khorsheed/dsh-room/types#RoomRestoreMemberResult',
3207
+ create: _khorsheed_dsh_room_room_restoreMember_result$schema,
3208
+ schema: _khorsheed_dsh_room_room_restoreMember_result$schema(),
3209
+ description: 'the restored name, or a rejection.',
3210
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3211
+ },
3212
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1143,"column":9},
3213
+ },
3214
+ 'room/setCoordinator': {
3215
+ service: 'room',
3216
+ description: 'Explicit human role change; state is committed only after readiness and idle checks.',
3217
+ invocation: { kind: 'direct' },
3218
+ parameters: [
3219
+ {
3220
+ name: 'request',
1837
3221
  source: 'json',
1838
3222
  codec: {
1839
3223
  mode: 'strict',
1840
- typeSymbol: '@khorsheed/dsh-room/types#RoomPostMessageRequest',
1841
- create: _khorsheed_dsh_room_room_postMessage_parameter_0$schema,
1842
- schema: _khorsheed_dsh_room_room_postMessage_parameter_0$schema(),
1843
- jsonSchema: {"type":"object","properties":{"requestId":{"type":"string"},"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Raw composer text: leading `@name` tokens address members."},"targets":{"type":"array","items":{"type":"string"},"description":"Menu-picked addressees (the room composer's mention menu records a pick as explicit addressing even when the `@name` sits mid-sentence). Unioned with the parsed leading tokens and validated against the roster the same way; the text itself is dispatched verbatim either way."}},"required":["sessionId","text"],"additionalProperties":true},
3224
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetCoordinatorRequest',
3225
+ create: _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema,
3226
+ schema: _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema(),
3227
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"memberId":{"type":"string"},"expectedRevision":{"type":"number"}},"required":["sessionId","memberId","expectedRevision"],"additionalProperties":true},
1844
3228
  },
1845
3229
  strictCodec: {
1846
3230
  mode: 'strict',
1847
- typeSymbol: '@khorsheed/dsh-room/types#RoomPostMessageRequest',
1848
- create: _khorsheed_dsh_room_room_postMessage_parameter_0_strict$schema,
1849
- schema: _khorsheed_dsh_room_room_postMessage_parameter_0_strict$schema(),
1850
- jsonSchema: {"type":"object","properties":{"requestId":{"type":"string"},"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Raw composer text: leading `@name` tokens address members."},"targets":{"type":"array","items":{"type":"string"},"description":"Menu-picked addressees (the room composer's mention menu records a pick as explicit addressing even when the `@name` sits mid-sentence). Unioned with the parsed leading tokens and validated against the roster the same way; the text itself is dispatched verbatim either way."}},"required":["sessionId","text"],"additionalProperties":false},
3231
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetCoordinatorRequest',
3232
+ create: _khorsheed_dsh_room_room_setCoordinator_parameter_0_strict$schema,
3233
+ schema: _khorsheed_dsh_room_room_setCoordinator_parameter_0_strict$schema(),
3234
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"memberId":{"type":"string"},"expectedRevision":{"type":"number"}},"required":["sessionId","memberId","expectedRevision"],"additionalProperties":false},
1851
3235
  },
1852
3236
  },
1853
3237
  ],
1854
3238
  result: {
1855
3239
  mode: 'strict',
1856
- typeSymbol: '@khorsheed/dsh-room/types#RoomPostMessageResult',
1857
- create: _khorsheed_dsh_room_room_postMessage_result$schema,
1858
- schema: _khorsheed_dsh_room_room_postMessage_result$schema(),
1859
- description: 'the parse receipt, or a rejection.',
1860
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"parsed":{"type":"object","properties":{"targets":{"type":"array","items":{"type":"string"},"description":"Addressed members (never empty — a bare message is a `no-targets` rejection)."},"text":{"type":"string","description":"The message body with the leading"}},"required":["targets","text"],"additionalProperties":true},"seq":{"type":"number","description":"Seq of the appended journal event."}},"required":["parsed","seq"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3240
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetCoordinatorResult',
3241
+ create: _khorsheed_dsh_room_room_setCoordinator_result$schema,
3242
+ schema: _khorsheed_dsh_room_room_setCoordinator_result$schema(),
3243
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"version":{"type":"number","const":1},"memberId":{"type":"string"},"revision":{"type":"number"},"previousMemberId":{"type":"string"},"handoff":{"type":"string"}},"required":["version","memberId","revision","previousMemberId","handoff"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1861
3244
  },
1862
- sourceLocation: {"file":"packages/room/src/index.ts","line":668,"column":9},
3245
+ sourceLocation: {"file":"packages/room/src/index.ts","line":1036,"column":9},
1863
3246
  },
1864
- 'room/prepareMember': {
3247
+ 'room/setGoal': {
1865
3248
  service: 'room',
1866
- description: 'Native preparation creates no unrelated conversation turn and leaves the role unchanged.',
3249
+ description: 'Set (or, with a blank text, clear) the room\'s goal. The goal is one journaled line — the latest `room/goal` event wins; it rides the top of the roster section in every member prompt and drives the dock\'s goal capsule. Pure display/coordination text: it never dispatches anything.',
1867
3250
  invocation: { kind: 'direct' },
1868
3251
  parameters: [
1869
3252
  {
1870
3253
  name: 'request',
3254
+ description: 'room session and goal text.',
1871
3255
  source: 'json',
1872
3256
  codec: {
1873
3257
  mode: 'strict',
1874
- typeSymbol: '@khorsheed/dsh-room/types#RoomPrepareMemberRequest',
1875
- create: _khorsheed_dsh_room_room_prepareMember_parameter_0$schema,
1876
- schema: _khorsheed_dsh_room_room_prepareMember_parameter_0$schema(),
1877
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":true},
3258
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetGoalRequest',
3259
+ create: _khorsheed_dsh_room_room_setGoal_parameter_0$schema,
3260
+ schema: _khorsheed_dsh_room_room_setGoal_parameter_0$schema(),
3261
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Goal text; blank clears the goal."}},"required":["sessionId","text"],"additionalProperties":true},
1878
3262
  },
1879
3263
  strictCodec: {
1880
3264
  mode: 'strict',
1881
- typeSymbol: '@khorsheed/dsh-room/types#RoomPrepareMemberRequest',
1882
- create: _khorsheed_dsh_room_room_prepareMember_parameter_0_strict$schema,
1883
- schema: _khorsheed_dsh_room_room_prepareMember_parameter_0_strict$schema(),
1884
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"name":{"type":"string"}},"required":["sessionId","name"],"additionalProperties":false},
3265
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetGoalRequest',
3266
+ create: _khorsheed_dsh_room_room_setGoal_parameter_0_strict$schema,
3267
+ schema: _khorsheed_dsh_room_room_setGoal_parameter_0_strict$schema(),
3268
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Goal text; blank clears the goal."}},"required":["sessionId","text"],"additionalProperties":false},
1885
3269
  },
1886
3270
  },
1887
3271
  ],
1888
3272
  result: {
1889
3273
  mode: 'strict',
1890
- typeSymbol: '@khorsheed/dsh-room/types#RoomPrepareMemberResult',
1891
- create: _khorsheed_dsh_room_room_prepareMember_result$schema,
1892
- schema: _khorsheed_dsh_room_room_prepareMember_result$schema(),
1893
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"childSessionId":{"type":"string"}},"required":["childSessionId"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3274
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetGoalResult',
3275
+ create: _khorsheed_dsh_room_room_setGoal_result$schema,
3276
+ schema: _khorsheed_dsh_room_room_setGoal_result$schema(),
3277
+ description: 'the now-current goal (absent after a clear), or a rejection.',
3278
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"goal":{"type":"string"}},"required":[],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1894
3279
  },
1895
- sourceLocation: {"file":"packages/room/src/index.ts","line":518,"column":9},
3280
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2153,"column":9},
1896
3281
  },
1897
- 'room/reconcileDelivery': {
3282
+ 'room/setSettings': {
1898
3283
  service: 'room',
1899
- description: 'A human records the known result before releasing a crashed member\'s queued work.',
3284
+ description: 'Change the room\'s collaboration settings (any subset). Resuming a paused room releases everything the pause held, in order.',
1900
3285
  invocation: { kind: 'direct' },
1901
3286
  parameters: [
1902
3287
  {
1903
3288
  name: 'request',
3289
+ description: 'room session and the fields to change.',
1904
3290
  source: 'json',
1905
3291
  codec: {
1906
3292
  mode: 'strict',
1907
- typeSymbol: '@khorsheed/dsh-room/types#RoomReconcileDeliveryRequest',
1908
- create: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema,
1909
- schema: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0$schema(),
1910
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"deliveryId":{"type":"string"},"outcome":{"type":"string","enum":["cancelled","done"]},"evidence":{"type":"string"}},"required":["sessionId","deliveryId","outcome","evidence"],"additionalProperties":true},
3293
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetSettingsRequest',
3294
+ create: _khorsheed_dsh_room_room_setSettings_parameter_0$schema,
3295
+ schema: _khorsheed_dsh_room_room_setSettings_parameter_0$schema(),
3296
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"reportTiming":{"type":"string","enum":["judge","each"]},"autoTaskFiling":{"type":"boolean"},"reportThreshold":{"type":"number"},"reportWaitMinutes":{"type":"number"},"helpReminderMinutes":{"type":"number","description":"10–120, in steps of 10."},"memberMessages":{"type":"string","enum":["free","confirm"]},"hopLimit":{"type":"number","description":"2–50."},"paused":{"type":"boolean"}},"required":["sessionId"],"additionalProperties":true},
1911
3297
  },
1912
3298
  strictCodec: {
1913
3299
  mode: 'strict',
1914
- typeSymbol: '@khorsheed/dsh-room/types#RoomReconcileDeliveryRequest',
1915
- create: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0_strict$schema,
1916
- schema: _khorsheed_dsh_room_room_reconcileDelivery_parameter_0_strict$schema(),
1917
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"deliveryId":{"type":"string"},"outcome":{"type":"string","enum":["cancelled","done"]},"evidence":{"type":"string"}},"required":["sessionId","deliveryId","outcome","evidence"],"additionalProperties":false},
3300
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetSettingsRequest',
3301
+ create: _khorsheed_dsh_room_room_setSettings_parameter_0_strict$schema,
3302
+ schema: _khorsheed_dsh_room_room_setSettings_parameter_0_strict$schema(),
3303
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"reportTiming":{"type":"string","enum":["judge","each"]},"autoTaskFiling":{"type":"boolean"},"reportThreshold":{"type":"number"},"reportWaitMinutes":{"type":"number"},"helpReminderMinutes":{"type":"number","description":"10–120, in steps of 10."},"memberMessages":{"type":"string","enum":["free","confirm"]},"hopLimit":{"type":"number","description":"2–50."},"paused":{"type":"boolean"}},"required":["sessionId"],"additionalProperties":false},
1918
3304
  },
1919
3305
  },
1920
3306
  ],
1921
3307
  result: {
1922
3308
  mode: 'strict',
1923
- typeSymbol: '@khorsheed/dsh-room/types#RoomReconcileDeliveryResult',
1924
- create: _khorsheed_dsh_room_room_reconcileDelivery_result$schema,
1925
- schema: _khorsheed_dsh_room_room_reconcileDelivery_result$schema(),
1926
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3309
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetSettingsResult',
3310
+ create: _khorsheed_dsh_room_room_setSettings_result$schema,
3311
+ schema: _khorsheed_dsh_room_room_setSettings_result$schema(),
3312
+ description: 'the settings after the change, or a rejection.',
3313
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"memberMessages":{"type":"string","enum":["free","confirm"]},"hopLimit":{"type":"number"},"paused":{"type":"boolean"},"reportTiming":{"type":"string","enum":["judge","each"]},"autoTaskFiling":{"type":"boolean"},"reportThreshold":{"type":"number"},"reportWaitMinutes":{"type":"number"},"helpReminderMinutes":{"type":"number"}},"required":["memberMessages","hopLimit","paused","reportTiming","autoTaskFiling","reportThreshold","reportWaitMinutes","helpReminderMinutes"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1927
3314
  },
1928
- sourceLocation: {"file":"packages/room/src/index.ts","line":544,"column":9},
3315
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2023,"column":9},
1929
3316
  },
1930
- 'room/removeMember': {
3317
+ 'room/setTaskHint': {
1931
3318
  service: 'room',
1932
- description: 'Remove a member from the roster. An in-flight run is NOT interrupted here — cancel() first when the member is running.',
3319
+ description: 'Tag the human\'s next message with a task (the task page\'s 追问 / 新任务), or clear the tag.',
1933
3320
  invocation: { kind: 'direct' },
1934
3321
  parameters: [
1935
3322
  {
1936
3323
  name: 'request',
1937
- description: 'room session, member name.',
3324
+ description: 'room session and the task root id, `new`, or null.',
1938
3325
  source: 'json',
1939
3326
  codec: {
1940
3327
  mode: 'strict',
1941
- typeSymbol: '@khorsheed/dsh-room/types#RoomRemoveMemberRequest',
1942
- create: _khorsheed_dsh_room_room_removeMember_parameter_0$schema,
1943
- schema: _khorsheed_dsh_room_room_removeMember_parameter_0$schema(),
1944
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to remove."}},"required":["sessionId","name"],"additionalProperties":true},
3328
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetTaskHintRequest',
3329
+ create: _khorsheed_dsh_room_room_setTaskHint_parameter_0$schema,
3330
+ schema: _khorsheed_dsh_room_room_setTaskHint_parameter_0$schema(),
3331
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"task":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"`new`, a task root id, or null to clear."}},"required":["sessionId","task"],"additionalProperties":true},
1945
3332
  },
1946
3333
  strictCodec: {
1947
3334
  mode: 'strict',
1948
- typeSymbol: '@khorsheed/dsh-room/types#RoomRemoveMemberRequest',
1949
- create: _khorsheed_dsh_room_room_removeMember_parameter_0_strict$schema,
1950
- schema: _khorsheed_dsh_room_room_removeMember_parameter_0_strict$schema(),
1951
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to remove."}},"required":["sessionId","name"],"additionalProperties":false},
3335
+ typeSymbol: '@khorsheed/dsh-room/types#RoomSetTaskHintRequest',
3336
+ create: _khorsheed_dsh_room_room_setTaskHint_parameter_0_strict$schema,
3337
+ schema: _khorsheed_dsh_room_room_setTaskHint_parameter_0_strict$schema(),
3338
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"task":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"`new`, a task root id, or null to clear."}},"required":["sessionId","task"],"additionalProperties":false},
1952
3339
  },
1953
3340
  },
1954
3341
  ],
1955
3342
  result: {
1956
3343
  mode: 'strict',
1957
- typeSymbol: '@khorsheed/dsh-room/types#RoomRemoveMemberResult',
1958
- create: _khorsheed_dsh_room_room_removeMember_result$schema,
1959
- schema: _khorsheed_dsh_room_room_removeMember_result$schema(),
1960
- description: 'the removal receipt, or a rejection.',
1961
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3344
+ typeSymbol: '@khorsheed/dsh-room#room/setTaskHint:result',
3345
+ create: _khorsheed_dsh_room_room_setTaskHint_result$schema,
3346
+ schema: _khorsheed_dsh_room_room_setTaskHint_result$schema(),
3347
+ description: 'acknowledgement.',
3348
+ jsonSchema: {"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},
1962
3349
  },
1963
- sourceLocation: {"file":"packages/room/src/index.ts","line":631,"column":9},
3350
+ sourceLocation: {"file":"packages/room/src/index.ts","line":599,"column":9},
1964
3351
  },
1965
- 'room/setCoordinator': {
3352
+ 'room/stopJob': {
1966
3353
  service: 'room',
1967
- description: 'Explicit human role change; state is committed only after readiness and idle checks.',
3354
+ description: 'Stop a whole task: running rounds of its deliveries are cancelled (the same cancel the stop button uses), queued and held ones never run, and ordinary rounds whose outcome a restart lost close as cancelled — the human gave up on them — which unblocks those members\' later messages.',
1968
3355
  invocation: { kind: 'direct' },
1969
3356
  parameters: [
1970
3357
  {
1971
3358
  name: 'request',
3359
+ description: 'room session and the task root id.',
1972
3360
  source: 'json',
1973
3361
  codec: {
1974
3362
  mode: 'strict',
1975
- typeSymbol: '@khorsheed/dsh-room/types#RoomSetCoordinatorRequest',
1976
- create: _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema,
1977
- schema: _khorsheed_dsh_room_room_setCoordinator_parameter_0$schema(),
1978
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"memberId":{"type":"string"},"expectedRevision":{"type":"number"}},"required":["sessionId","memberId","expectedRevision"],"additionalProperties":true},
3363
+ typeSymbol: '@khorsheed/dsh-room/types#RoomStopJobRequest',
3364
+ create: _khorsheed_dsh_room_room_stopJob_parameter_0$schema,
3365
+ schema: _khorsheed_dsh_room_room_stopJob_parameter_0$schema(),
3366
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"task":{"type":"string","description":"The task's root id."}},"required":["sessionId","task"],"additionalProperties":true},
1979
3367
  },
1980
3368
  strictCodec: {
1981
3369
  mode: 'strict',
1982
- typeSymbol: '@khorsheed/dsh-room/types#RoomSetCoordinatorRequest',
1983
- create: _khorsheed_dsh_room_room_setCoordinator_parameter_0_strict$schema,
1984
- schema: _khorsheed_dsh_room_room_setCoordinator_parameter_0_strict$schema(),
1985
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"memberId":{"type":"string"},"expectedRevision":{"type":"number"}},"required":["sessionId","memberId","expectedRevision"],"additionalProperties":false},
3370
+ typeSymbol: '@khorsheed/dsh-room/types#RoomStopJobRequest',
3371
+ create: _khorsheed_dsh_room_room_stopJob_parameter_0_strict$schema,
3372
+ schema: _khorsheed_dsh_room_room_stopJob_parameter_0_strict$schema(),
3373
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"task":{"type":"string","description":"The task's root id."}},"required":["sessionId","task"],"additionalProperties":false},
1986
3374
  },
1987
3375
  },
1988
3376
  ],
1989
3377
  result: {
1990
3378
  mode: 'strict',
1991
- typeSymbol: '@khorsheed/dsh-room/types#RoomSetCoordinatorResult',
1992
- create: _khorsheed_dsh_room_room_setCoordinator_result$schema,
1993
- schema: _khorsheed_dsh_room_room_setCoordinator_result$schema(),
1994
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"version":{"type":"number","const":1},"memberId":{"type":"string"},"revision":{"type":"number"},"previousMemberId":{"type":"string"},"handoff":{"type":"string"}},"required":["version","memberId","revision","previousMemberId","handoff"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3379
+ typeSymbol: '@khorsheed/dsh-room/types#RoomStopJobResult',
3380
+ create: _khorsheed_dsh_room_room_stopJob_result$schema,
3381
+ schema: _khorsheed_dsh_room_room_stopJob_result$schema(),
3382
+ description: 'how many deliveries were stopped.',
3383
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"stopped":{"type":"number"}},"required":["stopped"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
1995
3384
  },
1996
- sourceLocation: {"file":"packages/room/src/index.ts","line":561,"column":9},
3385
+ sourceLocation: {"file":"packages/room/src/index.ts","line":614,"column":9},
1997
3386
  },
1998
- 'room/setGoal': {
3387
+ 'room/unlinkSession': {
1999
3388
  service: 'room',
2000
- description: 'Set (or, with a blank text, clear) the room\'s goal. The goal is one journaled line — the latest `room/goal` event wins; it rides the top of the roster section in every member prompt and drives the dock\'s goal capsule. Pure display/coordination text: it never dispatches anything.',
3389
+ description: 'Take an outside session off the member list (its own session is untouched).',
2001
3390
  invocation: { kind: 'direct' },
2002
3391
  parameters: [
2003
3392
  {
2004
3393
  name: 'request',
2005
- description: 'room session and goal text.',
3394
+ description: 'room session, the outside session.',
2006
3395
  source: 'json',
2007
3396
  codec: {
2008
3397
  mode: 'strict',
2009
- typeSymbol: '@khorsheed/dsh-room/types#RoomSetGoalRequest',
2010
- create: _khorsheed_dsh_room_room_setGoal_parameter_0$schema,
2011
- schema: _khorsheed_dsh_room_room_setGoal_parameter_0$schema(),
2012
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Goal text; blank clears the goal."}},"required":["sessionId","text"],"additionalProperties":true},
3398
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkRequest',
3399
+ create: _khorsheed_dsh_room_room_unlinkSession_parameter_0$schema,
3400
+ schema: _khorsheed_dsh_room_room_unlinkSession_parameter_0$schema(),
3401
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"target":{"type":"string","description":"The outside session."},"title":{"type":"string","description":"Its title (link only)."}},"required":["sessionId","target"],"additionalProperties":true},
2013
3402
  },
2014
3403
  strictCodec: {
2015
3404
  mode: 'strict',
2016
- typeSymbol: '@khorsheed/dsh-room/types#RoomSetGoalRequest',
2017
- create: _khorsheed_dsh_room_room_setGoal_parameter_0_strict$schema,
2018
- schema: _khorsheed_dsh_room_room_setGoal_parameter_0_strict$schema(),
2019
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"text":{"type":"string","description":"Goal text; blank clears the goal."}},"required":["sessionId","text"],"additionalProperties":false},
3405
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkRequest',
3406
+ create: _khorsheed_dsh_room_room_unlinkSession_parameter_0_strict$schema,
3407
+ schema: _khorsheed_dsh_room_room_unlinkSession_parameter_0_strict$schema(),
3408
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string"},"target":{"type":"string","description":"The outside session."},"title":{"type":"string","description":"Its title (link only)."}},"required":["sessionId","target"],"additionalProperties":false},
2020
3409
  },
2021
3410
  },
2022
3411
  ],
2023
3412
  result: {
2024
3413
  mode: 'strict',
2025
- typeSymbol: '@khorsheed/dsh-room/types#RoomSetGoalResult',
2026
- create: _khorsheed_dsh_room_room_setGoal_result$schema,
2027
- schema: _khorsheed_dsh_room_room_setGoal_result$schema(),
2028
- description: 'the now-current goal (absent after a clear), or a rejection.',
2029
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"goal":{"type":"string"}},"required":[],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3414
+ typeSymbol: '@khorsheed/dsh-room/types#RoomHelpLinkResult',
3415
+ create: _khorsheed_dsh_room_room_unlinkSession_result$schema,
3416
+ schema: _khorsheed_dsh_room_room_unlinkSession_result$schema(),
3417
+ description: 'ok, or `member-not-found` when it was not on the list.',
3418
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true}},"required":["ok"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2030
3419
  },
2031
- sourceLocation: {"file":"packages/room/src/index.ts","line":1034,"column":9},
3420
+ sourceLocation: {"file":"packages/room/src/index.ts","line":2094,"column":9},
2032
3421
  },
2033
3422
  'room/updateMember': {
2034
3423
  service: 'room',
@@ -2044,14 +3433,14 @@ const $remote = createTypertRemoteInfo({
2044
3433
  typeSymbol: '@khorsheed/dsh-room/types#RoomUpdateMemberRequest',
2045
3434
  create: _khorsheed_dsh_room_room_updateMember_parameter_0$schema,
2046
3435
  schema: _khorsheed_dsh_room_room_updateMember_parameter_0$schema(),
2047
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to update (its CURRENT name)."},"rename":{"type":"string","description":"Rename: the new"},"instructions":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New role instructions; null (or a blank string) CLEARS them."},"cwd":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New member-level cwd; null (or a blank string) CLEARS the override back to inheriting the room cwd."},"model":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New intended model (roster-recorded; the first dispatch binds it as the facade start's `model` option); null (or a blank string) CLEARS it back to following the harness default."}},"required":["sessionId","name"],"additionalProperties":true},
3436
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to update (its CURRENT name)."},"rename":{"type":"string","description":"Rename: the new"},"instructions":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New role instructions; null (or a blank string) CLEARS them."},"role":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New public role; null (or a blank string) CLEARS it."},"cwd":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New member-level cwd; null (or a blank string) CLEARS the override back to inheriting the room cwd."},"model":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New intended model (roster-recorded; the first dispatch binds it as the facade start's `model` option); null (or a blank string) CLEARS it back to following the harness default."},"effort":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New intended reasoning effort (roster-recorded, bound like the model on the first dispatch); null (or a blank string) CLEARS it back to following the harness default."}},"required":["sessionId","name"],"additionalProperties":true},
2048
3437
  },
2049
3438
  strictCodec: {
2050
3439
  mode: 'strict',
2051
3440
  typeSymbol: '@khorsheed/dsh-room/types#RoomUpdateMemberRequest',
2052
3441
  create: _khorsheed_dsh_room_room_updateMember_parameter_0_strict$schema,
2053
3442
  schema: _khorsheed_dsh_room_room_updateMember_parameter_0_strict$schema(),
2054
- jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to update (its CURRENT name)."},"rename":{"type":"string","description":"Rename: the new"},"instructions":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New role instructions; null (or a blank string) CLEARS them."},"cwd":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New member-level cwd; null (or a blank string) CLEARS the override back to inheriting the room cwd."},"model":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New intended model (roster-recorded; the first dispatch binds it as the facade start's `model` option); null (or a blank string) CLEARS it back to following the harness default."}},"required":["sessionId","name"],"additionalProperties":false},
3443
+ jsonSchema: {"type":"object","properties":{"sessionId":{"type":"string","description":"Room session."},"name":{"type":"string","description":"Member to update (its CURRENT name)."},"rename":{"type":"string","description":"Rename: the new"},"instructions":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New role instructions; null (or a blank string) CLEARS them."},"role":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New public role; null (or a blank string) CLEARS it."},"cwd":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New member-level cwd; null (or a blank string) CLEARS the override back to inheriting the room cwd."},"model":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New intended model (roster-recorded; the first dispatch binds it as the facade start's `model` option); null (or a blank string) CLEARS it back to following the harness default."},"effort":{"oneOf":[{"type":"null","const":null},{"type":"string"}],"description":"New intended reasoning effort (roster-recorded, bound like the model on the first dispatch); null (or a blank string) CLEARS it back to following the harness default."}},"required":["sessionId","name"],"additionalProperties":false},
2055
3444
  },
2056
3445
  },
2057
3446
  ],
@@ -2061,9 +3450,9 @@ const $remote = createTypertRemoteInfo({
2061
3450
  create: _khorsheed_dsh_room_room_updateMember_result$schema,
2062
3451
  schema: _khorsheed_dsh_room_room_updateMember_result$schema(),
2063
3452
  description: 'the update receipt (the CURRENT name), or a rejection.',
2064
- jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
3453
+ jsonSchema: {"oneOf":[{"type":"object","properties":{"ok":{"type":"boolean","const":true},"value":{"type":"object","properties":{"name":{"type":"string"}},"required":["name"],"additionalProperties":true}},"required":["ok","value"],"additionalProperties":true},{"type":"object","properties":{"ok":{"type":"boolean","const":false},"error":{"oneOf":[{"type":"object","properties":{"code":{"type":"string","const":"request-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-cwd-bound"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"delivery-not-uncertain"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"plan-reconciliation-required"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-busy"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-not-ready"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"coordinator-conflict"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"active-coordinator"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"configuration-owned-by-core"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"session-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"not-a-room"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"duplicate-name"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-provider"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"member-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"empty-text"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"role-too-long"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"invalid-settings"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"self-message"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-task"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-preset"},"preset":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","preset","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"nothing-to-update"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"local-agent-unavailable"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-provider"},"provider":{"type":"string"},"available":{"type":"array","items":{"type":"string"}}},"required":["code","provider","available"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"unknown-targets"},"names":{"type":"array","items":{"type":"string"}}},"required":["code","names"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"no-targets"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"relay-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"approval-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"question-not-pending"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"main-member"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-not-found"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"task-closed"}},"required":["code"],"additionalProperties":true},{"type":"object","properties":{"code":{"type":"string","const":"resume-failed"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":true}]}},"required":["ok","error"],"additionalProperties":true}]},
2065
3454
  },
2066
- sourceLocation: {"file":"packages/room/src/index.ts","line":473,"column":9},
3455
+ sourceLocation: {"file":"packages/room/src/index.ts","line":938,"column":9},
2067
3456
  },
2068
3457
  },
2069
3458
  }, z)
@@ -2082,11 +3471,11 @@ export const TYPERT = {
2082
3471
  "tags": [
2083
3472
  {
2084
3473
  "name": "",
2085
- "comment": "-message intake, the notification gate, the task board, and run cancellation. A room IS a normal session; the journal is its only state. A room is never CREATED apart from a session — inviting an agent into any session promotes it (see ensureRoom; the room-session-promotion proposal).",
2086
- "text": "@-message\n * intake, the notification gate, the task board, and run cancellation. A\n * room IS a normal session; the journal is its only state. A room is never\n * CREATED apart from a session — inviting an agent into any session promotes\n * it (see ensureRoom; the room-session-promotion proposal)."
3474
+ "comment": "-message intake, the notification gate, tasks, and run cancellation. A room IS a normal session; the journal is its only state. A room is never CREATED apart from a session — inviting an agent into any session promotes it (see ensureRoom; the room-session-promotion proposal).",
3475
+ "text": "@-message\n * intake, the notification gate, tasks, and run cancellation. A\n * room IS a normal session; the journal is its only state. A room is never\n * CREATED apart from a session — inviting an agent into any session promotes\n * it (see ensureRoom; the room-session-promotion proposal)."
2087
3476
  }
2088
3477
  ],
2089
- "jsDoc": "/**\n * room Remote service: promotion, roster management, the human @-message\n * intake, the notification gate, the task board, and run cancellation. A\n * room IS a normal session; the journal is its only state. A room is never\n * CREATED apart from a session — inviting an agent into any session promotes\n * it (see ensureRoom; the room-session-promotion proposal).\n */",
3478
+ "jsDoc": "/**\n * room Remote service: promotion, roster management, the human @-message\n * intake, the notification gate, tasks, and run cancellation. A\n * room IS a normal session; the journal is its only state. A room is never\n * CREATED apart from a session — inviting an agent into any session promotes\n * it (see ensureRoom; the room-session-promotion proposal).\n */",
2090
3479
  "key": "room",
2091
3480
  "exportName": "RoomService",
2092
3481
  "members": [
@@ -2119,10 +3508,31 @@ export const TYPERT = {
2119
3508
  {
2120
3509
  "kind": "method",
2121
3510
  "name": "listProviders",
2122
- "signature": "@Remote('listProviders') async listProviders(_request: RoomListProvidersRequest): Promise<RoomProviderList>",
3511
+ "signature": "@Remote('listProviders') async listProviders(request: RoomListProvidersRequest): Promise<RoomProviderList>",
2123
3512
  "summary": "List the invitable CLI providers: the local-agent roster with each harness's auth state, plus the delegation-facade verdict (absent facade = CLI members undispatchable; the dialog greys the section instead of failing).",
2124
3513
  "jsDoc": "/**\n * List the invitable CLI providers: the local-agent roster with each\n * harness's auth state, plus the delegation-facade verdict (absent facade =\n * CLI members undispatchable; the dialog greys the section instead of\n * failing). Harnesses without a delegation provider are record-only and\n * are not invitable.\n * @param _request - no parameters.\n * @returns the provider list and the facade verdict.\n */"
2125
3514
  },
3515
+ {
3516
+ "kind": "method",
3517
+ "name": "setTaskHint",
3518
+ "signature": "@Remote('setTaskHint') async setTaskHint(request: RoomSetTaskHintRequest): Promise<{ readonly ok: true }>",
3519
+ "summary": "Tag the human's next message with a task (the task page's 追问 / 新任务), or clear the tag.",
3520
+ "jsDoc": "/**\n * Tag the human's next message with a task (the task page's 追问 /\n * 新任务), or clear the tag.\n * @param request - room session and the task root id, `new`, or null.\n * @returns acknowledgement.\n */"
3521
+ },
3522
+ {
3523
+ "kind": "method",
3524
+ "name": "stopJob",
3525
+ "signature": "@Remote('stopJob') async stopJob(request: RoomStopJobRequest): Promise<RoomStopJobResult>",
3526
+ "summary": "Stop a whole task: running rounds of its deliveries are cancelled (the same cancel the stop button uses), queued and held ones never run, and ordinary rounds whose outcome a restart lost close as cancelled — the human gave up on them — which unblocks those members' later messages.",
3527
+ "jsDoc": "/**\n * Stop a whole task: running rounds of its deliveries are cancelled (the\n * same cancel the stop button uses), queued and held ones never run, and\n * ordinary rounds whose outcome a restart lost close as cancelled — the\n * human gave up on them — which unblocks those members' later messages.\n * @param request - room session and the task root id.\n * @returns how many deliveries were stopped.\n */"
3528
+ },
3529
+ {
3530
+ "kind": "method",
3531
+ "name": "nativeRoute",
3532
+ "signature": "nativeRoute(sessionId: string): { readonly roomId: SessionId; readonly actor: string } | undefined",
3533
+ "summary": "A native member's own session calling a room tool: the tools see the child session, so route to its room with the child as the authenticated actor instead of promoting the child into a room of its own.",
3534
+ "jsDoc": "/**\n * A native member's own session calling a room tool: the tools see the\n * child session, so route to its room with the child as the authenticated\n * actor instead of promoting the child into a room of its own.\n * @param sessionId - the calling agent's session.\n * @returns the room and actor, or undefined when the caller is no native member.\n */"
3535
+ },
2126
3536
  {
2127
3537
  "kind": "method",
2128
3538
  "name": "getState",
@@ -2176,8 +3586,15 @@ export const TYPERT = {
2176
3586
  "kind": "method",
2177
3587
  "name": "removeMember",
2178
3588
  "signature": "@Remote('removeMember') async removeMember(request: RoomRemoveMemberRequest): Promise<RoomRemoveMemberResult>",
2179
- "summary": "Remove a member from the roster.",
2180
- "jsDoc": "/**\n * Remove a member from the roster. An in-flight run is NOT interrupted\n * here — cancel() first when the member is running.\n * @param request - room session, member name.\n * @returns the removal receipt, or a rejection.\n */"
3589
+ "summary": "Remove a member and settle everything that depended on it, so the confirmation's promises hold: a running round is stopped first (the same cancel the stop button uses), queued messages to it are cancelled, every member waiting for one of its reports is told it will not come, and only then does it leave the roster.",
3590
+ "jsDoc": "/**\n * Remove a member and settle everything that depended on it, so the\n * confirmation's promises hold: a running round is stopped first (the same\n * cancel the stop button uses), queued messages to it are cancelled, every\n * member waiting for one of its reports is told it will not come, and only\n * then does it leave the roster. Its own session and history stay;\n * {@link restoreMember} brings it back onto them.\n * @param request - room session, member name.\n * @returns what the removal did, or a rejection.\n */"
3591
+ },
3592
+ {
3593
+ "kind": "method",
3594
+ "name": "restoreMember",
3595
+ "signature": "@Remote('restoreMember') async restoreMember(request: RoomRestoreMemberRequest): Promise<RoomRestoreMemberResult>",
3596
+ "summary": "Undo a removal: the member rejoins under its old identity, provider, role, instructions and native session, so its memory carries on.",
3597
+ "jsDoc": "/**\n * Undo a removal: the member rejoins under its old identity, provider,\n * role, instructions and native session, so its memory carries on. Work\n * the removal cancelled stays cancelled. Rejected when the name was taken\n * in between or the member was never removed.\n * @param request - room session, the removed member's name.\n * @returns the restored name, or a rejection.\n */"
2181
3598
  },
2182
3599
  {
2183
3600
  "kind": "method",
@@ -2190,8 +3607,22 @@ export const TYPERT = {
2190
3607
  "kind": "method",
2191
3608
  "name": "messageMember",
2192
3609
  "signature": "async messageMember(request: RoomMessageRequest, actorChildSessionId?: string): Promise<RoomMessageResult>",
2193
- "summary": "Dispatch one message to one member (host-only — the `room_message` tool's path; the model-facing equivalent of the human's `@member text`).",
2194
- "jsDoc": "/**\n * Dispatch one message to one member (host-only — the `room_message` tool's\n * path; the model-facing equivalent of the human's `@member text`). Same\n * dispatch internals as postMessage minus the user/message bubble: the\n * caller is the room's own main agent, so the text must NOT wear the human\n * bubble (source kind 'user' would misattribute it). The dispatch record\n * and the auto-opened in_progress task journal as usual.\n * @param request - room session, addressee, text.\n * @returns the dispatch receipt, or a rejection.\n */"
3610
+ "summary": "Send one message from a member to another (host-only — the `room_message` tool and the bridge's `member_message`/`room_message` land here; the human's path is postMessage).",
3611
+ "jsDoc": "/**\n * Send one message from a member to another (host-only — the `room_message`\n * tool and the bridge's `member_message`/`room_message` land here; the\n * human's path is postMessage). Any member may message any other: the\n * coordinator's sends journal as `coordinator` dispatches, everyone else's\n * as `member` ones. A `task` (default) has the recipient's final reply\n * reported back to the sender; a `notify` is FYI. The room's settings may\n * hold the message for the human instead (see messaging.ts).\n * @param request - room session, addressee, text, kind, optional reply reference.\n * @param actorChildSessionId - the authenticated CLI sender; absent = the room's own agent.\n * @returns the delivery receipt (with its `m<seq>` id) or the hold, or a rejection.\n */"
3612
+ },
3613
+ {
3614
+ "kind": "method",
3615
+ "name": "askHelp",
3616
+ "signature": "async askHelp(request: { readonly sessionId: string; readonly session?: string; readonly member?: string; readonly help?: string; readonly text: string }, caller: Agent | undefined, actorChildSessionId?: string): Promise<string>",
3617
+ "summary": "A member asks another session for help, or writes again on a thread (the `room_help` tool).",
3618
+ "jsDoc": "/**\n * A member asks another session for help, or writes again on a thread\n * (the `room_help` tool). The first ask of a session the human never\n * @-mentioned in this room waits for the human's go-ahead.\n * @param request - the calling session, the target session (new thread) or help id (existing), the text.\n * @param caller - the calling agent.\n * @returns the tool's text result.\n */"
3619
+ },
3620
+ {
3621
+ "kind": "method",
3622
+ "name": "helperMessage",
3623
+ "signature": "async helperMessage(agent: Agent, request: { help?: string; kind: 'question' | 'reply'; text: string; handoff?: string }): Promise<string>",
3624
+ "summary": "The helper's `room_help_reply` / `room_help_ask`: find the thread from the help requests in the helper's own log, then carry the message back.",
3625
+ "jsDoc": "/**\n * The helper's `room_help_reply` / `room_help_ask`: find the thread from\n * the help requests in the helper's own log, then carry the message back.\n * @param agent - the helper agent.\n * @param request - thread (optional when only one), kind, text, handoff.\n * @returns the tool's text result.\n */"
2195
3626
  },
2196
3627
  {
2197
3628
  "kind": "method",
@@ -2214,6 +3645,34 @@ export const TYPERT = {
2214
3645
  "summary": "The actor is derived from the calling native agent or authenticated bridge.",
2215
3646
  "jsDoc": "/** The actor is derived from the calling native agent or authenticated bridge. */"
2216
3647
  },
3648
+ {
3649
+ "kind": "method",
3650
+ "name": "memberMode",
3651
+ "signature": "async memberMode(actor: LocalAgentMemberRun): Promise<{ readonly preset: string; readonly cwd?: string } | undefined>",
3652
+ "summary": "The mode of an external member — the host preset whose plugin tools its bridge offers (local-agent's preset tool host runs them) — with its working directory.",
3653
+ "jsDoc": "/**\n * The mode of an external member — the host preset whose plugin tools its\n * bridge offers (local-agent's preset tool host runs them) — with its\n * working directory. Host method for the member channel, never a Remote.\n * @param actor - the authenticated member run.\n * @returns the mode, or undefined when the member has none or is not here.\n */"
3654
+ },
3655
+ {
3656
+ "kind": "method",
3657
+ "name": "askMemberApproval",
3658
+ "signature": "async askMemberApproval(actor: LocalAgentMemberRun, request: { readonly toolName: string; readonly reason?: string; readonly signal?: AbortSignal }): Promise<'allowed-once' | 'rejected' | 'cancelled' | 'unavailable'>",
3659
+ "summary": "A CLI member's mode tool needs the human's approval: ask in the room's conversation (a 允许 / 拒绝 line) and resolve when the human answers, the call is cancelled, or the room is gone.",
3660
+ "jsDoc": "/**\n * A CLI member's mode tool needs the human's approval: ask in the room's\n * conversation (a 允许 / 拒绝 line) and resolve when the human answers,\n * the call is cancelled, or the room is gone. Host method for the member\n * channel (local-agent's approval hook), never a Remote.\n * @param actor - the authenticated member run.\n * @param request - the tool, an optional reason, and the call's signal.\n * @returns the approval outcome the tool registry expects.\n */"
3661
+ },
3662
+ {
3663
+ "kind": "method",
3664
+ "name": "answerApproval",
3665
+ "signature": "@Remote('answerApproval') async answerApproval(request: RoomAnswerApprovalRequest): Promise<RoomAnswerApprovalResult>",
3666
+ "summary": "The human answers a member's tool approval from the room.",
3667
+ "jsDoc": "/**\n * The human answers a member's tool approval from the room.\n * @param request - room session, approval id, allow once or reject.\n * @returns ok, or `approval-not-pending` when it already ended.\n */"
3668
+ },
3669
+ {
3670
+ "kind": "method",
3671
+ "name": "answerQuestion",
3672
+ "signature": "@Remote('answerQuestion') async answerQuestion(request: RoomAnswerQuestionRequest): Promise<RoomAnswerQuestionResult>",
3673
+ "summary": "The human answers a member's question card from the room.",
3674
+ "jsDoc": "/**\n * The human answers a member's question card from the room.\n * @param request - room session, card id, one answer per question.\n * @returns ok, or `question-not-pending` when it already ended.\n */"
3675
+ },
2217
3676
  {
2218
3677
  "kind": "method",
2219
3678
  "name": "receiveMemberCommand",
@@ -2225,8 +3684,8 @@ export const TYPERT = {
2225
3684
  "kind": "method",
2226
3685
  "name": "receiveMemberMessage",
2227
3686
  "signature": "async receiveMemberMessage(request: RoomMemberMessage): Promise<RoomMemberMessageReceipt>",
2228
- "summary": "The notification gate entry, verbatim-frozen contract for the local-agent family bridge (`ctx.get('room')` + duck-typed call).",
2229
- "jsDoc": "/**\n * The notification gate entry, verbatim-frozen contract for the local-agent\n * family bridge (`ctx.get('room')` + duck-typed call). The call crosses an\n * untyped package boundary, so the message shape is validated at runtime:\n * a malformed message throws (the bridge treats a rejection as \"room does\n * not claim this\" and delivers directly) instead of poisoning the journal.\n * `from`/`to` arrive as roster names OR member child session ids (the\n * bridge cannot speak names for the sender — only room owns the roster);\n * both are normalized to roster names when resolvable, so the pending card\n * and the delivery text (`{from} 给你的通知: …`) read as names. Phase 1's\n * gate is ALWAYS human confirmation: the relay is journaled pending and\n * the sender receives 'pending-confirm' (never 'sent' — the bridge keeps\n * the member's conclusion honest). A non-room parent session throws.\n * @param request - sender, recipient, content, the shared parent session, provenance.\n * @returns the gate receipt.\n */"
3687
+ "summary": "The bridge's `member_message` entry (contract shared with the local-agent family: `ctx.get('room')` + duck-typed call).",
3688
+ "jsDoc": "/**\n * The bridge's `member_message` entry (contract shared with the local-agent\n * family: `ctx.get('room')` + duck-typed call). The call crosses an untyped\n * package boundary, so the message shape is validated at runtime: a\n * malformed message throws (the bridge treats a rejection as \"room does\n * not claim this\" and delivers directly) instead of poisoning the journal.\n * A roster sender (resolved by child session id + provider, never\n * self-reported) goes through {@link messageMember}: delivered at once or\n * held by the room's settings. The receipt tells the model what happened\n * (`sent #m12 …` / `pending-confirm …`). A sender the roster does not know\n * keeps the legacy pending relay.\n * @param request - sender, recipient, content, the shared parent session, provenance, kind.\n * @returns the receipt quoted back to the sending model.\n */"
2230
3689
  },
2231
3690
  {
2232
3691
  "kind": "method",
@@ -2237,31 +3696,45 @@ export const TYPERT = {
2237
3696
  },
2238
3697
  {
2239
3698
  "kind": "method",
2240
- "name": "dismissRelay",
2241
- "signature": "@Remote('dismissRelay') async dismissRelay(request: RoomRelayResolveRequest): Promise<RoomRelayResolveResult>",
2242
- "summary": "Dismiss a pending relay: the notification never reaches anyone.",
2243
- "jsDoc": "/**\n * Dismiss a pending relay: the notification never reaches anyone.\n * @param request - room session, relay id.\n * @returns the resolution receipt, or a rejection.\n */"
3699
+ "name": "releaseReports",
3700
+ "signature": "@Remote('releaseReports') async releaseReports(request: RoomReleaseReportsRequest): Promise<RoomReleaseReportsResult>",
3701
+ "summary": "Hand a member the reports the gate holds for it now (the room's 「现在交给」 button).",
3702
+ "jsDoc": "/**\n * Hand a member the reports the gate holds for it now (the room's\n * 「现在交给」 button).\n * @param request - room session, member name.\n * @returns whether anything was held.\n */"
3703
+ },
3704
+ {
3705
+ "kind": "method",
3706
+ "name": "setSettings",
3707
+ "signature": "@Remote('setSettings') async setSettings(request: RoomSetSettingsRequest): Promise<RoomSetSettingsResult>",
3708
+ "summary": "Change the room's collaboration settings (any subset).",
3709
+ "jsDoc": "/**\n * Change the room's collaboration settings (any subset). Resuming a paused\n * room releases everything the pause held, in order.\n * @param request - room session and the fields to change.\n * @returns the settings after the change, or a rejection.\n */"
3710
+ },
3711
+ {
3712
+ "kind": "method",
3713
+ "name": "linkSession",
3714
+ "signature": "@Remote('linkSession') async linkSession(request: RoomHelpLinkRequest): Promise<RoomHelpLinkResult>",
3715
+ "summary": "Keep an outside session on the member list (「加入房间成员」): only a shortcut for asking it — it stays in its own session, asks still go through room_help, and its usage stays its own.",
3716
+ "jsDoc": "/**\n * Keep an outside session on the member list (「加入房间成员」): only a\n * shortcut for asking it — it stays in its own session, asks still go\n * through room_help, and its usage stays its own.\n * @param request - room session, the outside session and its title.\n * @returns ok, or a rejection.\n */"
2244
3717
  },
2245
3718
  {
2246
3719
  "kind": "method",
2247
- "name": "addTask",
2248
- "signature": "@Remote('addTask') async addTask(request: RoomAddTaskRequest): Promise<RoomAddTaskResult>",
2249
- "summary": "Add a task to a member's board lane (the human's management entry;",
2250
- "jsDoc": "/**\n * Add a task to a member's board lane (the human's management entry; @-\n * dispatches auto-open in_progress tasks, this opens a pending one).\n * `blockedBy` names the member the task waits on (display only — it never\n * dispatches anything); it must resolve against the roster.\n * @param request - room session, member, title, optional blockedBy.\n * @returns the new task's id, or a rejection.\n */"
3720
+ "name": "unlinkSession",
3721
+ "signature": "@Remote('unlinkSession') async unlinkSession(request: RoomHelpLinkRequest): Promise<RoomHelpLinkResult>",
3722
+ "summary": "Take an outside session off the member list (its own session is untouched).",
3723
+ "jsDoc": "/**\n * Take an outside session off the member list (its own session is untouched).\n * @param request - room session, the outside session.\n * @returns ok, or `member-not-found` when it was not on the list.\n */"
2251
3724
  },
2252
3725
  {
2253
3726
  "kind": "method",
2254
- "name": "closeTask",
2255
- "signature": "@Remote('closeTask') async closeTask(request: RoomCloseTaskRequest): Promise<RoomCloseTaskResult>",
2256
- "summary": "Close an open task (done by default, or cancelled).",
2257
- "jsDoc": "/**\n * Close an open task (done by default, or cancelled). A failed task is\n * still open for closing — that is the human's dismiss path after a\n * failed run (the board's [关闭] passes 'cancelled').\n * @param request - room session, task id, optional closing status.\n * @returns the closed task's id, or a rejection.\n */"
3727
+ "name": "dismissHelpNudge",
3728
+ "signature": "@Remote('dismissHelpNudge') async dismissHelpNudge(request: RoomHelpLinkRequest): Promise<RoomHelpLinkResult>",
3729
+ "summary": "Dismiss the 加入房间成员 hint for one outside session (it never shows again).",
3730
+ "jsDoc": "/**\n * Dismiss the 加入房间成员 hint for one outside session (it never shows again).\n * @param request - room session, the outside session.\n * @returns ok.\n */"
2258
3731
  },
2259
3732
  {
2260
3733
  "kind": "method",
2261
- "name": "updateTask",
2262
- "signature": "async updateTask(request: RoomUpdateTaskRequest): Promise<RoomUpdateTaskResult>",
2263
- "summary": "Edit an open task's title and/or blockedBy (the `room_task` tool's update action; journaled as `room/task-edited`, status changes stay on closeTask).",
2264
- "jsDoc": "/**\n * Edit an open task's title and/or blockedBy (the `room_task` tool's update\n * action; journaled as `room/task-edited`, status changes stay on\n * closeTask). Host method only — the capsule UI edits nothing but the goal.\n * `blockedBy: null` clears the wait; a string must resolve against the\n * roster. A closed task takes no edits.\n * @param request - room session, task id, and at least one edited field.\n * @returns the edited task's id, or a rejection.\n */"
3734
+ "name": "dismissRelay",
3735
+ "signature": "@Remote('dismissRelay') async dismissRelay(request: RoomRelayResolveRequest): Promise<RoomRelayResolveResult>",
3736
+ "summary": "Dismiss a pending relay: the notification never reaches anyone.",
3737
+ "jsDoc": "/**\n * Dismiss a pending relay: the notification never reaches anyone.\n * @param request - room session, relay id.\n * @returns the resolution receipt, or a rejection.\n */"
2265
3738
  },
2266
3739
  {
2267
3740
  "kind": "method",
@@ -2290,6 +3763,10 @@ export const TYPERT = {
2290
3763
  "name": "AfterScheduleRecord",
2291
3764
  "declaration": "export interface AfterScheduleRecord {\n readonly id: ScheduleId;\n readonly kind: 'after';\n readonly title: string;\n readonly prompt: string;\n readonly afterSeconds: number;\n readonly scheduledAt: string;\n}"
2292
3765
  },
3766
+ {
3767
+ "name": "Agent",
3768
+ "declaration": "export interface Agent {\n readonly id: SessionId;\n readonly options: AgentOptions;\n readonly session: Session;\n readonly inbox: Inbox;\n readonly status: AgentStatus;\n readonly ctx: Context;\n cancel(cause: AgentCancelCause, options?: CancelOptions): void;\n whenIdle(): Promise<void>;\n runMaintenance<T>(task: (signal: AbortSignal) => Promise<T>): Promise<T>;\n send(message: UserMessage, target: InboxTarget, wakeup: boolean): void;\n followup(message: UserMessage): void;\n steer(message: UserMessage): void;\n inject(message: UserMessage): void;\n}"
3769
+ },
2293
3770
  {
2294
3771
  "name": "AgentCancelCause",
2295
3772
  "declaration": "export type AgentCancelCause = { readonly kind: 'user'; } | { readonly kind: 'parent'; } | { readonly kind: 'hook'; readonly reason: string; } | { readonly kind: 'disposed'; };"
@@ -2298,6 +3775,14 @@ export const TYPERT = {
2298
3775
  "name": "AgentMessageSource",
2299
3776
  "declaration": "export interface AgentMessageSource {\n readonly kind: 'agent-message';\n readonly form: 'relay';\n readonly senderSessionId: SessionId;\n}"
2300
3777
  },
3778
+ {
3779
+ "name": "AgentOptions",
3780
+ "declaration": "export interface AgentOptions {\n provider?: string;\n model?: string;\n reasoningEffort?: ReasoningEffortId;\n maxTokens?: number;\n subagentDepth?: number;\n}"
3781
+ },
3782
+ {
3783
+ "name": "AgentStatus",
3784
+ "declaration": "export type AgentStatus = 'idle' | 'running';"
3785
+ },
2301
3786
  {
2302
3787
  "name": "AllowedModelRoute",
2303
3788
  "declaration": "export interface AllowedModelRoute {\n readonly provider: string;\n readonly model: string;\n}"
@@ -2342,6 +3827,10 @@ export const TYPERT = {
2342
3827
  "name": "BrandedNumber",
2343
3828
  "declaration": "export type BrandedNumber<B extends string> = number & { readonly [BRAND]: B; };"
2344
3829
  },
3830
+ {
3831
+ "name": "CancelOptions",
3832
+ "declaration": "export interface CancelOptions {\n keepInbox?: boolean | undefined;\n}"
3833
+ },
2345
3834
  {
2346
3835
  "name": "CommandId",
2347
3836
  "declaration": "export type CommandId = Branded<'CommandId'>;"
@@ -2392,7 +3881,7 @@ export const TYPERT = {
2392
3881
  },
2393
3882
  {
2394
3883
  "name": "DispatchEngine",
2395
- "declaration": "export class DispatchEngine {\n hasPending(room: Session, memberName: string): boolean;\n dispatch(room: Session, memberName: string, text: string, options: DispatchOptions = {}): void;\n idle(): Promise<void>;\n view(sessionId: string, state: RoomState): RoomState;\n recover(room: Session): Promise<void>;\n}"
3884
+ "declaration": "export class DispatchEngine {\n startingMembers(roomId: string): readonly string[];\n hasPending(room: Session, memberName: string): boolean;\n dispatch(room: Session, memberName: string, text: string, options: DispatchOptions = {}): void;\n idle(): Promise<void>;\n view(sessionId: string, state: RoomState): RoomState;\n recover(room: Session): Promise<void>;\n reportOutcome(room: Session, dispatchSeq: number, deliveryId: string, fromId: string, outcome: string, text: string): Promise<void>;\n markHeldReleased(room: Session, member: RoomMember, seqs: readonly number[]): Promise<void>;\n releaseHeld(room: Session, recipientId: string, reason: string): Promise<boolean>;\n}"
2396
3885
  },
2397
3886
  {
2398
3887
  "name": "DispatchOptions",
@@ -2494,6 +3983,10 @@ export const TYPERT = {
2494
3983
  "name": "ImageOffloadTarget",
2495
3984
  "declaration": "export interface ImageOffloadTarget {\n seq: SessionSeq;\n imageIndexes: number[];\n}"
2496
3985
  },
3986
+ {
3987
+ "name": "Inbox",
3988
+ "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}"
3989
+ },
2497
3990
  {
2498
3991
  "name": "InboxTarget",
2499
3992
  "declaration": "export type InboxTarget = 'next-turn' | 'next-step';"
@@ -2592,7 +4085,7 @@ export const TYPERT = {
2592
4085
  },
2593
4086
  {
2594
4087
  "name": "MemberRoomCommandName",
2595
- "declaration": "export type MemberRoomCommandName = 'room_plan' | 'room_read' | 'room_invite' | 'room_message';"
4088
+ "declaration": "export type MemberRoomCommandName = 'room_plan' | 'room_read' | 'room_invite' | 'room_message' | 'ask_user_question' | 'room_help';"
2596
4089
  },
2597
4090
  {
2598
4091
  "name": "Message",
@@ -2636,7 +4129,7 @@ export const TYPERT = {
2636
4129
  },
2637
4130
  {
2638
4131
  "name": "MessageSourceMap",
2639
- "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'runtime-context': { kind: 'runtime-context'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; principal?: Principal; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'compact-checkpoint': CompactionCheckpointSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'team-message': TeamMessageSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n 'plan-mode': { kind: 'plan-mode'; } & ContextFormed;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n webhook: { readonly kind: 'webhook'; readonly provider: string; readonly source: WebhookSourceId; readonly deliveryId: WebhookDeliveryId; readonly ruleId: WebhookRuleId; readonly form: 'notice'; readonly summary: string; };\n 'message-tools': { kind: 'message-tools'; readonly op?: MessageToolsOp; } & ContextFormed;\n 'dsh-game': { kind: 'dsh-game'; plugin: '@khorsheed/dsh-game'; } & ContextFormed & Partial<GameMessageOp>;\n room: { kind: 'room'; } & ContextFormed;\n sidechat: { kind: 'sidechat'; } & ContextFormed;\n worktrees: { kind: 'worktrees'; } & ContextFormed;\n}"
4132
+ "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'runtime-context': { kind: 'runtime-context'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; principal?: Principal; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'compact-checkpoint': CompactionCheckpointSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'team-message': TeamMessageSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n 'plan-mode': { kind: 'plan-mode'; } & ContextFormed;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n webhook: { readonly kind: 'webhook'; readonly provider: string; readonly source: WebhookSourceId; readonly deliveryId: WebhookDeliveryId; readonly ruleId: WebhookRuleId; readonly form: 'notice'; readonly summary: string; };\n 'message-tools': { kind: 'message-tools'; readonly op?: MessageToolsOp; } & ContextFormed;\n 'dsh-game': { kind: 'dsh-game'; plugin: '@khorsheed/dsh-game'; } & ContextFormed & Partial<GameMessageOp>;\n room: { kind: 'room'; } & ContextFormed;\n 'room-help': { kind: 'room-help'; plugin: '@khorsheed/dsh-room'; help: string; room: string; roomTitle: string; from: string; op: 'request' | 'message'; text: string; } & ContextFormed;\n sidechat: { kind: 'sidechat'; } & ContextFormed;\n worktrees: { kind: 'worktrees'; } & ContextFormed;\n}"
2640
4133
  },
2641
4134
  {
2642
4135
  "name": "MessageToolsOp",
@@ -2731,12 +4224,32 @@ export const TYPERT = {
2731
4224
  "declaration": "export type RetryId = Branded<'RetryId'>;"
2732
4225
  },
2733
4226
  {
2734
- "name": "RoomAddTaskRequest",
2735
- "declaration": "export interface RoomAddTaskRequest {\n readonly sessionId: SessionId;\n readonly member: string;\n readonly title: string;\n readonly blockedBy?: string;\n}"
4227
+ "name": "RoomAnswerApprovalRequest",
4228
+ "declaration": "export interface RoomAnswerApprovalRequest {\n readonly sessionId: SessionId;\n readonly id: string;\n readonly outcome: 'allowed-once' | 'rejected';\n}"
4229
+ },
4230
+ {
4231
+ "name": "RoomAnswerApprovalResult",
4232
+ "declaration": "export type RoomAnswerApprovalResult = { readonly ok: true; } | { readonly ok: false; readonly error: RoomFailure; };"
2736
4233
  },
2737
4234
  {
2738
- "name": "RoomAddTaskResult",
2739
- "declaration": "export type RoomAddTaskResult = { readonly ok: true; readonly value: { readonly id: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
4235
+ "name": "RoomAnswerQuestionRequest",
4236
+ "declaration": "export interface RoomAnswerQuestionRequest {\n readonly sessionId: SessionId;\n readonly id: string;\n readonly answers: readonly RoomQuestionAnswer[];\n}"
4237
+ },
4238
+ {
4239
+ "name": "RoomAnswerQuestionResult",
4240
+ "declaration": "export type RoomAnswerQuestionResult = { readonly ok: true; } | { readonly ok: false; readonly error: RoomFailure; };"
4241
+ },
4242
+ {
4243
+ "name": "RoomApproval",
4244
+ "declaration": "export interface RoomApproval {\n readonly id: string;\n readonly member: string;\n readonly tool: string;\n readonly reason?: string;\n readonly time: number;\n}"
4245
+ },
4246
+ {
4247
+ "name": "RoomApprovalEvent",
4248
+ "declaration": "export interface RoomApprovalEvent {\n readonly id: string;\n readonly member: string;\n readonly memberId: string;\n readonly tool: string;\n readonly reason?: string;\n}"
4249
+ },
4250
+ {
4251
+ "name": "RoomApprovalResolvedEvent",
4252
+ "declaration": "export interface RoomApprovalResolvedEvent {\n readonly id: string;\n readonly outcome: 'allowed-once' | 'rejected' | 'cancelled';\n}"
2740
4253
  },
2741
4254
  {
2742
4255
  "name": "RoomCancellation",
@@ -2750,14 +4263,6 @@ export const TYPERT = {
2750
4263
  "name": "RoomCancelResult",
2751
4264
  "declaration": "export type RoomCancelResult = { readonly ok: true; readonly value: RoomCancellation; } | { readonly ok: false; readonly error: RoomFailure; };"
2752
4265
  },
2753
- {
2754
- "name": "RoomCloseTaskRequest",
2755
- "declaration": "export interface RoomCloseTaskRequest {\n readonly sessionId: SessionId;\n readonly taskId: string;\n readonly status?: 'done' | 'cancelled';\n}"
2756
- },
2757
- {
2758
- "name": "RoomCloseTaskResult",
2759
- "declaration": "export type RoomCloseTaskResult = { readonly ok: true; readonly value: { readonly id: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
2760
- },
2761
4266
  {
2762
4267
  "name": "RoomCoordinatorEvent",
2763
4268
  "declaration": "export interface RoomCoordinatorEvent {\n readonly version: 1;\n readonly memberId: string;\n readonly revision: number;\n readonly previousMemberId: string;\n readonly handoff: string;\n}"
@@ -2766,9 +4271,21 @@ export const TYPERT = {
2766
4271
  "name": "RoomCreatedEvent",
2767
4272
  "declaration": "export interface RoomCreatedEvent {\n readonly version: 1;\n}"
2768
4273
  },
4274
+ {
4275
+ "name": "RoomDecisionCall",
4276
+ "declaration": "export interface RoomDecisionCall {\n readonly model: string;\n readonly latencyMs?: number;\n readonly cached?: boolean;\n readonly inputTokens?: number;\n readonly outputTokens?: number;\n readonly request: { readonly state: RoomJsonValue; readonly questions: RoomJsonValue; };\n readonly response?: RoomJsonValue;\n readonly failure?: { readonly reason: string; readonly detail?: string; };\n}"
4277
+ },
4278
+ {
4279
+ "name": "RoomDecisionEvent",
4280
+ "declaration": "export interface RoomDecisionEvent {\n readonly id: string;\n readonly scenario: RoomDecisionScenario;\n readonly outcome: string;\n readonly rule?: string;\n readonly probability?: number;\n readonly call?: RoomDecisionCall;\n readonly about: { readonly message?: string; readonly task?: { readonly number: number; readonly title: string; }; readonly from?: string; readonly to?: string; };\n}"
4281
+ },
4282
+ {
4283
+ "name": "RoomDecisionScenario",
4284
+ "declaration": "export type RoomDecisionScenario = 'task-filing' | 'report-timing';"
4285
+ },
2769
4286
  {
2770
4287
  "name": "RoomDelivery",
2771
- "declaration": "export interface RoomDelivery {\n readonly id: string;\n readonly dispatchSeq: number;\n readonly memberId: string;\n readonly status: 'queued' | RoomDeliveryStateEvent['state'];\n readonly origin: NonNullable<RoomDispatchEvent['origin']>;\n readonly text: string;\n readonly error?: string;\n readonly plan?: RoomDispatchEvent['plan'];\n}"
4288
+ "declaration": "export interface RoomDelivery {\n readonly id: string;\n readonly dispatchSeq: number;\n readonly memberId: string;\n readonly status: 'queued' | 'held' | RoomDeliveryStateEvent['state'];\n readonly origin: NonNullable<RoomDispatchEvent['origin']>;\n readonly replyTo?: string;\n readonly from?: string;\n readonly kind?: 'task' | 'notify';\n readonly text: string;\n readonly error?: string;\n readonly plan?: RoomDispatchEvent['plan'];\n readonly task?: string;\n readonly parent?: string;\n readonly queuedAt: number;\n readonly startedAt?: number;\n readonly endedAt?: number;\n readonly heldAt?: number;\n readonly releasedAt?: number;\n}"
2772
4289
  },
2773
4290
  {
2774
4291
  "name": "RoomDeliveryStateEvent",
@@ -2776,19 +4293,19 @@ export const TYPERT = {
2776
4293
  },
2777
4294
  {
2778
4295
  "name": "RoomDispatchEvent",
2779
- "declaration": "export interface RoomDispatchEvent {\n readonly plan?: { readonly goalId: string; readonly taskId?: string; readonly attemptId?: string; };\n readonly requestSignature?: string;\n readonly id?: string;\n readonly targetIds?: readonly string[];\n readonly origin?: 'human' | 'coordinator' | 'report' | 'relay';\n readonly replyTo?: string;\n readonly reportFor?: string;\n readonly targets: readonly string[];\n readonly text: string;\n}"
4296
+ "declaration": "export interface RoomDispatchEvent {\n readonly plan?: { readonly goalId: string; readonly taskId?: string; readonly attemptId?: string; };\n readonly requestSignature?: string;\n readonly id?: string;\n readonly targetIds?: readonly string[];\n readonly origin?: 'human' | 'coordinator' | 'member' | 'report' | 'relay' | 'help';\n readonly help?: RoomHelpOrigin;\n readonly from?: string;\n readonly kind?: 'task' | 'notify';\n readonly hop?: number;\n readonly inReplyTo?: number;\n readonly note?: string;\n readonly held?: true;\n readonly releases?: readonly number[];\n readonly task?: string;\n readonly parent?: string;\n readonly replyTo?: string;\n readonly reportFor?: string;\n readonly targets: readonly string[];\n readonly text: string;\n}"
2780
4297
  },
2781
4298
  {
2782
4299
  "name": "RoomExecution",
2783
- "declaration": "export interface RoomExecution extends RoomMemberRun {\n readonly id: string;\n readonly memberId?: string;\n readonly childSessionId?: SessionId;\n readonly provider?: string;\n readonly model?: string;\n readonly effort?: string;\n readonly tokens?: number;\n}"
4300
+ "declaration": "export interface RoomExecution extends RoomMemberRun {\n readonly id: string;\n readonly memberId?: string;\n readonly childSessionId?: SessionId;\n readonly childTurn?: number;\n readonly provider?: string;\n readonly model?: string;\n readonly effort?: string;\n readonly tokens?: number;\n readonly usage?: RoomRunUsage;\n}"
2784
4301
  },
2785
4302
  {
2786
4303
  "name": "RoomExecutionMetadataEvent",
2787
- "declaration": "export interface RoomExecutionMetadataEvent {\n readonly runId: string;\n readonly model?: string;\n readonly effort?: string;\n readonly tokens?: number;\n}"
4304
+ "declaration": "export interface RoomExecutionMetadataEvent {\n readonly runId: string;\n readonly model?: string;\n readonly effort?: string;\n readonly tokens?: number;\n readonly usage?: RoomRunUsage;\n}"
2788
4305
  },
2789
4306
  {
2790
4307
  "name": "RoomFailure",
2791
- "declaration": "export type RoomFailure = { readonly code: 'request-conflict'; } | { readonly code: 'member-cwd-bound'; } | { readonly code: 'not-coordinator'; } | { readonly code: 'delivery-not-uncertain'; } | { readonly code: 'plan-reconciliation-required'; } | { readonly code: 'coordinator-busy'; } | { readonly code: 'coordinator-not-ready'; readonly message: string; } | { readonly code: 'coordinator-conflict'; } | { readonly code: 'active-coordinator'; } | { readonly code: 'configuration-owned-by-core'; } | { readonly code: 'session-not-found'; } | { readonly code: 'not-a-room'; } | { readonly code: 'invalid-name'; } | { readonly code: 'duplicate-name'; } | { readonly code: 'empty-provider'; } | { readonly code: 'member-not-found'; } | { readonly code: 'empty-text'; } | { readonly code: 'nothing-to-update'; } | { readonly code: 'local-agent-unavailable'; } | { readonly code: 'unknown-provider'; readonly provider: string; readonly available: readonly string[]; } | { readonly code: 'unknown-targets'; readonly names: readonly string[]; } | { readonly code: 'no-targets'; } | { readonly code: 'relay-not-found'; } | { readonly code: 'relay-not-pending'; } | { readonly code: 'main-member'; } | { readonly code: 'task-not-found'; } | { readonly code: 'task-closed'; } | { readonly code: 'resume-failed'; readonly message: string; };"
4308
+ "declaration": "export type RoomFailure = { readonly code: 'request-conflict'; } | { readonly code: 'member-cwd-bound'; } | { readonly code: 'not-coordinator'; } | { readonly code: 'delivery-not-uncertain'; } | { readonly code: 'plan-reconciliation-required'; } | { readonly code: 'coordinator-busy'; } | { readonly code: 'coordinator-not-ready'; readonly message: string; } | { readonly code: 'coordinator-conflict'; } | { readonly code: 'active-coordinator'; } | { readonly code: 'configuration-owned-by-core'; } | { readonly code: 'session-not-found'; } | { readonly code: 'not-a-room'; } | { readonly code: 'invalid-name'; } | { readonly code: 'duplicate-name'; } | { readonly code: 'empty-provider'; } | { readonly code: 'member-not-found'; } | { readonly code: 'empty-text'; } | { readonly code: 'role-too-long'; } | { readonly code: 'invalid-settings'; } | { readonly code: 'self-message'; } | { readonly code: 'unknown-task'; } | { readonly code: 'unknown-preset'; readonly preset: string; readonly available: readonly string[]; } | { readonly code: 'nothing-to-update'; } | { readonly code: 'local-agent-unavailable'; } | { readonly code: 'unknown-provider'; readonly provider: string; readonly available: readonly string[]; } | { readonly code: 'unknown-targets'; readonly names: readonly string[]; } | { readonly code: 'no-targets'; } | { readonly code: 'relay-not-found'; } | { readonly code: 'relay-not-pending'; } | { readonly code: 'approval-not-pending'; } | { readonly code: 'question-not-pending'; } | { readonly code: 'main-member'; } | { readonly code: 'task-not-found'; } | { readonly code: 'task-closed'; } | { readonly code: 'resume-failed'; readonly message: string; };"
2792
4309
  },
2793
4310
  {
2794
4311
  "name": "RoomGetStateRequest",
@@ -2802,13 +4319,57 @@ export const TYPERT = {
2802
4319
  "name": "RoomGoalEvent",
2803
4320
  "declaration": "export interface RoomGoalEvent {\n readonly text: string;\n}"
2804
4321
  },
4322
+ {
4323
+ "name": "RoomHeldDispatch",
4324
+ "declaration": "export interface RoomHeldDispatch {\n readonly origin: 'coordinator' | 'member' | 'report' | 'help';\n readonly help?: RoomHelpOrigin;\n readonly from?: string;\n readonly kind?: 'task' | 'notify';\n readonly hop: number;\n readonly inReplyTo?: number;\n readonly replyTo?: string;\n readonly reportFor?: string;\n readonly plan?: { readonly goalId: string; };\n readonly note?: string;\n readonly task?: string;\n readonly parent?: string;\n}"
4325
+ },
4326
+ {
4327
+ "name": "RoomHelp",
4328
+ "declaration": "export interface RoomHelp extends RoomHelpEvent {\n readonly state: RoomHelpStatus;\n readonly since: number;\n readonly error?: string;\n readonly messages: readonly (RoomHelpMessageEvent & { readonly time: number; })[];\n readonly time: number;\n}"
4329
+ },
4330
+ {
4331
+ "name": "RoomHelpEvent",
4332
+ "declaration": "export interface RoomHelpEvent {\n readonly id: string;\n readonly from: string;\n readonly fromName: string;\n readonly target: { readonly sessionId: string; readonly title: string; readonly room?: true; readonly member?: string; };\n readonly text: string;\n}"
4333
+ },
4334
+ {
4335
+ "name": "RoomHelpInEvent",
4336
+ "declaration": "export interface RoomHelpInEvent extends RoomHelpOrigin {\n readonly member: string;\n readonly text: string;\n readonly op: 'request' | 'message';\n readonly held?: true;\n}"
4337
+ },
4338
+ {
4339
+ "name": "RoomHelpLinkRequest",
4340
+ "declaration": "export interface RoomHelpLinkRequest {\n readonly sessionId: SessionId;\n readonly target: string;\n readonly title?: string;\n}"
4341
+ },
4342
+ {
4343
+ "name": "RoomHelpLinkResult",
4344
+ "declaration": "export type RoomHelpLinkResult = { readonly ok: true; } | { readonly ok: false; readonly error: RoomFailure; };"
4345
+ },
4346
+ {
4347
+ "name": "RoomHelpMessageEvent",
4348
+ "declaration": "export interface RoomHelpMessageEvent {\n readonly help: string;\n readonly kind: 'question' | 'reply' | 'message';\n readonly text: string;\n readonly handoff?: string;\n readonly fallback?: true;\n}"
4349
+ },
4350
+ {
4351
+ "name": "RoomHelpOrigin",
4352
+ "declaration": "export interface RoomHelpOrigin {\n readonly id: string;\n readonly room: string;\n readonly roomTitle: string;\n readonly from: string;\n}"
4353
+ },
4354
+ {
4355
+ "name": "RoomHelpStateEvent",
4356
+ "declaration": "export interface RoomHelpStateEvent {\n readonly help: string;\n readonly state: RoomHelpStatus;\n readonly error?: string;\n}"
4357
+ },
4358
+ {
4359
+ "name": "RoomHelpStatus",
4360
+ "declaration": "export type RoomHelpStatus = 'queued' | 'running' | 'asking' | 'replied' | 'failed';"
4361
+ },
4362
+ {
4363
+ "name": "RoomHoldReason",
4364
+ "declaration": "export type RoomHoldReason = 'confirm' | 'hop-limit' | 'paused';"
4365
+ },
2805
4366
  {
2806
4367
  "name": "RoomInvitation",
2807
- "declaration": "export interface RoomInvitation {\n readonly name: string;\n readonly pendingFirstTask: boolean;\n}"
4368
+ "declaration": "export interface RoomInvitation {\n readonly name: string;\n readonly pendingFirstTask: boolean;\n readonly preset?: string;\n}"
2808
4369
  },
2809
4370
  {
2810
4371
  "name": "RoomInviteRequest",
2811
- "declaration": "export interface RoomInviteRequest {\n readonly sessionId: SessionId;\n readonly provider: string;\n readonly name: string;\n readonly instructions?: string;\n readonly cwd?: string;\n readonly firstTask?: string;\n readonly model?: string;\n}"
4372
+ "declaration": "export interface RoomInviteRequest {\n readonly sessionId: SessionId;\n readonly kind?: 'cli' | 'native';\n readonly preset?: string;\n readonly inheritPreset?: boolean;\n readonly provider: string;\n readonly name: string;\n readonly instructions?: string;\n readonly role?: string;\n readonly cwd?: string;\n readonly firstTask?: string;\n readonly note?: string;\n readonly model?: string;\n readonly effort?: string;\n}"
2812
4373
  },
2813
4374
  {
2814
4375
  "name": "RoomInviteResult",
@@ -2818,13 +4379,25 @@ export const TYPERT = {
2818
4379
  "name": "RoomIsRoomRequest",
2819
4380
  "declaration": "export interface RoomIsRoomRequest {\n readonly sessionId: SessionId;\n}"
2820
4381
  },
4382
+ {
4383
+ "name": "RoomJob",
4384
+ "declaration": "export interface RoomJob {\n readonly id: string;\n readonly number: number;\n readonly title: string;\n readonly messages: readonly { readonly id: string; readonly time: number; readonly text: string; readonly by?: RoomTaskLinkEvent['by']; readonly probability?: number; }[];\n readonly status: 'running' | 'attention' | 'done' | 'stopped';\n readonly startedAt: number;\n readonly endedAt?: number;\n readonly deliveries: readonly string[];\n readonly members: readonly string[];\n readonly goalId?: string;\n}"
4385
+ },
4386
+ {
4387
+ "name": "RoomJobStoppedEvent",
4388
+ "declaration": "export interface RoomJobStoppedEvent {\n readonly task: string;\n}"
4389
+ },
2821
4390
  {
2822
4391
  "name": "RoomJsonValue",
2823
4392
  "declaration": "export type RoomJsonValue = null | boolean | number | string | RoomJsonValue[] | { [key: string]: RoomJsonValue; };"
2824
4393
  },
4394
+ {
4395
+ "name": "RoomLinkedSession",
4396
+ "declaration": "export interface RoomLinkedSession {\n readonly sessionId: string;\n readonly title: string;\n readonly time: number;\n}"
4397
+ },
2825
4398
  {
2826
4399
  "name": "RoomListProvidersRequest",
2827
- "declaration": "export interface RoomListProvidersRequest {\n}"
4400
+ "declaration": "export interface RoomListProvidersRequest {\n readonly sessionId?: SessionId;\n}"
2828
4401
  },
2829
4402
  {
2830
4403
  "name": "RoomLoad",
@@ -2832,19 +4405,19 @@ export const TYPERT = {
2832
4405
  },
2833
4406
  {
2834
4407
  "name": "RoomMember",
2835
- "declaration": "export interface RoomMember {\n readonly id?: string;\n readonly name: string;\n readonly kind: 'main-agent' | 'cli';\n readonly provider?: string;\n readonly instructions?: string;\n readonly invitedBy: 'human' | 'agent';\n readonly cwd?: string;\n readonly model?: string;\n readonly childSessionId?: SessionId;\n}"
4408
+ "declaration": "export interface RoomMember {\n readonly id?: string;\n readonly name: string;\n readonly kind: 'main-agent' | 'cli' | 'native';\n readonly provider?: string;\n readonly instructions?: string;\n readonly role?: string;\n readonly preset?: string;\n readonly invitedBy: 'human' | 'agent';\n readonly cwd?: string;\n readonly model?: string;\n readonly effort?: string;\n readonly childSessionId?: SessionId;\n}"
2836
4409
  },
2837
4410
  {
2838
4411
  "name": "RoomMemberAddedEvent",
2839
- "declaration": "export interface RoomMemberAddedEvent {\n readonly id?: string;\n readonly name: string;\n readonly kind: 'main-agent' | 'cli';\n readonly provider?: string;\n readonly instructions?: string;\n readonly invitedBy: 'human' | 'agent';\n readonly cwd?: string;\n readonly model?: string;\n readonly childSessionId?: SessionId;\n}"
4412
+ "declaration": "export interface RoomMemberAddedEvent {\n readonly id?: string;\n readonly name: string;\n readonly kind: 'main-agent' | 'cli' | 'native';\n readonly provider?: string;\n readonly preset?: string;\n readonly instructions?: string;\n readonly role?: string;\n readonly invitedBy: 'human' | 'agent';\n readonly cwd?: string;\n readonly model?: string;\n readonly effort?: string;\n readonly childSessionId?: SessionId;\n}"
2840
4413
  },
2841
4414
  {
2842
4415
  "name": "RoomMemberMessage",
2843
- "declaration": "export interface RoomMemberMessage {\n readonly from: string;\n readonly to: string;\n readonly content: string;\n readonly parentSessionId: SessionId;\n readonly provenance?: Record<string, RoomJsonValue>;\n}"
4416
+ "declaration": "export interface RoomMemberMessage {\n readonly from: string;\n readonly to: string;\n readonly content: string;\n readonly parentSessionId: SessionId;\n readonly provenance?: Record<string, RoomJsonValue>;\n readonly kind?: 'task' | 'notify';\n readonly inReplyTo?: string;\n readonly note?: string;\n readonly task?: string;\n}"
2844
4417
  },
2845
4418
  {
2846
4419
  "name": "RoomMemberMessageReceipt",
2847
- "declaration": "export type RoomMemberMessageReceipt = 'sent' | 'pending-confirm' | 'busy';"
4420
+ "declaration": "export type RoomMemberMessageReceipt = 'sent' | 'pending-confirm' | 'busy' | `sent ${string}` | `pending-confirm ${string}`;"
2848
4421
  },
2849
4422
  {
2850
4423
  "name": "RoomMemberRemovedEvent",
@@ -2856,15 +4429,19 @@ export const TYPERT = {
2856
4429
  },
2857
4430
  {
2858
4431
  "name": "RoomMemberUpdatedEvent",
2859
- "declaration": "export interface RoomMemberUpdatedEvent {\n readonly name: string;\n readonly rename?: string;\n readonly instructions?: string | null;\n readonly cwd?: string | null;\n readonly model?: string | null;\n readonly childSessionId?: SessionId;\n}"
4432
+ "declaration": "export interface RoomMemberUpdatedEvent {\n readonly name: string;\n readonly rename?: string;\n readonly instructions?: string | null;\n readonly role?: string | null;\n readonly cwd?: string | null;\n readonly model?: string | null;\n readonly effort?: string | null;\n readonly childSessionId?: SessionId;\n}"
4433
+ },
4434
+ {
4435
+ "name": "RoomMessageReceipt",
4436
+ "declaration": "export interface RoomMessageReceipt {\n readonly member: string;\n readonly messageId?: string;\n readonly held?: RoomHoldReason;\n}"
2860
4437
  },
2861
4438
  {
2862
4439
  "name": "RoomMessageRequest",
2863
- "declaration": "export interface RoomMessageRequest {\n readonly sessionId: SessionId;\n readonly member: string;\n readonly text: string;\n}"
4440
+ "declaration": "export interface RoomMessageRequest {\n readonly sessionId: SessionId;\n readonly member: string;\n readonly text: string;\n readonly kind?: 'task' | 'notify';\n readonly inReplyTo?: string;\n readonly note?: string;\n readonly task?: string;\n}"
2864
4441
  },
2865
4442
  {
2866
4443
  "name": "RoomMessageResult",
2867
- "declaration": "export type RoomMessageResult = { readonly ok: true; readonly value: { readonly member: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
4444
+ "declaration": "export type RoomMessageResult = { readonly ok: true; readonly value: RoomMessageReceipt; } | { readonly ok: false; readonly error: RoomFailure; };"
2868
4445
  },
2869
4446
  {
2870
4447
  "name": "RoomPlan",
@@ -2872,7 +4449,7 @@ export const TYPERT = {
2872
4449
  },
2873
4450
  {
2874
4451
  "name": "RoomPostMessageRequest",
2875
- "declaration": "export interface RoomPostMessageRequest {\n readonly requestId?: string;\n readonly sessionId: SessionId;\n readonly text: string;\n readonly targets?: readonly string[];\n}"
4452
+ "declaration": "export interface RoomPostMessageRequest {\n readonly requestId?: string;\n readonly sessionId: SessionId;\n readonly text: string;\n readonly targets?: readonly string[];\n readonly task?: string;\n}"
2876
4453
  },
2877
4454
  {
2878
4455
  "name": "RoomPostMessageResult",
@@ -2894,13 +4471,41 @@ export const TYPERT = {
2894
4471
  "name": "RoomPrepareMemberResult",
2895
4472
  "declaration": "export type RoomPrepareMemberResult = { readonly ok: true; readonly value: { readonly childSessionId: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
2896
4473
  },
4474
+ {
4475
+ "name": "RoomPresetInfo",
4476
+ "declaration": "export interface RoomPresetInfo {\n readonly id: string;\n readonly name?: string;\n readonly description?: string;\n readonly isDefault: boolean;\n readonly broken?: string;\n}"
4477
+ },
2897
4478
  {
2898
4479
  "name": "RoomProviderInfo",
2899
4480
  "declaration": "export interface RoomProviderInfo {\n readonly provider: string;\n readonly displayName: string;\n readonly harness?: string;\n readonly authenticated: boolean;\n}"
2900
4481
  },
2901
4482
  {
2902
4483
  "name": "RoomProviderList",
2903
- "declaration": "export interface RoomProviderList {\n readonly localAgentAvailable: boolean;\n readonly providers: readonly RoomProviderInfo[];\n}"
4484
+ "declaration": "export interface RoomProviderList {\n readonly localAgentAvailable: boolean;\n readonly providers: readonly RoomProviderInfo[];\n readonly presets?: readonly RoomPresetInfo[];\n readonly sessionPreset?: string;\n}"
4485
+ },
4486
+ {
4487
+ "name": "RoomQuestion",
4488
+ "declaration": "export interface RoomQuestion {\n readonly id: string;\n readonly member: string;\n readonly questions: readonly RoomQuestionItem[];\n readonly time: number;\n}"
4489
+ },
4490
+ {
4491
+ "name": "RoomQuestionAnswer",
4492
+ "declaration": "export interface RoomQuestionAnswer {\n readonly id: string;\n readonly selected: readonly string[];\n readonly custom?: string;\n}"
4493
+ },
4494
+ {
4495
+ "name": "RoomQuestionEvent",
4496
+ "declaration": "export interface RoomQuestionEvent {\n readonly id: string;\n readonly member: string;\n readonly memberId: string;\n readonly questions: readonly RoomQuestionItem[];\n}"
4497
+ },
4498
+ {
4499
+ "name": "RoomQuestionItem",
4500
+ "declaration": "export interface RoomQuestionItem {\n readonly id: string;\n readonly question: string;\n readonly header?: string;\n readonly options?: readonly RoomQuestionOption[];\n readonly multiSelect?: boolean;\n}"
4501
+ },
4502
+ {
4503
+ "name": "RoomQuestionOption",
4504
+ "declaration": "export interface RoomQuestionOption {\n readonly label: string;\n readonly description?: string;\n}"
4505
+ },
4506
+ {
4507
+ "name": "RoomQuestionResolvedEvent",
4508
+ "declaration": "export interface RoomQuestionResolvedEvent {\n readonly id: string;\n readonly outcome: 'answered' | 'cancelled';\n readonly answers?: readonly RoomQuestionAnswer[];\n}"
2904
4509
  },
2905
4510
  {
2906
4511
  "name": "RoomReconcileDeliveryRequest",
@@ -2912,11 +4517,11 @@ export const TYPERT = {
2912
4517
  },
2913
4518
  {
2914
4519
  "name": "RoomRelay",
2915
- "declaration": "export interface RoomRelay {\n readonly id: string;\n readonly from: string;\n readonly to: string;\n readonly content: string;\n readonly provenance?: Record<string, RoomJsonValue>;\n readonly state: RoomRelayState;\n}"
4520
+ "declaration": "export interface RoomRelay {\n readonly id: string;\n readonly from: string;\n readonly to: string;\n readonly content: string;\n readonly provenance?: Record<string, RoomJsonValue>;\n readonly state: RoomRelayState;\n readonly reason?: RoomHoldReason;\n readonly intent?: RoomHeldDispatch;\n}"
2916
4521
  },
2917
4522
  {
2918
4523
  "name": "RoomRelayEvent",
2919
- "declaration": "export interface RoomRelayEvent {\n readonly id: string;\n readonly from: string;\n readonly to: string;\n readonly content: string;\n readonly provenance?: Record<string, RoomJsonValue>;\n}"
4524
+ "declaration": "export interface RoomRelayEvent {\n readonly id: string;\n readonly from: string;\n readonly to: string;\n readonly content: string;\n readonly provenance?: Record<string, RoomJsonValue>;\n readonly reason?: RoomHoldReason;\n readonly intent?: RoomHeldDispatch;\n}"
2920
4525
  },
2921
4526
  {
2922
4527
  "name": "RoomRelayResolvedEvent",
@@ -2934,17 +4539,45 @@ export const TYPERT = {
2934
4539
  "name": "RoomRelayState",
2935
4540
  "declaration": "export type RoomRelayState = 'pending' | 'confirmed' | 'dismissed' | 'sent';"
2936
4541
  },
4542
+ {
4543
+ "name": "RoomReleaseReportsRequest",
4544
+ "declaration": "export interface RoomReleaseReportsRequest {\n readonly sessionId: SessionId;\n readonly name: string;\n}"
4545
+ },
4546
+ {
4547
+ "name": "RoomReleaseReportsResult",
4548
+ "declaration": "export type RoomReleaseReportsResult = { readonly ok: true; readonly value: { readonly released: boolean; }; } | { readonly ok: false; readonly error: RoomFailure; };"
4549
+ },
4550
+ {
4551
+ "name": "RoomRemoval",
4552
+ "declaration": "export interface RoomRemoval {\n readonly name: string;\n readonly stopped: boolean;\n readonly cancelledDeliveries: number;\n readonly notified: readonly string[];\n}"
4553
+ },
2937
4554
  {
2938
4555
  "name": "RoomRemoveMemberRequest",
2939
4556
  "declaration": "export interface RoomRemoveMemberRequest {\n readonly sessionId: SessionId;\n readonly name: string;\n}"
2940
4557
  },
2941
4558
  {
2942
4559
  "name": "RoomRemoveMemberResult",
2943
- "declaration": "export type RoomRemoveMemberResult = { readonly ok: true; readonly value: { readonly name: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
4560
+ "declaration": "export type RoomRemoveMemberResult = { readonly ok: true; readonly value: RoomRemoval; } | { readonly ok: false; readonly error: RoomFailure; };"
4561
+ },
4562
+ {
4563
+ "name": "RoomReportGateEvent",
4564
+ "declaration": "export interface RoomReportGateEvent {\n readonly dispatchSeq: number;\n readonly memberId: string;\n readonly member: string;\n readonly verdict: 'deliver' | 'hold' | 'release';\n readonly reason: string;\n readonly probability?: number;\n}"
4565
+ },
4566
+ {
4567
+ "name": "RoomRestoreMemberRequest",
4568
+ "declaration": "export interface RoomRestoreMemberRequest {\n readonly sessionId: SessionId;\n readonly name: string;\n}"
4569
+ },
4570
+ {
4571
+ "name": "RoomRestoreMemberResult",
4572
+ "declaration": "export type RoomRestoreMemberResult = { readonly ok: true; readonly value: { readonly name: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
2944
4573
  },
2945
4574
  {
2946
4575
  "name": "RoomRunStateEvent",
2947
- "declaration": "export interface RoomRunStateEvent {\n readonly childSessionId?: SessionId;\n readonly model?: string;\n readonly effort?: string;\n readonly tokens?: number;\n readonly runId?: string;\n readonly member: string;\n readonly state: 'running' | 'done' | 'cancelled' | 'failed';\n readonly startedAt: number;\n readonly elapsedMs?: number;\n readonly error?: string;\n}"
4576
+ "declaration": "export interface RoomRunStateEvent {\n readonly childSessionId?: SessionId;\n readonly childTurn?: number;\n readonly model?: string;\n readonly effort?: string;\n readonly tokens?: number;\n readonly runId?: string;\n readonly member: string;\n readonly state: 'running' | 'done' | 'cancelled' | 'failed';\n readonly startedAt: number;\n readonly elapsedMs?: number;\n readonly error?: string;\n}"
4577
+ },
4578
+ {
4579
+ "name": "RoomRunUsage",
4580
+ "declaration": "export interface RoomRunUsage {\n readonly inputTokens: number;\n readonly outputTokens: number;\n readonly cacheReadTokens?: number;\n readonly cacheWriteTokens?: number;\n readonly reasoningTokens?: number;\n}"
2948
4581
  },
2949
4582
  {
2950
4583
  "name": "RoomSetCoordinatorRequest",
@@ -2962,13 +4595,41 @@ export const TYPERT = {
2962
4595
  "name": "RoomSetGoalResult",
2963
4596
  "declaration": "export type RoomSetGoalResult = { readonly ok: true; readonly value: { readonly goal?: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
2964
4597
  },
4598
+ {
4599
+ "name": "RoomSetSettingsRequest",
4600
+ "declaration": "export interface RoomSetSettingsRequest {\n readonly sessionId: SessionId;\n readonly reportTiming?: 'judge' | 'each';\n readonly autoTaskFiling?: boolean;\n readonly reportThreshold?: number;\n readonly reportWaitMinutes?: number;\n readonly helpReminderMinutes?: number;\n readonly memberMessages?: 'free' | 'confirm';\n readonly hopLimit?: number;\n readonly paused?: boolean;\n}"
4601
+ },
4602
+ {
4603
+ "name": "RoomSetSettingsResult",
4604
+ "declaration": "export type RoomSetSettingsResult = { readonly ok: true; readonly value: RoomSettings; } | { readonly ok: false; readonly error: RoomFailure; };"
4605
+ },
4606
+ {
4607
+ "name": "RoomSetTaskHintRequest",
4608
+ "declaration": "export interface RoomSetTaskHintRequest {\n readonly sessionId: SessionId;\n readonly task: string | null;\n}"
4609
+ },
4610
+ {
4611
+ "name": "RoomSettings",
4612
+ "declaration": "export interface RoomSettings {\n readonly memberMessages: 'free' | 'confirm';\n readonly hopLimit: number;\n readonly paused: boolean;\n readonly reportTiming: 'judge' | 'each';\n readonly autoTaskFiling: boolean;\n readonly reportThreshold: number;\n readonly reportWaitMinutes: number;\n readonly helpReminderMinutes: number;\n}"
4613
+ },
4614
+ {
4615
+ "name": "RoomSettingsEvent",
4616
+ "declaration": "export interface RoomSettingsEvent {\n readonly memberMessages?: 'free' | 'confirm';\n readonly hopLimit?: number;\n readonly paused?: boolean;\n readonly reportTiming?: 'judge' | 'each';\n readonly autoTaskFiling?: boolean;\n readonly reportThreshold?: number;\n readonly reportWaitMinutes?: number;\n readonly helpReminderMinutes?: number;\n}"
4617
+ },
2965
4618
  {
2966
4619
  "name": "RoomSpeechEvent",
2967
- "declaration": "export interface RoomSpeechEvent {\n readonly interrupted?: 'cancelled' | 'failed';\n readonly member: string;\n readonly text: string;\n readonly childSessionId?: SessionId;\n readonly durationMs?: number;\n}"
4620
+ "declaration": "export interface RoomSpeechEvent {\n readonly interrupted?: 'cancelled' | 'failed';\n readonly reportedTo?: string;\n readonly member: string;\n readonly text: string;\n readonly childSessionId?: SessionId;\n readonly durationMs?: number;\n readonly runId?: string;\n readonly messageId?: string;\n}"
2968
4621
  },
2969
4622
  {
2970
4623
  "name": "RoomState",
2971
- "declaration": "export interface RoomState {\n readonly executions?: readonly RoomExecution[];\n readonly plan?: Omit<RoomPlan, 'requests'>;\n readonly deliveries?: readonly RoomDelivery[];\n readonly coordinator?: RoomCoordinatorEvent;\n readonly members: readonly RoomMember[];\n readonly relays: readonly RoomRelay[];\n readonly tasks: readonly RoomTask[];\n readonly runs: readonly RoomMemberRun[];\n readonly goal?: string;\n}"
4624
+ "declaration": "export interface RoomState {\n readonly executions?: readonly RoomExecution[];\n readonly plan?: Omit<RoomPlan, 'requests'>;\n readonly deliveries?: readonly RoomDelivery[];\n readonly coordinator?: RoomCoordinatorEvent;\n readonly members: readonly RoomMember[];\n readonly relays: readonly RoomRelay[];\n readonly approvals?: readonly RoomApproval[];\n readonly questions?: readonly RoomQuestion[];\n readonly tasks: readonly RoomTask[];\n readonly runs: readonly RoomMemberRun[];\n readonly goal?: string;\n readonly latestReplySeq?: number;\n readonly latestSpeechSeq?: number;\n readonly settings?: RoomSettings;\n readonly jobs?: readonly RoomJob[];\n readonly helps?: readonly RoomHelp[];\n readonly linked?: readonly RoomLinkedSession[];\n readonly helpNudgesDismissed?: readonly string[];\n}"
4625
+ },
4626
+ {
4627
+ "name": "RoomStopJobRequest",
4628
+ "declaration": "export interface RoomStopJobRequest {\n readonly sessionId: SessionId;\n readonly task: string;\n}"
4629
+ },
4630
+ {
4631
+ "name": "RoomStopJobResult",
4632
+ "declaration": "export type RoomStopJobResult = { readonly ok: true; readonly value: { readonly stopped: number; }; } | { readonly ok: false; readonly error: RoomFailure; };"
2972
4633
  },
2973
4634
  {
2974
4635
  "name": "RoomTask",
@@ -2980,7 +4641,11 @@ export const TYPERT = {
2980
4641
  },
2981
4642
  {
2982
4643
  "name": "RoomTaskEditedEvent",
2983
- "declaration": "export interface RoomTaskEditedEvent {\n readonly id: string;\n readonly title?: string;\n readonly blockedBy?: string | null;\n}"
4644
+ "declaration": "export interface RoomTaskEditedEvent {\n readonly id: string;\n readonly title?: string;\n readonly blockedBy?: string | null;\n readonly member?: string;\n}"
4645
+ },
4646
+ {
4647
+ "name": "RoomTaskLinkEvent",
4648
+ "declaration": "export interface RoomTaskLinkEvent {\n readonly message: string;\n readonly task: string;\n readonly by: 'human' | 'coordinator' | 'model';\n readonly probability?: number;\n}"
2984
4649
  },
2985
4650
  {
2986
4651
  "name": "RoomTaskStatus",
@@ -2992,20 +4657,12 @@ export const TYPERT = {
2992
4657
  },
2993
4658
  {
2994
4659
  "name": "RoomUpdateMemberRequest",
2995
- "declaration": "export interface RoomUpdateMemberRequest {\n readonly sessionId: SessionId;\n readonly name: string;\n readonly rename?: string;\n readonly instructions?: string | null;\n readonly cwd?: string | null;\n readonly model?: string | null;\n}"
4660
+ "declaration": "export interface RoomUpdateMemberRequest {\n readonly sessionId: SessionId;\n readonly name: string;\n readonly rename?: string;\n readonly instructions?: string | null;\n readonly role?: string | null;\n readonly cwd?: string | null;\n readonly model?: string | null;\n readonly effort?: string | null;\n}"
2996
4661
  },
2997
4662
  {
2998
4663
  "name": "RoomUpdateMemberResult",
2999
4664
  "declaration": "export type RoomUpdateMemberResult = { readonly ok: true; readonly value: { readonly name: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
3000
4665
  },
3001
- {
3002
- "name": "RoomUpdateTaskRequest",
3003
- "declaration": "export interface RoomUpdateTaskRequest {\n readonly sessionId: SessionId;\n readonly taskId: string;\n readonly title?: string;\n readonly blockedBy?: string | null;\n}"
3004
- },
3005
- {
3006
- "name": "RoomUpdateTaskResult",
3007
- "declaration": "export type RoomUpdateTaskResult = { readonly ok: true; readonly value: { readonly id: string; }; } | { readonly ok: false; readonly error: RoomFailure; };"
3008
- },
3009
4666
  {
3010
4667
  "name": "SandboxMode",
3011
4668
  "declaration": "export type SandboxMode = 'read-only' | 'workspace-write' | 'danger-full-access';"
@@ -3040,7 +4697,7 @@ export const TYPERT = {
3040
4697
  },
3041
4698
  {
3042
4699
  "name": "SessionEventMap",
3043
- "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'job/registered': JobRegisteredData;\n 'job/settled': JobSettledData;\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n '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 'plan/mode': { active: boolean; };\n 'schedule/change': ScheduleChange;\n 'subagent/model-selection-policy': { allowedModels: AllowedModelRoute[]; };\n 'workspace/changes': { turn: number; };\n 'local-agent/stream': LocalAgentStreamCheckpoint;\n 'room/created': RoomCreatedEvent;\n 'room/member-added': RoomMemberAddedEvent;\n 'room/member-updated': RoomMemberUpdatedEvent;\n 'room/member-removed': RoomMemberRemovedEvent;\n 'room/dispatch': RoomDispatchEvent;\n 'room/speech': RoomSpeechEvent;\n 'room/run-state': RoomRunStateEvent;\n 'room/execution-metadata': RoomExecutionMetadataEvent;\n 'room/relay': RoomRelayEvent;\n 'room/relay-resolved': RoomRelayResolvedEvent;\n 'room/task-added': RoomTaskAddedEvent;\n 'room/task-updated': RoomTaskUpdatedEvent;\n 'room/task-edited': RoomTaskEditedEvent;\n 'room/goal': RoomGoalEvent;\n 'room/plan-state': RoomPlan;\n 'room/coordinator': RoomCoordinatorEvent;\n 'room/delivery-state': RoomDeliveryStateEvent;\n}"
4700
+ "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'job/registered': JobRegisteredData;\n 'job/settled': JobSettledData;\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@deepseek-ai/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n '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 'plan/mode': { active: boolean; };\n 'schedule/change': ScheduleChange;\n 'subagent/model-selection-policy': { allowedModels: AllowedModelRoute[]; };\n 'workspace/changes': { turn: number; };\n 'local-agent/stream': LocalAgentStreamCheckpoint;\n 'room/created': RoomCreatedEvent;\n 'room/member-added': RoomMemberAddedEvent;\n 'room/member-updated': RoomMemberUpdatedEvent;\n 'room/member-removed': RoomMemberRemovedEvent;\n 'room/dispatch': RoomDispatchEvent;\n 'room/speech': RoomSpeechEvent;\n 'room/run-state': RoomRunStateEvent;\n 'room/execution-metadata': RoomExecutionMetadataEvent;\n 'room/relay': RoomRelayEvent;\n 'room/relay-resolved': RoomRelayResolvedEvent;\n 'room/approval': RoomApprovalEvent;\n 'room/approval-resolved': RoomApprovalResolvedEvent;\n 'room/question': RoomQuestionEvent;\n 'room/question-resolved': RoomQuestionResolvedEvent;\n 'room/task-added': RoomTaskAddedEvent;\n 'room/task-updated': RoomTaskUpdatedEvent;\n 'room/task-edited': RoomTaskEditedEvent;\n 'room/goal': RoomGoalEvent;\n 'room/settings': RoomSettingsEvent;\n 'room/report-gate': RoomReportGateEvent;\n 'room/decision': RoomDecisionEvent;\n 'room/task-link': RoomTaskLinkEvent;\n 'room/job-stopped': RoomJobStoppedEvent;\n 'room/help': RoomHelpEvent;\n 'room/help-message': RoomHelpMessageEvent;\n 'room/help-state': RoomHelpStateEvent;\n 'room/help-in': RoomHelpInEvent;\n 'room/help-link': { readonly sessionId: string; readonly title: string; };\n 'room/help-unlink': { readonly sessionId: string; };\n 'room/help-nudge-dismissed': { readonly sessionId: string; };\n 'room/plan-state': RoomPlan;\n 'room/coordinator': RoomCoordinatorEvent;\n 'room/delivery-state': RoomDeliveryStateEvent;\n}"
3044
4701
  },
3045
4702
  {
3046
4703
  "name": "SessionEventType",