@corenel/tools-web 0.4.8 → 0.4.10

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.
@@ -93,6 +93,8 @@ export type MainToWorker = {
93
93
  * Absent = the default sessionsRoot(). Set by hosts whose sessions live
94
94
  * elsewhere (a Craft project keeps its sessions inside the project). */
95
95
  sessionsRoot?: string;
96
+ /** The host can move this run's transcript into a project (start_project). */
97
+ canMoveSession?: boolean;
96
98
  /** Where this run's model calls may go: custom providers first, the hosted
97
99
  * gateway only when `gateway` is true, otherwise refused locally. Absent =
98
100
  * every call uses the gateway (a host that never configures routing).
@@ -161,6 +163,10 @@ export type MainToWorker = {
161
163
  kind: 'edit-review-response';
162
164
  id: number;
163
165
  outcome: EditReviewOutcome | null;
166
+ } | {
167
+ kind: 'session-move-response';
168
+ id: number;
169
+ message: string;
164
170
  } | {
165
171
  kind: 'file-response';
166
172
  id: number;
@@ -224,6 +230,11 @@ export type WorkerToMain = {
224
230
  id: number;
225
231
  runId: number;
226
232
  callId: string;
233
+ } | {
234
+ kind: 'session-move-request';
235
+ id: number;
236
+ runId: number;
237
+ projectRoot: string;
227
238
  } | {
228
239
  kind: 'file-request';
229
240
  id: number;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../core/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../core/protocol.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { AgentEvent } from '@corenel/protocol';
2
+ import type { Attrs, SpanRecord } from '@corenel/telemetry';
3
+ export declare function createRunRecorder(opts: {
4
+ sampler: {
5
+ start(runId: string): void;
6
+ add(runId: string, span: SpanRecord): void;
7
+ finish(runId: string, status: 'ok' | 'error'): SpanRecord[];
8
+ };
9
+ emit(span: SpanRecord): void;
10
+ now?: () => number;
11
+ /** Bound the open-run map the same way `createRunSampler` bounds its own,
12
+ * and for the same reason: a run that never reaches `finish()` (the worker
13
+ * is killed mid-flight, the host tears down, a wiring bug) must not grow
14
+ * this forever. Default 50, matching the sampler's default. */
15
+ maxRuns?: number;
16
+ }): {
17
+ start(runId: string, attrs?: Attrs): void;
18
+ event(runId: string, event: AgentEvent): void;
19
+ finish(runId: string, status: 'ok' | 'error', attrs?: Attrs): void;
20
+ };
21
+ //# sourceMappingURL=runSpans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runSpans.d.ts","sourceRoot":"","sources":["../runSpans.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAW5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,OAAO,EAAE;QACP,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QAC3C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,UAAU,EAAE,CAAC;KAC7D,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;mEAG+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG;IACF,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACpE,CAiFA"}
@@ -0,0 +1,85 @@
1
+ export function createRunRecorder(opts) {
2
+ const now = opts.now ?? (() => Date.now());
3
+ const maxRuns = opts.maxRuns ?? 50;
4
+ const runs = new Map();
5
+ return {
6
+ start(runId, attrs) {
7
+ // Map preserves insertion order, so the first key is the oldest. Only
8
+ // evict for a genuinely new id -- a repeat start for one already open
9
+ // must not cost the run its slot.
10
+ if (!runs.has(runId) && runs.size >= maxRuns) {
11
+ const oldest = runs.keys().next().value;
12
+ if (oldest !== undefined)
13
+ runs.delete(oldest);
14
+ }
15
+ runs.set(runId, {
16
+ started: now(),
17
+ ts: new Date(now()).toISOString(),
18
+ attrs: { ...(attrs ?? {}) },
19
+ turns: 0,
20
+ toolCalls: 0,
21
+ openTools: new Map(),
22
+ });
23
+ opts.sampler.start(runId);
24
+ },
25
+ event(runId, event) {
26
+ const run = runs.get(runId);
27
+ if (!run)
28
+ return;
29
+ if (event.type === 'turn') {
30
+ run.turns = event.turn;
31
+ return;
32
+ }
33
+ if (event.type === 'tool-call') {
34
+ run.toolCalls += 1;
35
+ run.openTools.set(event.id, { name: event.name, started: now(), ts: new Date(now()).toISOString() });
36
+ return;
37
+ }
38
+ if (event.type === 'tool-result') {
39
+ const open = run.openTools.get(event.id);
40
+ if (!open)
41
+ return;
42
+ run.openTools.delete(event.id);
43
+ opts.sampler.add(runId, {
44
+ name: 'tool',
45
+ ts: open.ts,
46
+ durMs: Math.max(0, Math.round(now() - open.started)),
47
+ status: event.isError ? 'error' : 'ok',
48
+ runId,
49
+ parentId: runId,
50
+ attrs: { toolName: open.name },
51
+ });
52
+ }
53
+ },
54
+ finish(runId, status, attrs) {
55
+ const run = runs.get(runId);
56
+ if (!run)
57
+ return;
58
+ runs.delete(runId);
59
+ // A tool still open when the run ended did not report: record it with the
60
+ // run's own outcome rather than dropping the step entirely.
61
+ for (const [, open] of run.openTools) {
62
+ opts.sampler.add(runId, {
63
+ name: 'tool',
64
+ ts: open.ts,
65
+ durMs: Math.max(0, Math.round(now() - open.started)),
66
+ status: 'error',
67
+ runId,
68
+ parentId: runId,
69
+ attrs: { toolName: open.name },
70
+ });
71
+ }
72
+ opts.sampler.add(runId, {
73
+ name: 'run',
74
+ ts: run.ts,
75
+ durMs: Math.max(0, Math.round(now() - run.started)),
76
+ status,
77
+ runId,
78
+ attrs: { ...run.attrs, ...(attrs ?? {}), turns: run.turns, toolCalls: run.toolCalls },
79
+ });
80
+ for (const span of opts.sampler.finish(runId, status))
81
+ opts.emit(span);
82
+ },
83
+ };
84
+ }
85
+ //# sourceMappingURL=runSpans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runSpans.js","sourceRoot":"","sources":["../runSpans.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import type { ChatCompletionMessageParam } from 'openai/resources/chat/completions';
2
2
  import { createWorkerAgent, type WorkerAgent } from './workerClient';
