@ours.network/fleet 1.2.0-nightly.2 → 1.2.0-nightly.20

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 (271) hide show
  1. package/README.md +152 -29
  2. package/dist/agent-ours/bridge.d.ts +3 -0
  3. package/dist/agent-ours/bridge.js +178 -0
  4. package/dist/agent-ours/controller.d.ts +14 -0
  5. package/dist/agent-ours/controller.js +60 -0
  6. package/dist/agent-ours/correspondence.d.ts +10 -0
  7. package/dist/agent-ours/correspondence.js +1 -0
  8. package/dist/agent-ours/file-rpc.d.ts +23 -0
  9. package/dist/agent-ours/file-rpc.js +123 -0
  10. package/dist/agent-ours/harness.d.ts +14 -0
  11. package/dist/agent-ours/harness.js +72 -0
  12. package/dist/agent-ours/mcp-endpoint.d.ts +15 -0
  13. package/dist/agent-ours/mcp-endpoint.js +111 -0
  14. package/dist/agent-ours/runtime.d.ts +59 -0
  15. package/dist/agent-ours/runtime.js +283 -0
  16. package/dist/agent-ours/service.d.ts +23 -0
  17. package/dist/agent-ours/service.js +372 -0
  18. package/dist/agent-ours/state.d.ts +45 -0
  19. package/dist/agent-ours/state.js +95 -0
  20. package/dist/agent-ours/wire.d.ts +14 -0
  21. package/dist/agent-ours/wire.js +55 -0
  22. package/dist/agent-recovery-gate.js +1 -1
  23. package/dist/application/conversation-history.d.ts +6 -0
  24. package/dist/application/conversation-history.js +65 -0
  25. package/dist/application/fleet-query-service.d.ts +1 -1
  26. package/dist/application/fleet-query-service.js +2 -2
  27. package/dist/application/legacy-supervisor-identity.d.ts +7 -0
  28. package/dist/application/legacy-supervisor-identity.js +43 -0
  29. package/dist/application/model-catalog.d.ts +1 -1
  30. package/dist/application/model-catalog.js +5 -2
  31. package/dist/application/preset-provenance.d.ts +19 -0
  32. package/dist/application/preset-provenance.js +59 -0
  33. package/dist/application/room-layout-definitions.d.ts +45 -0
  34. package/dist/application/room-layout-definitions.js +130 -0
  35. package/dist/application/session-control.d.ts +8 -0
  36. package/dist/application/session-control.js +21 -3
  37. package/dist/application/supervisor-ours-tools.d.ts +159 -0
  38. package/dist/application/supervisor-ours-tools.js +113 -0
  39. package/dist/application/task-layouts.d.ts +89 -0
  40. package/dist/application/task-layouts.js +248 -0
  41. package/dist/application/task-room-service.d.ts +99 -3
  42. package/dist/application/task-room-service.js +296 -31
  43. package/dist/atomic-file.d.ts +5 -0
  44. package/dist/atomic-file.js +62 -1
  45. package/dist/briefing.js +10 -59
  46. package/dist/build-info.json +5 -4
  47. package/dist/capabilities.d.ts +2 -1
  48. package/dist/capabilities.js +2 -0
  49. package/dist/cli.js +65 -2
  50. package/dist/client-profile.d.ts +5 -16
  51. package/dist/client-profile.js +4 -112
  52. package/dist/config.d.ts +4 -0
  53. package/dist/config.js +7 -0
  54. package/dist/creation.d.ts +1 -1
  55. package/dist/creation.js +5 -16
  56. package/dist/daemon-recovery.d.ts +1 -8
  57. package/dist/daemon-recovery.js +8 -113
  58. package/dist/docs.d.ts +3 -3
  59. package/dist/docs.js +43 -23
  60. package/dist/doctor.d.ts +1 -1
  61. package/dist/doctor.js +46 -59
  62. package/dist/erased-resources.d.ts +9 -0
  63. package/dist/erased-resources.js +87 -0
  64. package/dist/fleet-command-audit.d.ts +1 -0
  65. package/dist/fleet-command-audit.js +12 -7
  66. package/dist/harness/agent-session.d.ts +2 -0
  67. package/dist/harness/claude-code-session.js +4 -2
  68. package/dist/harness/codex-app-server-proxy.d.ts +4 -1
  69. package/dist/harness/codex-app-server-proxy.js +41 -5
  70. package/dist/harness/codex-session.js +9 -2
  71. package/dist/harness/codex.d.ts +3 -2
  72. package/dist/harness/codex.js +4 -3
  73. package/dist/harness/hermes-session.js +7 -1
  74. package/dist/init-wizard.js +19 -9
  75. package/dist/monitor.d.ts +1 -34
  76. package/dist/monitor.js +24 -151
  77. package/dist/owner-channel/channel.d.ts +3 -0
  78. package/dist/owner-channel/channel.js +34 -6
  79. package/dist/owner-channel/commands.d.ts +4 -0
  80. package/dist/owner-channel/commands.js +8 -0
  81. package/dist/owner-channel/lifecycle-outbox.js +4 -3
  82. package/dist/owner-channel/ours-client.js +2 -17
  83. package/dist/preset-migration.js +15 -0
  84. package/dist/rooms-tasks/add-member.d.ts +48 -0
  85. package/dist/rooms-tasks/add-member.js +83 -0
  86. package/dist/rooms-tasks/archived-absence.d.ts +8 -0
  87. package/dist/rooms-tasks/archived-absence.js +48 -0
  88. package/dist/rooms-tasks/cli.js +34 -5
  89. package/dist/rooms-tasks/close.d.ts +5 -2
  90. package/dist/rooms-tasks/close.js +208 -28
  91. package/dist/rooms-tasks/config.js +3 -1
  92. package/dist/rooms-tasks/cowork-adapter.d.ts +6 -4
  93. package/dist/rooms-tasks/cowork-adapter.js +11 -117
  94. package/dist/rooms-tasks/cowork-http.d.ts +3 -0
  95. package/dist/rooms-tasks/cowork-http.js +70 -0
  96. package/dist/rooms-tasks/deletion.d.ts +1 -1
  97. package/dist/rooms-tasks/deletion.js +74 -5
  98. package/dist/rooms-tasks/erasure.d.ts +6 -0
  99. package/dist/rooms-tasks/erasure.js +169 -0
  100. package/dist/rooms-tasks/external-worker.d.ts +1 -1
  101. package/dist/rooms-tasks/external-worker.js +3 -4
  102. package/dist/rooms-tasks/layout-cli.d.ts +2 -0
  103. package/dist/rooms-tasks/layout-cli.js +81 -0
  104. package/dist/rooms-tasks/layout-config.d.ts +11 -0
  105. package/dist/rooms-tasks/layout-config.js +89 -0
  106. package/dist/rooms-tasks/layout-control.d.ts +21 -0
  107. package/dist/rooms-tasks/layout-control.js +52 -0
  108. package/dist/rooms-tasks/layout-service.d.ts +39 -0
  109. package/dist/rooms-tasks/layout-service.js +173 -0
  110. package/dist/rooms-tasks/layout.d.ts +102 -0
  111. package/dist/rooms-tasks/layout.js +227 -0
  112. package/dist/rooms-tasks/live-readiness.d.ts +18 -0
  113. package/dist/rooms-tasks/live-readiness.js +85 -0
  114. package/dist/rooms-tasks/member-startup.d.ts +1 -0
  115. package/dist/rooms-tasks/member-startup.js +2 -0
  116. package/dist/rooms-tasks/provision.d.ts +14 -0
  117. package/dist/rooms-tasks/provision.js +182 -48
  118. package/dist/rooms-tasks/room-state.d.ts +4 -2
  119. package/dist/rooms-tasks/room-state.js +53 -8
  120. package/dist/rooms-tasks/task-state.d.ts +42 -7
  121. package/dist/rooms-tasks/task-state.js +153 -23
  122. package/dist/rooms-tasks/types.d.ts +28 -0
  123. package/dist/rooms-tasks/workspace-artifacts.d.ts +6 -0
  124. package/dist/rooms-tasks/workspace-artifacts.js +93 -0
  125. package/dist/rooms-tasks/workspace.d.ts +26 -0
  126. package/dist/rooms-tasks/workspace.js +195 -0
  127. package/dist/runner.d.ts +23 -3
  128. package/dist/runner.js +574 -494
  129. package/dist/session/acp.d.ts +3 -0
  130. package/dist/session/acp.js +7 -0
  131. package/dist/session/arbiter.d.ts +3 -0
  132. package/dist/session/arbiter.js +20 -2
  133. package/dist/session/codex-app-server-transport.js +1 -1
  134. package/dist/session/codex-app-server.d.ts +3 -0
  135. package/dist/session/codex-app-server.js +25 -1
  136. package/dist/session/control.d.ts +10 -1
  137. package/dist/session/control.js +36 -2
  138. package/dist/session/conversation-normalizer.d.ts +2 -1
  139. package/dist/session/conversation-normalizer.js +1 -1
  140. package/dist/session/conversation-types.d.ts +5 -3
  141. package/dist/session/task-notice.d.ts +14 -0
  142. package/dist/session/task-notice.js +13 -0
  143. package/dist/session/types.d.ts +3 -0
  144. package/dist/socket-path.d.ts +2 -0
  145. package/dist/socket-path.js +22 -0
  146. package/dist/spawn.js +19 -16
  147. package/dist/startup-readiness.d.ts +13 -0
  148. package/dist/startup-readiness.js +38 -0
  149. package/dist/supervisor/launchd.js +2 -1
  150. package/dist/supervisor/systemd.js +9 -23
  151. package/dist/temp-idle.d.ts +17 -0
  152. package/dist/temp-idle.js +42 -0
  153. package/dist/temp-lifecycle.d.ts +6 -1
  154. package/dist/temp-lifecycle.js +29 -13
  155. package/dist/temp-supervisor-recovery.d.ts +3 -0
  156. package/dist/temp-supervisor-recovery.js +46 -0
  157. package/dist/watchdog/briefing.js +3 -16
  158. package/dist/watchdog/run.js +19 -5
  159. package/dist/web/agent-attachments.d.ts +29 -0
  160. package/dist/web/agent-attachments.js +162 -0
  161. package/dist/web/auth.d.ts +4 -1
  162. package/dist/web/auth.js +23 -2
  163. package/dist/web/control.js +2 -1
  164. package/dist/web/fleet-config-service.d.ts +4 -1
  165. package/dist/web/fleet-config-service.js +46 -15
  166. package/dist/web/prefix-gateway.d.ts +20 -0
  167. package/dist/web/prefix-gateway.js +150 -0
  168. package/dist/web/runtime.d.ts +4 -0
  169. package/dist/web/runtime.js +19 -14
  170. package/dist/web/server.d.ts +7 -0
  171. package/dist/web/server.js +293 -25
  172. package/docs/room-layouts.md +92 -0
  173. package/docs/task-workspaces.md +130 -0
  174. package/examples/room-layouts/fresh.yaml +27 -0
  175. package/examples/room-layouts/shared.yaml +19 -0
  176. package/package.json +17 -13
  177. package/presets/README.md +66 -0
  178. package/presets/brain-catalog.json +7 -2
  179. package/presets/fleet/agent_templates/Engineer.yaml +5 -0
  180. package/presets/fleet/brains/claude-fable-5-1-high.yaml +5 -0
  181. package/presets/fleet/brains/claude-fable-5-1-low.yaml +5 -0
  182. package/presets/fleet/brains/claude-fable-5-1-max.yaml +5 -0
  183. package/presets/fleet/brains/claude-fable-5-1-medium.yaml +5 -0
  184. package/presets/fleet/brains/claude-fable-5-1-xhigh.yaml +5 -0
  185. package/presets/fleet/brains/claude-fable-5-high.yaml +1 -1
  186. package/presets/fleet/brains/claude-fable-5-low.yaml +1 -1
  187. package/presets/fleet/brains/claude-fable-5-max.yaml +1 -1
  188. package/presets/fleet/brains/claude-fable-5-medium.yaml +1 -1
  189. package/presets/fleet/brains/claude-fable-5-xhigh.yaml +1 -1
  190. package/presets/fleet/brains/claude-haiku-4-5-20251001-default.yaml +4 -0
  191. package/presets/fleet/brains/claude-opus-5-5-high.yaml +5 -0
  192. package/presets/fleet/brains/claude-opus-5-5-low.yaml +5 -0
  193. package/presets/fleet/brains/claude-opus-5-5-max.yaml +5 -0
  194. package/presets/fleet/brains/claude-opus-5-5-medium.yaml +5 -0
  195. package/presets/fleet/brains/claude-opus-5-5-xhigh.yaml +5 -0
  196. package/presets/fleet/brains/claude-opus-5-high.yaml +1 -1
  197. package/presets/fleet/brains/claude-opus-5-low.yaml +1 -1
  198. package/presets/fleet/brains/claude-opus-5-max.yaml +1 -1
  199. package/presets/fleet/brains/claude-opus-5-medium.yaml +1 -1
  200. package/presets/fleet/brains/claude-opus-5-xhigh.yaml +1 -1
  201. package/presets/fleet/brains/claude-sonnet-5-high.yaml +1 -1
  202. package/presets/fleet/brains/claude-sonnet-5-low.yaml +1 -1
  203. package/presets/fleet/brains/claude-sonnet-5-max.yaml +1 -1
  204. package/presets/fleet/brains/claude-sonnet-5-medium.yaml +1 -1
  205. package/presets/fleet/brains/claude-sonnet-5-xhigh.yaml +1 -1
  206. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-high.yaml +1 -1
  207. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-low.yaml +1 -1
  208. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-medium.yaml +1 -1
  209. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-xhigh.yaml +1 -1
  210. package/presets/fleet/brains/codex-gpt-5-4-high.yaml +1 -1
  211. package/presets/fleet/brains/codex-gpt-5-4-low.yaml +1 -1
  212. package/presets/fleet/brains/codex-gpt-5-4-medium.yaml +1 -1
  213. package/presets/fleet/brains/codex-gpt-5-4-mini-high.yaml +1 -1
  214. package/presets/fleet/brains/codex-gpt-5-4-mini-low.yaml +1 -1
  215. package/presets/fleet/brains/codex-gpt-5-4-mini-medium.yaml +1 -1
  216. package/presets/fleet/brains/codex-gpt-5-4-mini-xhigh.yaml +1 -1
  217. package/presets/fleet/brains/codex-gpt-5-4-xhigh.yaml +1 -1
  218. package/presets/fleet/brains/codex-gpt-5-5-high.yaml +1 -1
  219. package/presets/fleet/brains/codex-gpt-5-5-low.yaml +1 -1
  220. package/presets/fleet/brains/codex-gpt-5-5-medium.yaml +1 -1
  221. package/presets/fleet/brains/codex-gpt-5-5-xhigh.yaml +1 -1
  222. package/presets/fleet/brains/codex-gpt-5-6-luna-high.yaml +1 -1
  223. package/presets/fleet/brains/codex-gpt-5-6-luna-low.yaml +1 -1
  224. package/presets/fleet/brains/codex-gpt-5-6-luna-max.yaml +1 -1
  225. package/presets/fleet/brains/codex-gpt-5-6-luna-medium.yaml +1 -1
  226. package/presets/fleet/brains/codex-gpt-5-6-luna-xhigh.yaml +1 -1
  227. package/presets/fleet/brains/codex-gpt-5-6-sol-high.yaml +1 -1
  228. package/presets/fleet/brains/codex-gpt-5-6-sol-low.yaml +1 -1
  229. package/presets/fleet/brains/codex-gpt-5-6-sol-max.yaml +1 -1
  230. package/presets/fleet/brains/codex-gpt-5-6-sol-medium.yaml +1 -1
  231. package/presets/fleet/brains/codex-gpt-5-6-sol-ultra.yaml +1 -1
  232. package/presets/fleet/brains/codex-gpt-5-6-sol-xhigh.yaml +1 -1
  233. package/presets/fleet/brains/codex-gpt-5-6-terra-high.yaml +1 -1
  234. package/presets/fleet/brains/codex-gpt-5-6-terra-low.yaml +1 -1
  235. package/presets/fleet/brains/codex-gpt-5-6-terra-max.yaml +1 -1
  236. package/presets/fleet/brains/codex-gpt-5-6-terra-medium.yaml +1 -1
  237. package/presets/fleet/brains/codex-gpt-5-6-terra-ultra.yaml +1 -1
  238. package/presets/fleet/brains/codex-gpt-5-6-terra-xhigh.yaml +1 -1
  239. package/presets/fleet/brains/codex-gpt-6-astra-high.yaml +1 -1
  240. package/presets/fleet/brains/codex-gpt-6-astra-low.yaml +1 -1
  241. package/presets/fleet/brains/codex-gpt-6-astra-max.yaml +1 -1
  242. package/presets/fleet/brains/codex-gpt-6-astra-medium.yaml +1 -1
  243. package/presets/fleet/brains/codex-gpt-6-astra-ultra.yaml +1 -1
  244. package/presets/fleet/brains/codex-gpt-6-astra-xhigh.yaml +1 -1
  245. package/presets/fleet/brains/codex-gpt-6-luna-high.yaml +5 -0
  246. package/presets/fleet/brains/codex-gpt-6-luna-low.yaml +5 -0
  247. package/presets/fleet/brains/codex-gpt-6-luna-max.yaml +5 -0
  248. package/presets/fleet/brains/codex-gpt-6-luna-medium.yaml +5 -0
  249. package/presets/fleet/brains/codex-gpt-6-luna-xhigh.yaml +5 -0
  250. package/presets/fleet/brains/codex-gpt-6-sol-high.yaml +5 -0
  251. package/presets/fleet/brains/codex-gpt-6-sol-low.yaml +5 -0
  252. package/presets/fleet/brains/codex-gpt-6-sol-max.yaml +5 -0
  253. package/presets/fleet/brains/codex-gpt-6-sol-medium.yaml +5 -0
  254. package/presets/fleet/brains/codex-gpt-6-sol-ultra.yaml +5 -0
  255. package/presets/fleet/brains/codex-gpt-6-sol-xhigh.yaml +5 -0
  256. package/presets/fleet/roles/Coordinator.yaml +22 -0
  257. package/presets/fleet/roles/Engineer.yaml +40 -0
  258. package/presets/fleet/room_layouts/engineering.yaml +25 -0
  259. package/presets/fleet/room_layouts/pair.yaml +24 -0
  260. package/presets/fleet/room_layouts/single.yaml +17 -0
  261. package/presets/fleet/room_layouts/team.yaml +30 -0
  262. package/presets/fleet/room_templates/engineering.yaml +19 -0
  263. package/presets/manifest.json +2 -2
  264. package/dist/web-app/assets/index-59GF-gsZ.css +0 -1
  265. package/dist/web-app/assets/index-C0h3ALvs.js +0 -10
  266. package/dist/web-app/icons/ours-fleet-maskable.svg +0 -4
  267. package/dist/web-app/icons/ours-fleet.svg +0 -4
  268. package/dist/web-app/index.html +0 -17
  269. package/dist/web-app/manifest.webmanifest +0 -15
  270. package/dist/web-app/offline.html +0 -18
  271. package/dist/web-app/sw.js +0 -51
