@corenel/harness 0.4.1 → 0.5.1

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 (65) hide show
  1. package/dist/api/backend.d.ts +24 -0
  2. package/dist/api/backend.d.ts.map +1 -1
  3. package/dist/api/backend.js +32 -8
  4. package/dist/api/backend.js.map +1 -1
  5. package/dist/api/client.d.ts.map +1 -1
  6. package/dist/api/client.js +10 -1
  7. package/dist/api/client.js.map +1 -1
  8. package/dist/core/budget.d.ts +6 -0
  9. package/dist/core/budget.d.ts.map +1 -1
  10. package/dist/core/budget.js +16 -0
  11. package/dist/core/budget.js.map +1 -1
  12. package/dist/core/factFile.d.ts +25 -0
  13. package/dist/core/factFile.d.ts.map +1 -0
  14. package/dist/core/factFile.js +59 -0
  15. package/dist/core/factFile.js.map +1 -0
  16. package/dist/core/loop.d.ts +18 -0
  17. package/dist/core/loop.d.ts.map +1 -1
  18. package/dist/core/loop.js +50 -2
  19. package/dist/core/loop.js.map +1 -1
  20. package/dist/core/recovery.d.ts +4 -3
  21. package/dist/core/recovery.d.ts.map +1 -1
  22. package/dist/core/recovery.js +20 -0
  23. package/dist/core/recovery.js.map +1 -1
  24. package/dist/prompts/config.d.ts +14 -0
  25. package/dist/prompts/config.d.ts.map +1 -1
  26. package/dist/prompts/config.js +25 -0
  27. package/dist/prompts/config.js.map +1 -1
  28. package/dist/prompts/library/defaults.generated.js +4 -4
  29. package/dist/prompts/library/defaults.generated.js.map +1 -1
  30. package/dist/providers/gateway.d.ts.map +1 -1
  31. package/dist/providers/gateway.js +11 -1
  32. package/dist/providers/gateway.js.map +1 -1
  33. package/dist/redact.d.ts +10 -0
  34. package/dist/redact.d.ts.map +1 -0
  35. package/dist/redact.js +53 -0
  36. package/dist/redact.js.map +1 -0
  37. package/dist/rooms/findings.d.ts +134 -0
  38. package/dist/rooms/findings.d.ts.map +1 -0
  39. package/dist/rooms/findings.js +262 -0
  40. package/dist/rooms/findings.js.map +1 -0
  41. package/dist/sidecar/host.d.ts +192 -2
  42. package/dist/sidecar/host.d.ts.map +1 -1
  43. package/dist/sidecar/host.js +407 -0
  44. package/dist/sidecar/host.js.map +1 -1
  45. package/dist/sidecar/server.d.ts +185 -1
  46. package/dist/sidecar/server.d.ts.map +1 -1
  47. package/dist/sidecar/server.js +515 -3
  48. package/dist/sidecar/server.js.map +1 -1
  49. package/dist/tools/builtins.d.ts.map +1 -1
  50. package/dist/tools/builtins.js +8 -0
  51. package/dist/tools/builtins.js.map +1 -1
  52. package/dist/tools/files.d.ts.map +1 -1
  53. package/dist/tools/files.js +8 -0
  54. package/dist/tools/files.js.map +1 -1
  55. package/dist/tools/roomTools.d.ts +95 -0
  56. package/dist/tools/roomTools.d.ts.map +1 -0
  57. package/dist/tools/roomTools.js +279 -0
  58. package/dist/tools/roomTools.js.map +1 -0
  59. package/dist/tools/sessions.d.ts.map +1 -1
  60. package/dist/tools/sessions.js +1 -0
  61. package/dist/tools/sessions.js.map +1 -1
  62. package/dist/tools/web.d.ts.map +1 -1
  63. package/dist/tools/web.js +3 -0
  64. package/dist/tools/web.js.map +1 -1
  65. package/package.json +7 -2