3
- import { type SystemPromptEntry } from '@corenel/harness/prompts/systemPrompts';
4
3
  import type { ConversationTurn } from '@corenel/harness/conversation';
5
4
  import type { AskQuestion, AskAnswers, SessionSurface, AgentSession, FileService, Usage, IMemoryProvider, Policy } from '@corenel/protocol';
6
5
  import { allTools } from '@corenel/harness/tools/builtins';
@@ -25,6 +24,7 @@ export interface SessionStorePort {
25
24
  create(title: string, surface: SessionSurface): Promise<AgentSession>;
26
25
  save(s: AgentSession): Promise<void>;
27
26
  delete(id: string): Promise<void>;
27
+ rename(id: string, title: string): Promise<void>;
28
28
  }
29
29
  export interface ModelInfo {
30
30
  provider: string;
@@ -180,6 +180,7 @@ export interface RuntimeHost {
180
180
  /** Transform the policy resolved from SendOpts.policyName before it reaches the
181
181
  * worker. Craft uses it to auto-allow writes that its file jail confines. */
182
182
  policy?: (selected: Policy) => Policy;
183
+ moveSession?: (sessionId: string, projectRoot: string) => Promise<string>;
183
184
  }
184
185
  type PolicyName = string;
185
186
  /** Per-send options `send`/`retry` accept — all optional beyond the two the
@@ -361,6 +362,14 @@ export declare class AgentRuntime {
361
362
  /** The active file workspace (the page shows its label as a context chip). */
362
363
  fileService(): FileService | null;
363
364
  workspace(): RuntimeWorkspace;
365
+ /** The tag this runtime's sessions are stored under (`agent`, `craft`, …). */
366
+ get sessionSurface(): SessionSurface;
367
+ /** The store this runtime's sessions live in — for a host that lists or
368
+ * renames them outside a turn. */
369
+ sessionStore(): SessionStorePort;
370
+ /** Workspace-relative root the sessions (and their recall blobs) sit under.
371
+ * Resolved per call: the host's function may follow the active workspace. */
372
+ sessionsRoot(): string;
364
373
  private ensure;
365
374
  private notify;
366
375
  private notifyGlobal;
@@ -393,7 +402,8 @@ export declare class AgentRuntime {
393
402
  clear(id: string): void;
394
403
  /** Append a local assistant-style notice turn (e.g. a /model confirmation) — not
395
404
  * sent to the model, just shown in the transcript. */
396
- note(id: string, text: string): void;
405
+ note(id: string, text: string, extra?: Partial<ConversationTurn>): void;
406
+ noteCheckpoint(id: string, collapsed: number, body?: string): void;
397
407
  /** Show a message in the transcript as YOUR turn, without adding it to what
398
408
  * gets sent. Used for injected messages: the real copy is already in the
399
409
  * run's own message list (the loop appended it), so an included turn here
@@ -464,15 +474,22 @@ export declare class AgentRuntime {
464
474
  * already-resolved workspace rather than ws(), because this runs during render
465
475
  * and must not install the files resolver as a side effect. */
466
476
  systemSource(parts: SystemParts): string;
467
- /** Every system prompt this surface can run under: the open project's
468
- * `<state dir>/systems/`, then the host config's `systems/`. */
469
- listSystemPrompts(): Promise<SystemPromptEntry[]>;
470
- /** What was chosen in THIS chat, or null when it follows the default. */
471
- systemPromptChoice(id: string): string | null;
472
477
  /** What the next run of `id` asks for: this chat's choice, else the default. */
478
+ /** Decide and record this conversation's system config, once. */
479
+ private freezeSystemConfig;
480
+ /** The prompt selection this conversation runs under.
481
+ *
482
+ * From the SNAPSHOT, not the live default. It used to read
483
+ * `sessionSystemPrompt(id) ?? host.defaultSystemPrompt()` on every run, so a
484
+ * chat that had chosen nothing followed whatever Settings said today --
485
+ * editing Settings silently rewrote the cached prefix of every open
486
+ * conversation, with no interaction with those chats at all. */
473
487
  systemPromptSelection(id: string): string | null;
474
- /** Choose a prompt for `id`; null returns the chat to the default. */
475
- setSystemPromptSelection(id: string, selection: string | null): void;
488
+ /** The system-prompt parts this conversation composes with — the other half
489
+ * of the same prefix, frozen for the same reason. */
490
+ systemPartsFor(id: string): SystemParts;
491
+ /** Test seam: drop a session's snapshot to stand in for a legacy session. */
492
+ clearSystemConfigForTest(id: string): void;
476
493
  private chosenSystemPrompt;
477
494
  private composeSystem;
478
495
  /** Send a message and run the agent for `id`. Concurrent with other sessions:
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -2,14 +2,19 @@ import { createWorkerAgent } from './workerClient';
2
2
  import { createRunWatchdog } from './runWatchdog';
3
3
  import { listDocs, deleteDocsForSession } from './contextDocs';
4
4
  import { loadedToolNames, setLoadedTools } from './sessionLoadedTools';
5
- import { sessionSystemPrompt, setSessionSystemPrompt } from './sessionSystemPrompt';
6
- import { stateDirName } from '@corenel/protocol';
5
+ /* Read-only now: a conversation from before the snapshot may carry an explicit
6
+ * choice, which freezeSystemConfig honours. Nothing writes one any more — a
7
+ * chat's prompt is decided when it starts. */
8
+ import { sessionSystemPrompt } from './sessionSystemPrompt';
9
+ import { sessionSystemConfig, freezeSessionSystemConfig, clearSessionSystemConfig } from './sessionSystemConfig';
10
+ import { stateDirName, sessionsRoot } from '@corenel/protocol';
7
11
  import { listSystemPrompts, resolveSystemPrompt, readSystemPromptSource } from '@corenel/harness/prompts/systemPrompts';
8
12
  import { allTools } from '@corenel/harness/tools/builtins';
9
13
  import { applyTodoWrite, addActivity, resolveActivity } from '@corenel/harness/todos';
10
14
  import { getPolicy, STANDARD_POLICY } from '@corenel/harness/guardrail';
11
15
  import { composeAgentSystem, TOOLS_MARKER } from '@corenel/harness/prompts';
12
16
  import { getSystemParts } from '@corenel/harness/systemParts';
17
+ import { CHECKPOINT_MARKER } from '@corenel/harness/core/compactHistory';
13
18
  // The agent's model is the user's picker selection (getModel) — a real
14
19
  // catalog entry, so pricing/context come from host.modelInfo, not hardcoded figures.
15
20
  const WATCHDOG_MS = 45000;
@@ -178,6 +183,25 @@ export class AgentRuntime {
178
183
  /** The active file workspace (the page shows its label as a context chip). */
179
184
  fileService() { return this.ws().get(); }
180
185
  workspace() { return this.ws(); }
186
+ /* ---- where this runtime's chats live -------------------------------------
187
+ *
188
+ * A surface that can be handed DIFFERENT runtimes (the merged workspace is,
189
+ * once a project is open) must not be told separately which store to list,
190
+ * which surface tag to list under and where the recall blobs sit. Three
191
+ * props that have to agree is three ways to disagree, and the failure is
192
+ * silent: a list that reads the wrong store shows an empty sidebar, which
193
+ * looks like having no chats rather than like a wiring mistake.
194
+ *
195
+ * So the runtime answers all three. It already knows: they are the host it
196
+ * was built with. */
197
+ /** The tag this runtime's sessions are stored under (`agent`, `craft`, …). */
198
+ get sessionSurface() { return this.surface; }
199
+ /** The store this runtime's sessions live in — for a host that lists or
200
+ * renames them outside a turn. */
201
+ sessionStore() { return this.host.sessions; }
202
+ /** Workspace-relative root the sessions (and their recall blobs) sit under.
203
+ * Resolved per call: the host's function may follow the active workspace. */
204
+ sessionsRoot() { return this.host.sessionsRoot ? this.host.sessionsRoot() : sessionsRoot(); }
181
205
  /* ---- reactivity ---- */
182
206
  ensure(id) {
183
207
  let s = this.map.get(id);
@@ -238,7 +262,30 @@ export class AgentRuntime {
238
262
  return;
239
263
  const ses = await this.host.sessions.get(id);
240
264
  s.turns = ses?.messages || [];
241
- s.loaded = true;
265
+ /* ONLY ON A HIT. A miss used to be cached exactly like a hit, and that made
266
+ * it permanent: the session could arrive a moment later and this would
267
+ * never look again, because the guard above returns on `loaded`.
268
+ *
269
+ * It arrives a moment later more often than it sounds. A thread MOVED into
270
+ * a project (the handover offer) is read by the project's runtime, and if
271
+ * anything asked for it before the move landed, the runtime cached "no such
272
+ * session, zero turns" and showed an empty transcript for a conversation
273
+ * that was sitting on disk. Reported as "it brought the chat over but was
274
+ * empty"; switching away and back appeared to fix it only because that went
275
+ * through a different runtime.
276
+ *
277
+ * Leaving it unloaded costs one more read the next time something asks,
278
+ * and `load` is called from an effect keyed on the session and the runtime
279
+ * -- not per render -- so a genuinely absent session does not spin. */
280
+ if (ses)
281
+ s.loaded = true;
282
+ /* MIGRATION. A conversation from before the snapshot existed has none, and
283
+ * would otherwise keep following the live Settings default forever. Opening
284
+ * it freezes it at what it would have used at this moment, so nothing
285
+ * visibly changes for it and the drift stops. Guarded, because a second
286
+ * freeze would re-decide a live chat at today's defaults. */
287
+ if (!sessionSystemConfig(id))
288
+ this.freezeSystemConfig(id);
242
289
  this.notify(id);
243
290
  }
244
291
  async openInitial() {
@@ -273,6 +320,10 @@ export class AgentRuntime {
273
320
  const ses = await this.host.sessions.create('New chat', this.surface);
274
321
  const s = this.ensure(ses.id);
275
322
  s.loaded = true;
323
+ // The system prompt is the head of the cached prefix, so this conversation's
324
+ // config is decided HERE and read from the snapshot after -- see
325
+ // sessionSystemConfig. Settings decides what the next one starts with.
326
+ this.freezeSystemConfig(ses.id);
276
327
  this.notifyGlobal();
277
328
  return ses.id;
278
329
  }
@@ -281,6 +332,8 @@ export class AgentRuntime {
281
332
  this.map.get(id)?.abort?.abort();
282
333
  this.map.delete(id);
283
334
  this.subs.delete(id);
335
+ // The frozen system config goes with the conversation it described.
336
+ clearSessionSystemConfig(id);
284
337
  await this.host.sessions.delete(id).catch(() => { });
285
338
  deleteDocsForSession(id);
286
339
  this.notifyGlobal();
@@ -301,12 +354,32 @@ export class AgentRuntime {
301
354
  }
302
355
  /** Append a local assistant-style notice turn (e.g. a /model confirmation) — not
303
356
  * sent to the model, just shown in the transcript. */
304
- note(id, text) {
357
+ note(id, text, extra) {
305
358
  const s = this.ensure(id);
306
- const turn = { id: `n${Date.now().toString(36)}`, included: false, messages: [{ role: 'assistant', content: text }] };
359
+ const turn = { id: `n${Date.now().toString(36)}`, included: false, messages: [{ role: 'assistant', content: text }], ...extra };
307
360
  this.patch(id, { turns: [...s.turns, turn] });
308
361
  void this.persist(id);
309
362
  }
363
+ /* The compaction seam. PERMANENT in the transcript, per the `checkpoint`
364
+ * event's contract: compaction is lossy, and a person who cannot see that it
365
+ * happened has no way to explain why the agent stopped remembering
366
+ * something.
367
+ *
368
+ * Recorded as an unsent note. The collapse already happened inside the run's
369
+ * own message array, so a seam that counted as conversation would describe
370
+ * the compaction back to the model on every later turn. */
371
+ noteCheckpoint(id, collapsed, body) {
372
+ const n = collapsed === 1 ? '1 message' : `${collapsed} messages`;
373
+ /* CHECKPOINT_MARKER, not the literal it happens to equal: a surface that
374
+ * recognizes seams (the transcript band, the context strip) looks for the
375
+ * marker the harness writes, and two copies of one string is how they end
376
+ * up looking for different things.
377
+ *
378
+ * The body rides along so the seam can be READ. It was dropped here before
379
+ * -- the event carries it, and this took only the count -- which left the
380
+ * one question a seam raises with no answer anywhere in the UI. */
381
+ this.note(id, `${CHECKPOINT_MARKER}${n} collapsed — earlier context is summarized from here`, body ? { checkpoint: body } : undefined);
382
+ }
310
383
  /** Show a message in the transcript as YOUR turn, without adding it to what
311
384
  * gets sent. Used for injected messages: the real copy is already in the
312
385
  * run's own message list (the loop appended it), so an included turn here
@@ -467,22 +540,37 @@ export class AgentRuntime {
467
540
  return path?.split('/').pop() || 'system-base.md';
468
541
  }
469
542
  /* ---- system prompt selection (per conversation, Settings default) ---- */
470
- /** Every system prompt this surface can run under: the open project's
471
- * `<state dir>/systems/`, then the host config's `systems/`. */
472
- listSystemPrompts() {
473
- return listSystemPrompts({ project: this.ws().get(), projectDir: stateDirName() });
474
- }
475
- /** What was chosen in THIS chat, or null when it follows the default. */
476
- systemPromptChoice(id) {
477
- return sessionSystemPrompt(id);
478
- }
479
543
  /** What the next run of `id` asks for: this chat's choice, else the default. */
544
+ /** Decide and record this conversation's system config, once. */
545
+ freezeSystemConfig(id) {
546
+ freezeSessionSystemConfig(id, {
547
+ // An explicit per-chat choice (a legacy session may carry one) outranks
548
+ // the default it would otherwise inherit.
549
+ prompt: sessionSystemPrompt(id) ?? this.host.defaultSystemPrompt?.() ?? null,
550
+ parts: getSystemParts(),
551
+ });
552
+ }
553
+ /** The prompt selection this conversation runs under.
554
+ *
555
+ * From the SNAPSHOT, not the live default. It used to read
556
+ * `sessionSystemPrompt(id) ?? host.defaultSystemPrompt()` on every run, so a
557
+ * chat that had chosen nothing followed whatever Settings said today --
558
+ * editing Settings silently rewrote the cached prefix of every open
559
+ * conversation, with no interaction with those chats at all. */
480
560
  systemPromptSelection(id) {
561
+ const frozen = sessionSystemConfig(id);
562
+ if (frozen)
563
+ return frozen.prompt;
481
564
  return sessionSystemPrompt(id) ?? this.host.defaultSystemPrompt?.() ?? null;
482
565
  }
483
- /** Choose a prompt for `id`; null returns the chat to the default. */
484
- setSystemPromptSelection(id, selection) {
485
- setSessionSystemPrompt(id, selection);
566
+ /** The system-prompt parts this conversation composes with — the other half
567
+ * of the same prefix, frozen for the same reason. */
568
+ systemPartsFor(id) {
569
+ return sessionSystemConfig(id)?.parts ?? getSystemParts();
570
+ }
571
+ /** Test seam: drop a session's snapshot to stand in for a legacy session. */
572
+ clearSystemConfigForTest(id) {
573
+ clearSessionSystemConfig(id);
486
574
  }
487
575
  /* The selection, resolved against what exists NOW, or null for the base.
488
576
  *
@@ -536,7 +624,7 @@ export class AgentRuntime {
536
624
  for (const d of listDocs(id)) {
537
625
  blocks.push(`--- Attached document: ${d.name} ---\n${d.text}`);
538
626
  }
539
- const p = partsOverride ?? getSystemParts();
627
+ const p = partsOverride ?? this.systemPartsFor(id);
540
628
  /* Precedence: "Use base prompt" forces the base; a host's own path (the
541
629
  * editor's per-filetype prompt, crew's agent prompt) wins next; then the
542
630
  * prompt chosen for this chat or by default. */
@@ -737,6 +825,22 @@ export class AgentRuntime {
737
825
  return r;
738
826
  }
739
827
  : undefined,
828
+ /* start_project offering to bring the conversation with it. The run is
829
+ * STILL WRITING, so this cannot be file work the tool does on its own:
830
+ * only here is it known which session this run belongs to, and only
831
+ * here can the store that is saving it be re-pointed. The host does
832
+ * both, or the option is not offered at all. */
833
+ onMoveSession: this.host.moveSession
834
+ ? async (projectRoot) => {
835
+ dog.pause();
836
+ const message = await this.host.moveSession(id, projectRoot);
837
+ dog.bump();
838
+ // Its chats moved surfaces: the list this session was in no longer
839
+ // holds it, and the one it went to now does.
840
+ this.notifyGlobal();
841
+ return message;
842
+ }
843
+ : undefined,
740
844
  constraints: hasBudgetLimits ? constraints : undefined,
741
845
  price: (usage, priceModel) => this.host.price(usage, priceModel),
742
846
  onBreach: constraints.onBreach && this.host.breach
@@ -807,6 +911,10 @@ export class AgentRuntime {
807
911
  this.patch(id, { offloadTick: this.ensure(id).offloadTick + 1 });
808
912
  return;
809
913
  }
914
+ if (e.type === 'checkpoint') {
915
+ this.noteCheckpoint(id, e.collapsed, e.checkpoint);
916
+ return;
917
+ }
810
918
  if (e.type === 'tools-loaded') {
811
919
  setLoadedTools(id, e.names);
812
920
  return;
@@ -861,7 +969,18 @@ export class AgentRuntime {
861
969
  });
862
970
  // Stitch each tool call's measured duration onto its tool message (`_ms`).
863
971
  const ms = s.toolMs;
864
- const created = res.messages.slice(outgoing.length + 1).map((m) => {
972
+ /* FROM THE TAIL, by the count the run reports — never an absolute offset
973
+ * into what we sent.
974
+ *
975
+ * This was `res.messages.slice(outgoing.length + 1)`, which assumed the
976
+ * loop only ever APPENDS to the array it was handed. Rung-2 compaction
977
+ * rewrites it in place and the rewrite is shorter than the input, so the
978
+ * offset ran off the end, the slice came back empty, and the reply the
979
+ * run had just produced was dropped: the transcript kept the user's
980
+ * message and nothing else, as though the agent never answered. With
981
+ * compaction on by default in the browser, that was every turn of a
982
+ * conversation past 86% fill. */
983
+ const created = res.messages.slice(res.messages.length - res.appended).map((m) => {
865
984
  const tid = m.tool_call_id;
866
985
  return m.role === 'tool' && tid && ms[tid] != null ? { ...m, _ms: ms[tid] } : m;
867
986
  });