@@ -1,3 +1,6 @@
1
+ import type { AddMemberRequest } from '../rooms-tasks/add-member.js';
2
+ import { TaskLayouts } from './task-layouts.js';
3
+ import { type LiveReadinessDeps, type TaskReadinessIssue } from '../rooms-tasks/live-readiness.js';
1
4
  import { type FleetConfig } from '../config.js';
2
5
  import { type CoworkAdapter } from '../rooms-tasks/cowork-adapter.js';
3
6
  import { provisionMembers } from '../rooms-tasks/provision.js';
@@ -57,9 +60,9 @@ export interface TaskProvisioningOutcome {
57
60
  /** Repairable terminal observation derived entirely from durable Task/Room state. */
58
61
  export declare function recordTaskProvisioningOutcome(outcome: TaskProvisioningOutcome): void;
59
62
  export declare class TaskRoomApplicationError extends Error {
60
- readonly code: 'template_not_found' | 'task_template_drift' | 'template_mismatch' | 'task_terminal' | 'task_terminal_already' | 'task_non_resumable' | 'task_deleting' | 'room_not_found' | 'room_record_not_found';
63
+ readonly code: 'template_not_found' | 'task_template_drift' | 'template_mismatch' | 'task_terminal' | 'task_terminal_already' | 'task_non_resumable' | 'task_deleting' | 'room_not_found' | 'room_record_not_found' | 'task_not_ready';
61
64
  readonly fields: Readonly<Record<string, string>>;
62
- constructor(code: 'template_not_found' | 'task_template_drift' | 'template_mismatch' | 'task_terminal' | 'task_terminal_already' | 'task_non_resumable' | 'task_deleting' | 'room_not_found' | 'room_record_not_found', message: string, fields?: Readonly<Record<string, string>>);
65
+ constructor(code: 'template_not_found' | 'task_template_drift' | 'template_mismatch' | 'task_terminal' | 'task_terminal_already' | 'task_non_resumable' | 'task_deleting' | 'room_not_found' | 'room_record_not_found' | 'task_not_ready', message: string, fields?: Readonly<Record<string, string>>);
63
66
  }
64
67
  export interface CreateTaskRequest {
65
68
  actor: TaskRoomActor;
@@ -74,6 +77,8 @@ export interface CreateTaskRequest {
74
77
  list?: string;
75
78
  members?: MemberOverrides;
76
79
  anonymous?: boolean;
80
+ /** Room Layout name: the task's rooms and participants come from a layout run. */
81
+ layout?: string;
77
82
  }
78
83
  export interface CreateRoomRequest {
79
84
  actor: TaskRoomActor;
@@ -87,8 +92,12 @@ export interface CreateRoomRequest {
87
92
  }
88
93
  export declare function resolveRoomLaunchPolicy(template: TemplateSnapshot | undefined, override: boolean | undefined): RoomLaunchPolicy;
89
94
  export interface TaskRoomServiceDeps {
95
+ taskLayouts?: TaskLayouts;
96
+ liveReadiness?: LiveReadinessDeps;
90
97
  loadConfiguration?(path?: string): FleetConfig;
91
- cowork?(config: FleetConfig): CoworkAdapter;
98
+ cowork?(config: FleetConfig, options?: {
99
+ timeoutMs: number;
100
+ }): CoworkAdapter;
92
101
  binPath?(): string;
93
102
  provisionMembers?: typeof provisionMembers;
94
103
  moveTaskToList?: typeof moveTaskToList;
@@ -101,6 +110,67 @@ export declare class TaskRoomApplicationService {
101
110
  private readonly configurationPath?;
102
111
  private readonly deps;
103
112
  constructor(configurationPath?: string | undefined, deps?: TaskRoomServiceDeps);
113
+ addMember(taskId: string, request: AddMemberRequest): Promise<{
114
+ requestId: string;
115
+ taskId: string;
116
+ roleId: string;
117
+ state: "running" | "succeeded" | "attention" | "failed";
118
+ error?: string;
119
+ } | {
120
+ state: string;
121
+ error: string;
122
+ requestId: string;
123
+ taskId: string;
124
+ roleId: string;
125
+ }>;
126
+ memberAddition(taskId: string, requestId: string): Promise<{
127
+ requestId: string;
128
+ taskId: string;
129
+ roleId: string;
130
+ state: "running" | "succeeded" | "attention" | "failed";
131
+ error?: string;
132
+ } | {
133
+ state: string;
134
+ error: string;
135
+ requestId: string;
136
+ taskId: string;
137
+ roleId: string;
138
+ }>;
139
+ private layouts;
140
+ private createLayoutTask;
141
+ /** Layout tasks never provision the legacy single room; their run is a local snapshot. */
142
+ private ensureLayoutWork;
143
+ /** Compact room list for task listings; never fails the listing on an unreadable run. */
144
+ withLayoutRooms<T extends TaskRecord>(task: T): T & {
145
+ layout_rooms?: Array<{
146
+ key: string;
147
+ state: string;
148
+ room_id?: string;
149
+ identity_cid?: string;
150
+ }>;
151
+ };
152
+ /** Backlog only: choose, change or clear the task's Room Layout before it starts. */
153
+ setTaskLayout(input: {
154
+ actor: TaskRoomActor;
155
+ taskId: string;
156
+ layout: string | null;
157
+ expectedLayout: string | null;
158
+ }): Promise<TaskRecord>;
159
+ taskLayout(taskId: string): import("./task-layouts.js").TaskLayoutView;
160
+ launchTaskLayoutOperation(input: {
161
+ actor: TaskRoomActor;
162
+ taskId: string;
163
+ operation: 'open' | 'close-room';
164
+ room: string;
165
+ }): Promise<import("./task-layouts.js").TaskLayoutOperationRecord>;
166
+ /** Worker entry for detached layout operations. */
167
+ runTaskLayoutOperation(input: {
168
+ actor: TaskRoomActor;
169
+ taskId: string;
170
+ operation: 'open' | 'close-room' | 'close';
171
+ room?: string;
172
+ operationId?: string;
173
+ }): Promise<import("./task-layouts.js").TaskLayoutView>;
104
174
  createTask(request: CreateTaskRequest): Promise<TaskRecord>;
105
175
  createRoom(request: CreateRoomRequest): Promise<RoomOrchestrationRecord>;
106
176
  startTask(input: {
@@ -147,10 +217,17 @@ export declare class TaskRoomApplicationService {
147
217
  moved: number;
148
218
  destination?: TaskListRecord;
149
219
  }>;
220
+ editTaskDescription(input: {
221
+ actor: TaskRoomActor;
222
+ taskId: string;
223
+ brief: string;
224
+ expectedBrief: string;
225
+ }): TaskRecord;
150
226
  getTask(taskId: string): {
151
227
  task: TaskRecord;
152
228
  orchestration: RoomOrchestrationRecord | undefined;
153
229
  };
230
+ /** Durable provisioning progress only; use active task start/work for a live readiness check. */
154
231
  taskProvisioningOutcome(taskId: string): TaskProvisioningOutcome;
155
232
  awaitTaskProvisioning(input: {
156
233
  actor: TaskRoomActor;
@@ -209,10 +286,20 @@ export declare class TaskRoomApplicationService {
209
286
  taskId: string;
210
287
  outcome?: TaskOutcome;
211
288
  }): Promise<TaskSettlementPlan>;
289
+ /** Terminal layout tasks archive their rooms and retire only agents their run created. */
290
+ private withLayoutCleanup;
291
+ /** Retry terminal layout cleanup for known resources (e.g. after a failed close). */
292
+ retryTaskLayoutCleanup(input: {
293
+ actor: TaskRoomActor;
294
+ taskId: string;
295
+ }): Promise<import("./task-layouts.js").TaskLayoutOperationRecord>;
212
296
  cancelTask(input: {
213
297
  actor: TaskRoomActor;
214
298
  taskId: string;
215
299
  }): Promise<TaskSettlementPlan>;
300
+ /** Continue accepted operations outside the HTTP connection's lifetime. */
301
+ launchTaskSettlement(taskId: string): Promise<TaskRecord>;
302
+ launchTaskProvisioning(taskId: string): Promise<TaskProvisioningOutcome>;
216
303
  settleTask(input: {
217
304
  actor: {
218
305
  kind: 'internal_worker';
@@ -279,6 +366,9 @@ export declare class TaskRoomApplicationService {
279
366
  actor: TaskRoomActor;
280
367
  roomId: string;
281
368
  }): Promise<{
369
+ room: undefined;
370
+ settlementRequired: true;
371
+ } | {
282
372
  room: RoomOrchestrationRecord;
283
373
  settlementRequired: true;
284
374
  }>;
@@ -300,6 +390,12 @@ export declare class TaskRoomApplicationService {
300
390
  taskId: string;
301
391
  outcome?: TaskOutcome;
302
392
  }): Promise<TaskSettlementPlan>;
393
+ /** Point-in-time health, separate from durable provisioning and lifecycle. */
394
+ observeTaskReadiness(taskId: string): Promise<{
395
+ state: 'ready';
396
+ } | TaskReadinessIssue>;
397
+ private observeLiveReadiness;
398
+ private assertTaskLiveReadiness;
303
399
  ensureTaskWork(input: {
304
400
  actor: TaskRoomActor;
305
401
  taskId: string;