@@ -0,0 +1,262 @@
1
+ /* The room's living findings document.
2
+ *
3
+ * WHAT IT IS. A room's conclusions, recorded AS the room reaches them rather
4
+ * than recalled once at the end. A record written when a thing is agreed is
5
+ * accurate; an end-of-room synthesis is a lossy re-reading of prose, and it
6
+ * fails exactly when the room most needs it (a close that depends on a model
7
+ * call is a close that can fail).
8
+ *
9
+ * WHERE IT LIVES. Beside the transcript, at
10
+ * `<roomsRoot>/<roomId>/FINDINGS.jsonl` -- the same directory as SESSION.jsonl,
11
+ * never in the project tree. A room's conclusions belong to the room, not to
12
+ * whatever workspace happened to be open while it ran.
13
+ *
14
+ * WHY A LOG OF EDITS AND NOT A DOCUMENT BLOB. Two participants recording in the
15
+ * same room must not clobber each other. A whole-document overwrite makes that
16
+ * the default failure: the later writer's text replaces the earlier writer's,
17
+ * silently and completely. So the file is an append-only log of per-finding
18
+ * OPS -- `record`, `revise`, `withdraw` -- each naming ONE finding by id, and
19
+ * the document is the fold of them. Two participants recording concurrently
20
+ * append two independent `record` lines and the document holds both. The worst
21
+ * a genuine collision can do is two revisions of the SAME finding, where the
22
+ * later one wins and the earlier one is still in the log, which is the failure
23
+ * mode of a version history rather than of a lost write.
24
+ *
25
+ * WHY IT CAN SHRINK. A document that can only grow is a log, not a document.
26
+ * `revise` corrects a finding in place (the previous wording stays in the log);
27
+ * `withdraw` retires one with a stated reason, and a withdrawn finding is
28
+ * marked, never erased -- a reader of the file can still see what the room
29
+ * believed and when it stopped believing it. Only ACTIVE findings are rendered
30
+ * to participants, so a withdrawn decision is never re-read as current.
31
+ *
32
+ * WHO WRITES IT. Nothing here writes anything: this module is pure. The room
33
+ * engine is the single writer of a room's files, exactly as it is of
34
+ * SESSION.jsonl (see turn.ts) -- a participant's tool records its INTENT into
35
+ * `ctx.runState` and the engine applies it after the turn.
36
+ */
37
+ /** The findings file, beside SESSION.jsonl in the room's own directory. */
38
+ export const FINDINGS_FILE = 'FINDINGS.jsonl';
39
+ export const FINDING_KIND = 'finding';
40
+ /** Per-finding length cap, in characters. The same number as `MAX_ROOM_BRIEF`
41
+ * on purpose: a finding is a decision stated once, at about the length a room's
42
+ * whole purpose takes to state. */
43
+ export const MAX_FINDING_TEXT = 500;
44
+ /** How many ACTIVE findings a room may hold at once.
45
+ *
46
+ * This is a per-turn cost multiplier, not a storage limit: the document is
47
+ * rendered into every participant's system prompt on every turn, so its size is
48
+ * paid once per turn per participant for the rest of the room. 16 x 500 chars
49
+ * is ~8K characters, roughly 2K tokens -- the same order as the transcript
50
+ * overhead a room already carries, and comfortably under what would start
51
+ * crowding out the conversation itself. It is also about the point past which a
52
+ * findings list stops being a document a person reads and becomes a log they
53
+ * skim: a room with seventeen live decisions has not converged.
54
+ *
55
+ * At the cap, recording is REFUSED (out loud, naming the cap) rather than
56
+ * silently dropping the oldest: a room that quietly loses its first decision to
57
+ * make room for its seventeenth is worse than one told to tidy up. Revising and
58
+ * withdrawing still work at the cap, so the room can always make space. */
59
+ export const MAX_ROOM_FINDINGS = 16;
60
+ export function encodeFindingLine(line) {
61
+ return JSON.stringify(line) + '\n';
62
+ }
63
+ function str(v) { return typeof v === 'string' ? v.trim() : ''; }
64
+ /** Apply one line to a folded document. Exported because the engine applies a
65
+ * turn's edits one at a time and must plan each against the document as the
66
+ * PREVIOUS edit left it -- otherwise two records in one turn mint the same id. */
67
+ export function applyFindingLine(doc, line) {
68
+ if (line.op === 'record') {
69
+ if (doc.some((f) => f.id === line.id))
70
+ return [...doc];
71
+ return [...doc, {
72
+ id: line.id, text: line.text, by: line.by, at: line.at,
73
+ revisedBy: null, revisedAt: null, withdrawn: null,
74
+ }];
75
+ }
76
+ // A revision or a withdrawal of an id nothing recorded describes nothing:
77
+ // dropped, exactly as `foldRoom` drops a line written before its open.
78
+ const found = doc.find((f) => f.id === line.id);
79
+ if (!found)
80
+ return [...doc];
81
+ return doc.map((f) => {
82
+ if (f.id !== line.id)
83
+ return f;
84
+ if (line.op === 'revise')
85
+ return { ...f, text: line.text, revisedBy: line.by, revisedAt: line.at };
86
+ return { ...f, withdrawn: { by: line.by, at: line.at, reason: line.reason } };
87
+ });
88
+ }
89
+ function parseFindingLine(raw) {
90
+ const s = raw.trim();
91
+ if (!s)
92
+ return null;
93
+ let parsed;
94
+ try {
95
+ parsed = JSON.parse(s);
96
+ }
97
+ catch {
98
+ return null;
99
+ }
100
+ if (!parsed || typeof parsed !== 'object')
101
+ return null;
102
+ const o = parsed;
103
+ if (o.k !== FINDING_KIND)
104
+ return null;
105
+ const id = str(o.id);
106
+ const by = str(o.by);
107
+ const at = typeof o.at === 'number' && Number.isFinite(o.at) ? o.at : null;
108
+ if (!id || !by || at === null)
109
+ return null;
110
+ if (o.op === 'record' || o.op === 'revise') {
111
+ const text = str(o.text);
112
+ if (!text)
113
+ return null;
114
+ return { k: FINDING_KIND, op: o.op, id, at, by, text };
115
+ }
116
+ if (o.op === 'withdraw') {
117
+ const reason = str(o.reason);
118
+ if (!reason)
119
+ return null;
120
+ return { k: FINDING_KIND, op: 'withdraw', id, at, by, reason };
121
+ }
122
+ return null;
123
+ }
124
+ /** Fold a FINDINGS.jsonl text into the document. Degrades, never throws: one
125
+ * malformed line must not take the whole document with it, and a line of any
126
+ * other kind (a file that ever ends up sharing this one) is simply not ours. */
127
+ export function foldFindings(text) {
128
+ let doc = [];
129
+ for (const raw of text.split('\n')) {
130
+ const line = parseFindingLine(raw);
131
+ if (line)
132
+ doc = applyFindingLine(doc, line);
133
+ }
134
+ return doc;
135
+ }
136
+ /** The findings that still stand. What participants are shown, and what the cap
137
+ * counts -- a withdrawn finding costs nothing per turn and should not keep the
138
+ * room from recording a new one. */
139
+ export function activeFindings(doc) {
140
+ return doc.filter((f) => f.withdrawn === null);
141
+ }
142
+ /** The next id, never reusing one a withdrawn finding held: an id that comes
143
+ * back meaning something else makes the log unreadable. */
144
+ function nextFindingId(doc) {
145
+ let max = 0;
146
+ for (const f of doc) {
147
+ const n = /^f(\d+)$/.exec(f.id);
148
+ if (n)
149
+ max = Math.max(max, Number(n[1]));
150
+ }
151
+ return `f${max + 1}`;
152
+ }
153
+ function idList(doc) {
154
+ const active = activeFindings(doc).map((f) => f.id);
155
+ return active.length ? active.join(', ') : '(none)';
156
+ }
157
+ /**
158
+ * Turn one requested edit into the line that would record it, or say why not.
159
+ *
160
+ * The ONE place an edit is validated, so the agent's tool, the human's facade
161
+ * call and the engine's apply step cannot drift into three different ideas of
162
+ * what a legal finding is. Pure: it writes nothing and mutates nothing.
163
+ */
164
+ export function planFindingEdit(doc, edit, by, at) {
165
+ const author = str(by);
166
+ if (!author)
167
+ return { ok: false, problem: 'A finding must record who found it.' };
168
+ if (edit.kind === 'record') {
169
+ const text = str(edit.text);
170
+ if (!text)
171
+ return { ok: false, problem: 'A finding cannot be empty -- say what the room decided.' };
172
+ if (text.length > MAX_FINDING_TEXT) {
173
+ return {
174
+ ok: false,
175
+ problem: `That finding is ${text.length} characters; the maximum is ${MAX_FINDING_TEXT}. `
176
+ + 'State the decision, not the discussion that reached it.',
177
+ };
178
+ }
179
+ if (activeFindings(doc).length >= MAX_ROOM_FINDINGS) {
180
+ return {
181
+ ok: false,
182
+ problem: `This room already holds the maximum of ${MAX_ROOM_FINDINGS} findings. `
183
+ + 'Revise one that is now wrong, or withdraw one that no longer holds, and record this in its place.',
184
+ };
185
+ }
186
+ return { ok: true, line: { k: FINDING_KIND, op: 'record', id: nextFindingId(doc), at, by: author, text } };
187
+ }
188
+ const id = str(edit.id);
189
+ const found = doc.find((f) => f.id === id);
190
+ if (!found) {
191
+ return { ok: false, problem: `There is no finding "${id}" in this room. The findings are: ${idList(doc)}.` };
192
+ }
193
+ if (found.withdrawn) {
194
+ return {
195
+ ok: false,
196
+ problem: `Finding ${id} was withdrawn (${found.withdrawn.reason}) and cannot be changed. `
197
+ + 'Record a new finding instead.',
198
+ };
199
+ }
200
+ if (edit.kind === 'revise') {
201
+ const text = str(edit.text);
202
+ if (!text)
203
+ return { ok: false, problem: 'A revision cannot be empty -- withdraw the finding instead.' };
204
+ if (text.length > MAX_FINDING_TEXT) {
205
+ return {
206
+ ok: false,
207
+ problem: `That revision is ${text.length} characters; the maximum is ${MAX_FINDING_TEXT}.`,
208
+ };
209
+ }
210
+ return { ok: true, line: { k: FINDING_KIND, op: 'revise', id, at, by: author, text } };
211
+ }
212
+ const reason = str(edit.reason);
213
+ if (!reason) {
214
+ return { ok: false, problem: 'Withdrawing a finding needs a reason -- a decision that vanishes without one cannot be reviewed later.' };
215
+ }
216
+ return { ok: true, line: { k: FINDING_KIND, op: 'withdraw', id, at, by: author, reason } };
217
+ }
218
+ /**
219
+ * Plan a WHOLE turn's worth of edits against one document, in order.
220
+ *
221
+ * Sequential and cumulative: each edit is planned against the document as the
222
+ * previous one left it, which is the only way two `record` calls in one turn
223
+ * can mint two different ids -- and the only way an edit that depends on an
224
+ * earlier one in the same turn (withdraw, then record in its place) can be
225
+ * judged against reality. A refused edit is SKIPPED with its reason collected,
226
+ * never fatal: one bad edit must not throw away the good ones beside it.
227
+ *
228
+ * Used by the participant's tool (to answer "what id will this get, and would
229
+ * it even be allowed") and by the engine (to actually write the lines), so the
230
+ * two can never disagree about what a turn's edits mean.
231
+ */
232
+ export function planFindingEdits(doc, edits, by, at) {
233
+ let next = [...doc];
234
+ const lines = [];
235
+ const problems = [];
236
+ for (const edit of edits) {
237
+ const planned = planFindingEdit(next, edit, by, at);
238
+ if (!planned.ok) {
239
+ problems.push(planned.problem);
240
+ continue;
241
+ }
242
+ lines.push(planned.line);
243
+ next = applyFindingLine(next, planned.line);
244
+ }
245
+ return { lines, doc: next, problems };
246
+ }
247
+ /**
248
+ * The findings as a participant reads them, ids included so a revision or a
249
+ * withdrawal can name one.
250
+ *
251
+ * Active only. A withdrawn finding is still in the file (and still on screen,
252
+ * marked, for the person in the room) but must never be rendered here: a
253
+ * participant shown a retired decision alongside the live ones has no way to
254
+ * tell them apart and will build on the wrong one.
255
+ */
256
+ export function renderFindings(doc) {
257
+ const active = activeFindings(doc);
258
+ if (!active.length)
259
+ return 'Nothing has been recorded in this room yet.';
260
+ return active.map((f) => `${f.id} (${f.revisedBy ?? f.by}): ${f.text}`).join('\n');
261
+ }
262
+ //# sourceMappingURL=findings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../rooms/findings.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { AgentTool, IMemoryProvider, IKeyValueStore, ISearchProvider, ISessionStore, PermissionRequest, AskQuestion, AskAnswers, AgentEvent, PermissionDecision, DaemonRunActivity, DaemonRegistration, ProcInfo, RunRecordInfo, SessionInfo, SessionRepoSpec, SessionSnapshotInfo } from '@corenel/protocol';
1
+ import type { AgentTool, IMemoryProvider, IKeyValueStore, ISearchProvider, ISessionStore, PermissionRequest, AskQuestion, AskAnswers, AgentEvent, PermissionDecision, DaemonRunActivity, DaemonRegistration, AgentPause, HostSummary, ProcInfo, RunRecordInfo, SessionInfo, SessionRepoSpec, SessionSnapshotInfo, CrewMemoryInfo } from '@corenel/protocol';
2
2
  import type { FileService } from '@corenel/protocol';
3
- import { type SidecarChannel, type SidecarInfo, type AcpPromptPart, type AcpModeInfo, type AcpStartOptions } from '@corenel/protocol';
3
+ import { type SidecarChannel, type SidecarInfo, type AcpPromptPart, type AcpModeInfo, type AcpStartOptions, type RoomOpenRequest, type RoomSummary, type RoomFinding, type RoomFindingEdit } from '@corenel/protocol';
4
4
  /** The host's live capabilities a connected sidecar may proxy into. Only the ones
5
5
  * provided are reachable; a proxy call to a missing one is rejected. */
6
6
  export interface HostProviders {
@@ -69,6 +69,11 @@ export interface SidecarHostOptions {
69
69
  * previous set - never merge, or an agent deleted on the daemon would live
70
70
  * forever in a client that was connected when it went. */
71
71
  onRegistrations?: (list: DaemonRegistration[]) => void;
72
+ /** A room moved (Task 6's `room-progress` broadcast) — every connected client
73
+ * hears every room's progress, not just the one that opened it (see
74
+ * `SidecarRooms.subscribe` in server.ts). Fires whether or not this client
75
+ * ever called `roomOpen`/`roomList`/`roomRead`. */
76
+ onRoomProgress?: (room: RoomSummary) => void;
72
77
  }
73
78
  /** What a caller wants to hear about one process. Both handlers are optional:
74
79
  * a client that only wants to know when a build finishes should not have to
@@ -112,12 +117,29 @@ export declare class SidecarHost {
112
117
  * spawned it, and the same process can be watched by a spawn and later by a
113
118
  * reattach. Keyed by the only durable identity there is. */
114
119
  private readonly procWatchers;
120
+ private roomSeq;
121
+ private readonly roomOpenPending;
122
+ private readonly roomListPending;
123
+ private pauseSeq;
124
+ private readonly pausePending;
125
+ private hostsSeq;
126
+ private readonly hostsPending;
127
+ private readonly roomReadPending;
128
+ private readonly roomAnswerPending;
129
+ private readonly roomResumePending;
130
+ private readonly roomInterjectPending;
131
+ private readonly roomClosePending;
132
+ private readonly roomFindingsPending;
133
+ private readonly roomFindingEditPending;
115
134
  private sessionSeq;
116
135
  private readonly sessionPending;
117
136
  /** Per-session stream handlers, keyed by session because a session outlives
118
137
  * the request that started watching it. */
119
138
  private readonly sessionWatchers;
120
139
  private features;
140
+ /** The synced directory name the daemon echoed for THIS connection
141
+ * (`welcome.dirName`), or null against an older daemon that sends none. */
142
+ private dirName;
121
143
  private info;
122
144
  private readonly imported;
123
145
  private welcome;
@@ -259,6 +281,17 @@ export declare class SidecarHost {
259
281
  * which says whether there was ever anything to fetch.
260
282
  */
261
283
  runTranscript(agent: string, runId: string): Promise<unknown[]>;
284
+ /**
285
+ * What one of this daemon's agents remembers, newest first.
286
+ *
287
+ * Answered from the daemon's own copy, which decision 2 of the memory design
288
+ * makes authoritative for a deployed agent: memory is not synced, so the
289
+ * browser's local folder for a deployed agent is not merely stale, it was
290
+ * never written. An empty list therefore means "this agent has remembered
291
+ * nothing", and a REJECTION means "this machine could not be asked" -- a
292
+ * caller must render those differently.
293
+ */
294
+ crewMemory(agent: string): Promise<CrewMemoryInfo[]>;
262
295
  /** Every capture this daemon could restore from, newest first.
263
296
  *
264
297
  * An empty list is a real answer — a daemon whose backend cannot capture has
@@ -346,6 +379,163 @@ export declare class SidecarHost {
346
379
  * may add a working directory this session. Feature-detected from the welcome --
347
380
  * an older sidecar simply never advertises it. */
348
381
  canAddRoots(): boolean;
382
+ /** True when the connected sidecar can drive a room (Task 7's daemon handler is
383
+ * wired). An older or unconfigured sidecar omits 'rooms' from `welcome.features`
384
+ * and every room-* message is refused server-side; feature-detecting here means
385
+ * the browser never sends one it already knows will be refused. */
386
+ supportsRooms(): boolean;
387
+ /** True when the connected daemon HOLDS agent pauses. Feature-detected from
388
+ * the welcome, so a client offers "Pause" only where pausing would actually
389
+ * stop the agent rather than reporting a success the daemon ignores. */
390
+ supportsAgentPause(): boolean;
391
+ /** True when the connected daemon can report and reclaim its synced host
392
+ * directories. Feature-detected so a client offers a destructive control only
393
+ * where the daemon would actually honour it. */
394
+ supportsHostsAdmin(): boolean;
395
+ /** Every synced host directory this daemon holds. */
396
+ listHosts(): Promise<{
397
+ ok: true;
398
+ hosts: HostSummary[];
399
+ } | {
400
+ ok: false;
401
+ error: string;
402
+ }>;
403
+ /** Remove one synced tree AND its manifest entry. `ok: false` is the daemon's
404
+ * considered refusal -- a connected directory, this connection's own, or a
405
+ * removal that failed -- so it resolves rather than rejects; only a dropped
406
+ * connection rejects. Resolves with the COMPLETE set afterwards. */
407
+ forgetHost(dirName: string): Promise<{
408
+ ok: true;
409
+ hosts: HostSummary[];
410
+ } | {
411
+ ok: false;
412
+ error: string;
413
+ }>;
414
+ /** The synced directory name this daemon routes THIS connection's host sync
415
+ * into, or null against a daemon too old to say. Never a guess: a caller that
416
+ * gets null must fall back to deducing it, or offer nothing. */
417
+ syncDirName(): string | null;
418
+ /** Every pause this daemon is holding. */
419
+ listAgentPauses(): Promise<{
420
+ ok: true;
421
+ pauses: AgentPause[];
422
+ } | {
423
+ ok: false;
424
+ error: string;
425
+ }>;
426
+ /** Hold or release a pause on one owner's agent. `ok: false` is the daemon's
427
+ * considered refusal (it holds no pauses, or the ceiling is reached) -- a real
428
+ * answer, so it resolves rather than rejects; only a dropped connection
429
+ * rejects. Resolves with the COMPLETE set afterwards. */
430
+ setAgentPause(owner: string, agent: string, paused: boolean): Promise<{
431
+ ok: true;
432
+ pauses: AgentPause[];
433
+ } | {
434
+ ok: false;
435
+ error: string;
436
+ }>;
437
+ /** Ask the daemon to open a room. `ok: false` here is the daemon's CONSIDERED
438
+ * refusal (validation problems, or an unreachable participant) — a real answer,
439
+ * not a transport failure, so it resolves rather than rejects. Only a dropped
440
+ * connection while this is outstanding rejects (see `disconnect`). */
441
+ roomOpen(req: RoomOpenRequest): Promise<{
442
+ ok: true;
443
+ room: RoomSummary;
444
+ } | {
445
+ ok: false;
446
+ problems: string[];
447
+ }>;
448
+ /** The daemon's rooms, as last read — see sidecar.ts's `room-list-result` for
449
+ * why a store failure (`ok: false`) is kept distinct from a genuine empty list. */
450
+ roomList(): Promise<{
451
+ ok: true;
452
+ rooms: RoomSummary[];
453
+ } | {
454
+ ok: false;
455
+ error: string;
456
+ }>;
457
+ /** One room's summary, its messages, and what each turn cost (in turn
458
+ * order). `ok: true, room: null` is "no such room" (a considered answer);
459
+ * `ok: false` is a store failure — see sidecar.ts's `room-read-result` for
460
+ * why the two must not collapse into one. */
461
+ roomRead(roomId: string): Promise<{
462
+ ok: true;
463
+ room: RoomSummary | null;
464
+ messages: unknown[];
465
+ turnCosts: number[];
466
+ } | {
467
+ ok: false;
468
+ error: string;
469
+ }>;
470
+ /** Drive a room that is waiting on a MACHINE -- a participant whose machine
471
+ * dropped, or any room a daemon restart found mid-flight. Nothing else can
472
+ * move such a room: `roomOpen` refuses a room that exists and `roomAnswer`
473
+ * refuses a floor that is not a human's. See `room-resume` in sidecar.ts. */
474
+ roomResume(roomId: string): Promise<{
475
+ ok: true;
476
+ room: RoomSummary;
477
+ } | {
478
+ ok: false;
479
+ error: string;
480
+ }>;
481
+ /** The human's answer for one room turn.
482
+ *
483
+ * `addressed` is the participant this turn hands the floor to -- an id, already
484
+ * resolved against the room's membership by the caller. Omitted is an ordinary
485
+ * rotation turn, and is never sent as a field at all, so a daemon that predates
486
+ * the command sees exactly the message it always did. */
487
+ roomAnswer(roomId: string, participantId: string, text: string, addressed?: string): Promise<{
488
+ ok: true;
489
+ room: RoomSummary;
490
+ } | {
491
+ ok: false;
492
+ error: string;
493
+ }>;
494
+ /** Say something in a room whose floor is someone ELSE's.
495
+ *
496
+ * Not an answer: it appends to the transcript and moves nothing -- no turn is
497
+ * taken, the floor does not rotate, an outstanding hand-over is untouched.
498
+ * The next participant to speak reads it, which is the whole point. */
499
+ roomInterject(roomId: string, participantId: string, text: string): Promise<{
500
+ ok: true;
501
+ room: RoomSummary;
502
+ } | {
503
+ ok: false;
504
+ error: string;
505
+ }>;
506
+ /** End the room, on this person's word, whatever the rotation is doing.
507
+ *
508
+ * Idempotent: a room that is already closed answers with the close it already
509
+ * carries rather than recording a second one. */
510
+ roomClose(roomId: string, participantId: string, reason: string): Promise<{
511
+ ok: true;
512
+ room: RoomSummary;
513
+ } | {
514
+ ok: false;
515
+ error: string;
516
+ }>;
517
+ /** The room's living findings document -- what it has decided, as opposed to
518
+ * what was said (that is `roomRead`). A room that has recorded nothing answers
519
+ * with an empty document, which is a real answer, not an absence. */
520
+ roomFindings(roomId: string): Promise<{
521
+ ok: true;
522
+ findings: RoomFinding[];
523
+ } | {
524
+ ok: false;
525
+ error: string;
526
+ }>;
527
+ /** The person in the room recording, correcting or withdrawing ONE finding.
528
+ *
529
+ * Per-finding, never a whole-document write: a client that could replace the
530
+ * document would silently overwrite whatever an agent recorded between its
531
+ * read and its write. Answers with the document as it then stands. */
532
+ roomEditFinding(roomId: string, participantId: string, edit: RoomFindingEdit): Promise<{
533
+ ok: true;
534
+ findings: RoomFinding[];
535
+ } | {
536
+ ok: false;
537
+ error: string;
538
+ }>;
349
539
  /** Directory NAMES under `path`, or the declared areas themselves when `path` is
350
540
  * omitted. Names only: never files, contents or stats. Rejects with the sidecar's
351
541
  * message (e.g. outside every allowed area). */
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../sidecar/host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../sidecar/host.ts"],"names":[],"mappings":"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"}