@gaunt-sloth/core 2.0.0-beta.4 → 2.0.0-beta.6

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 (94) hide show
  1. package/dist/config/schema.d.ts +4 -0
  2. package/dist/config/schema.js +64 -2
  3. package/dist/config/schema.js.map +1 -1
  4. package/dist/config/tokenBudget.d.ts +88 -0
  5. package/dist/config/tokenBudget.js +155 -0
  6. package/dist/config/tokenBudget.js.map +1 -0
  7. package/dist/config/types.d.ts +33 -4
  8. package/dist/config/types.js.map +1 -1
  9. package/dist/config.d.ts +1 -0
  10. package/dist/config.js +5 -0
  11. package/dist/config.js.map +1 -1
  12. package/dist/core/GthAbstractAgent.d.ts +24 -0
  13. package/dist/core/GthAbstractAgent.js +37 -1
  14. package/dist/core/GthAbstractAgent.js.map +1 -1
  15. package/dist/core/GthAgentRunner.d.ts +216 -1
  16. package/dist/core/GthAgentRunner.js +424 -3
  17. package/dist/core/GthAgentRunner.js.map +1 -1
  18. package/dist/core/GthLangChainAgent.d.ts +196 -0
  19. package/dist/core/GthLangChainAgent.js +392 -2
  20. package/dist/core/GthLangChainAgent.js.map +1 -1
  21. package/dist/core/approvals/approvalRequest.d.ts +142 -0
  22. package/dist/core/approvals/approvalRequest.js +198 -3
  23. package/dist/core/approvals/approvalRequest.js.map +1 -1
  24. package/dist/core/approvals/conversationGrants.d.ts +60 -0
  25. package/dist/core/approvals/conversationGrants.js +77 -0
  26. package/dist/core/approvals/conversationGrants.js.map +1 -0
  27. package/dist/core/approvals/grants.d.ts +16 -0
  28. package/dist/core/approvals/grants.js +20 -5
  29. package/dist/core/approvals/grants.js.map +1 -1
  30. package/dist/core/compaction.d.ts +181 -0
  31. package/dist/core/compaction.js +293 -0
  32. package/dist/core/compaction.js.map +1 -0
  33. package/dist/core/compactionThreshold.d.ts +158 -0
  34. package/dist/core/compactionThreshold.js +183 -0
  35. package/dist/core/compactionThreshold.js.map +1 -0
  36. package/dist/core/contextWindow.d.ts +146 -0
  37. package/dist/core/contextWindow.js +256 -0
  38. package/dist/core/contextWindow.js.map +1 -0
  39. package/dist/core/exitOutputChannel.d.ts +51 -0
  40. package/dist/core/exitOutputChannel.js +65 -0
  41. package/dist/core/exitOutputChannel.js.map +1 -0
  42. package/dist/core/refusal.d.ts +17 -2
  43. package/dist/core/refusal.js +80 -14
  44. package/dist/core/refusal.js.map +1 -1
  45. package/dist/core/runStats.d.ts +1 -1
  46. package/dist/core/terminationNotice.d.ts +8 -0
  47. package/dist/core/terminationNotice.js +10 -4
  48. package/dist/core/terminationNotice.js.map +1 -1
  49. package/dist/core/terminationReason.d.ts +28 -0
  50. package/dist/core/terminationReason.js +27 -0
  51. package/dist/core/terminationReason.js.map +1 -1
  52. package/dist/core/types.d.ts +35 -1
  53. package/dist/core/types.js.map +1 -1
  54. package/dist/history/checkpointRetention.d.ts +279 -0
  55. package/dist/history/checkpointRetention.js +567 -0
  56. package/dist/history/checkpointRetention.js.map +1 -0
  57. package/dist/history/checkpointSaver.d.ts +93 -0
  58. package/dist/history/checkpointSaver.js +464 -0
  59. package/dist/history/checkpointSaver.js.map +1 -0
  60. package/dist/history/historyEnabled.d.ts +27 -0
  61. package/dist/history/historyEnabled.js +23 -0
  62. package/dist/history/historyEnabled.js.map +1 -0
  63. package/dist/history/historyFormat.d.ts +27 -0
  64. package/dist/history/historyFormat.js +125 -2
  65. package/dist/history/historyFormat.js.map +1 -1
  66. package/dist/history/historyStore.d.ts +61 -0
  67. package/dist/history/historyStore.js +180 -7
  68. package/dist/history/historyStore.js.map +1 -1
  69. package/dist/history/recordSession.d.ts +84 -22
  70. package/dist/history/recordSession.js +187 -12
  71. package/dist/history/recordSession.js.map +1 -1
  72. package/dist/history/sessionCheckpointer.d.ts +48 -0
  73. package/dist/history/sessionCheckpointer.js +200 -0
  74. package/dist/history/sessionCheckpointer.js.map +1 -0
  75. package/dist/index.d.ts +6 -0
  76. package/dist/index.js +8 -0
  77. package/dist/index.js.map +1 -1
  78. package/dist/providers/modelCatalog.d.ts +14 -0
  79. package/dist/providers/modelCatalog.js +4 -0
  80. package/dist/providers/modelCatalog.js.map +1 -1
  81. package/dist/providers/modelDiscovery.d.ts +3 -1
  82. package/dist/providers/modelDiscovery.js +22 -8
  83. package/dist/providers/modelDiscovery.js.map +1 -1
  84. package/dist/providers/ollama.js +3 -19
  85. package/dist/providers/ollama.js.map +1 -1
  86. package/dist/runtime/conversation.js +7 -1
  87. package/dist/runtime/conversation.js.map +1 -1
  88. package/dist/runtime/singleShot.js +6 -1
  89. package/dist/runtime/singleShot.js.map +1 -1
  90. package/dist/utils/consoleUtils.d.ts +77 -0
  91. package/dist/utils/consoleUtils.js +81 -0
  92. package/dist/utils/consoleUtils.js.map +1 -1
  93. package/package.json +2 -2
  94. package/schema/gsloth-config.schema.json +33 -14
@@ -3,6 +3,7 @@ import { AgentResolvers, AgentStreamEvent, GthAgentInitOptions, GthAgentInterfac
3
3
  import type { GthOutputHeaderRung } from '#src/config/schema.js';
4
4
  import type { DeclaredToolAnnotations } from '#src/core/approvals/annotations.js';
5
5
  import type { DebugCapture, DebugRequestExtras, LastModelRequest } from '#src/core/debugCapture.js';
6
+ import type { AutocompactController } from '#src/core/compactionThreshold.js';
6
7
  import { BaseMessage } from '@langchain/core/messages';
7
8
  import { RunnableConfig } from '@langchain/core/runnables';
8
9
  import { BaseToolkit, StructuredToolInterface } from '@langchain/core/tools';
@@ -57,6 +58,18 @@ export declare abstract class GthAbstractAgent implements GthAgentInterface {
57
58
  * only the LAST call — no accumulation, so the "pay nothing until you need it" intent is kept.
58
59
  */
59
60
  lastModelRequest: LastModelRequest | undefined;
61
+ /**
62
+ * EXT-161 — the preventive compaction threshold in force, and the session's ability to move it.
63
+ *
64
+ * Set by the backend's `init` once the model is resolved, because the threshold is derived from
65
+ * that model's context window. It is the SAME object the context guard reads before every model
66
+ * call, so `/status` cannot advertise a threshold the guard is not enforcing and `/autocompact`
67
+ * cannot set one the guard will not see.
68
+ *
69
+ * Undefined before `init`, and on a surface with no lean graph behind it (the TUI fixture agent),
70
+ * where `/autocompact` and `/status` say the threshold is unavailable rather than inventing one.
71
+ */
72
+ autocompact: AutocompactController | undefined;
60
73
  /**
61
74
  * GS2-56 — stash the last model request (the as-sent messages + {@link DebugRequestExtras}).
62
75
  * Called unconditionally from each backend's capture middleware, independent of the debug sink,
@@ -255,6 +268,17 @@ export declare abstract class GthAbstractAgent implements GthAgentInterface {
255
268
  * state shape, or any error yields 0 (worst case a one-turn over-count, never a throw).
256
269
  */
257
270
  private getStateMessageCount;
271
+ /**
272
+ * GS2-23 — the thread's conversation as the checkpointed graph holds it. Loud, unlike
273
+ * `getStateMessageCount`: a compaction that cannot read the state must not proceed on an
274
+ * empty list and report that it folded nothing.
275
+ */
276
+ getConversationMessages(runConfig: RunnableConfig): Promise<BaseMessage[]>;
277
+ /**
278
+ * GS2-23 — replace the thread's conversation through the graph's own `updateState`, so the
279
+ * compacted history is checkpointed and the next turn (and a later resume) loads it.
280
+ */
281
+ replaceConversationMessages(runConfig: RunnableConfig, messages: BaseMessage[]): Promise<void>;
258
282
  /**
259
283
  * Build the underlying compiled graph and assign it to {@link agent}. This is the part a
260
284
  * backend implements; everything else on the base is shared.
@@ -3,6 +3,7 @@ import { StatusLevel, } from '#src/core/types.js';
3
3
  import { accumulateMessage, createRunStatsAccumulator, finalizeRunStats, } from '#src/core/runStats.js';
4
4
  import { collectDeclaredMcpToolAnnotations } from '#src/core/approvals/toolAnnotationSources.js';
5
5
  import { modelProviderLabel } from '#src/core/modelLabel.js';
6
+ import { replaceGraphMessages } from '#src/core/compaction.js';
6
7
  import { createPlainToolIndication } from '#src/core/plainToolIndication.js';
7
8
  import { runHeaderLine } from '#src/core/runHeader.js';
8
9
  import { debugLog, debugLogError, debugLogObject } from '#src/utils/debugUtils.js';
@@ -255,6 +256,18 @@ export class GthAbstractAgent {
255
256
  * only the LAST call — no accumulation, so the "pay nothing until you need it" intent is kept.
256
257
  */
257
258
  lastModelRequest;
259
+ /**
260
+ * EXT-161 — the preventive compaction threshold in force, and the session's ability to move it.
261
+ *
262
+ * Set by the backend's `init` once the model is resolved, because the threshold is derived from
263
+ * that model's context window. It is the SAME object the context guard reads before every model
264
+ * call, so `/status` cannot advertise a threshold the guard is not enforcing and `/autocompact`
265
+ * cannot set one the guard will not see.
266
+ *
267
+ * Undefined before `init`, and on a surface with no lean graph behind it (the TUI fixture agent),
268
+ * where `/autocompact` and `/status` say the threshold is unavailable rather than inventing one.
269
+ */
270
+ autocompact;
258
271
  /**
259
272
  * GS2-56 — stash the last model request (the as-sent messages + {@link DebugRequestExtras}).
260
273
  * Called unconditionally from each backend's capture middleware, independent of the debug sink,
@@ -548,6 +561,29 @@ export class GthAbstractAgent {
548
561
  return 0;
549
562
  }
550
563
  }
564
+ /**
565
+ * GS2-23 — the thread's conversation as the checkpointed graph holds it. Loud, unlike
566
+ * `getStateMessageCount`: a compaction that cannot read the state must not proceed on an
567
+ * empty list and report that it folded nothing.
568
+ */
569
+ async getConversationMessages(runConfig) {
570
+ if (!this.agent || typeof this.agent.getState !== 'function') {
571
+ throw new Error('This agent exposes no conversation state to read.');
572
+ }
573
+ const state = await this.agent.getState(runConfig);
574
+ const messages = state?.values?.messages;
575
+ return Array.isArray(messages) ? messages : [];
576
+ }
577
+ /**
578
+ * GS2-23 — replace the thread's conversation through the graph's own `updateState`, so the
579
+ * compacted history is checkpointed and the next turn (and a later resume) loads it.
580
+ */
581
+ async replaceConversationMessages(runConfig, messages) {
582
+ if (!this.agent || typeof this.agent.updateState !== 'function') {
583
+ throw new Error('This agent exposes no conversation state to write.');
584
+ }
585
+ await replaceGraphMessages(this.agent, runConfig, messages);
586
+ }
551
587
  /**
552
588
  * EXT-37 — surface a detected content-policy refusal: emit the clear, user-facing explanation at
553
589
  * WARNING level (an empty-content refusal streams nothing, so without this the console shows
@@ -589,7 +625,7 @@ export class GthAbstractAgent {
589
625
  const priorMessageCount = await this.getStateMessageCount(runConfig);
590
626
  const response = await this.agent.invoke({ messages }, runConfig);
591
627
  // Harvest token usage + invoked tool names from THIS turn's new messages only (fail-soft)
592
- // so the opt-in history recorder can populate `gth insights`.
628
+ // so the local history recorder can populate `gth insights`.
593
629
  // TUI-C32 residual f — the streaming path renders the compact per-tool indication via
594
630
  // streamFromInput's observer; the non-streaming invoke path (`streamOutput: false`) had
595
631
  // none, so a plain-surface tool call surfaced nothing after the legacy fs notices were
@@ -1 +1 @@
1
- {"version":3,"file":"GthAbstractAgent.js","sourceRoot":"","sources":["../../src/core/GthAbstractAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GthAbstractAgent.js","sourceRoot":"","sources":["../../src/core/GthAbstractAgent.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,13 @@ import { type AllowlistCounts, type ApprovalRefusal, type ApprovalRefusalLift, t
2
2
  import { BaseCheckpointSaver } from '@langchain/langgraph';
3
3
  import { AgentResolvers, AgentStreamEvent, type ApprovalOutcomeCallback, type AttackHaltCallback, GthAgentFactory, GthAgentInterface, GthCommand, GthRunStats, type GthTerminationReason, Message, StatusUpdateCallback, ToolApprovalCallback } from '#src/core/types.js';
4
4
  import { type ApprovalGrant } from '#src/core/approvals/grants.js';
5
+ import type { ConversationGrants } from '#src/core/approvals/conversationGrants.js';
5
6
  import { type GthFinishReasonObservation } from '#src/core/terminationReason.js';
6
7
  import { type ApprovalDecisionCapture } from '#src/core/shell/approvalCapture.js';
7
8
  import { type NegotiationDisplay } from '#src/core/shell/negotiation.js';
9
+ import { type CompactConversationOptions, type ConversationCompaction } from '#src/core/compaction.js';
10
+ import type { AutocompactStatus } from '#src/core/compactionThreshold.js';
11
+ import type { TokenBudget } from '#src/config/tokenBudget.js';
8
12
  /**
9
13
  * EXT-114 — the page describing the `subagents` config key, pointed at rather than paraphrased in
10
14
  * the notice itself.
@@ -45,6 +49,19 @@ export interface GthAgentRunnerInitOptions {
45
49
  * run that does have a verb but does not go by its name.
46
50
  */
47
51
  displayCommand?: string;
52
+ /**
53
+ * GS2-20 — the LangGraph thread this run drives, instead of the fresh one `init` would mint.
54
+ *
55
+ * It is what makes a durable checkpointer useful in both directions: a session supplies the id it
56
+ * has already recorded against its conversation row, so the state it writes can be found again;
57
+ * and a resume supplies a stored id, so the graph comes back holding what it held. Omitted, the
58
+ * runner mints a fresh thread exactly as before.
59
+ *
60
+ * Note that `/clear` ({@link GthAgentRunner#resetThread}) deliberately rotates to a NEW thread, so
61
+ * after one the id recorded against the conversation names the state from before the clear — which
62
+ * is the correct thing for it to name, since that is the state the user asked to leave behind.
63
+ */
64
+ threadId?: string;
48
65
  }
49
66
  /**
50
67
  * Agent simplifies interaction with LLM and reduces it to calling a few methods
@@ -122,6 +139,12 @@ export declare class GthAgentRunner {
122
139
  * after {@link cleanup} has already dropped the agent.
123
140
  */
124
141
  private agentFinishReasons;
142
+ /**
143
+ * GS2-23 — how many turns are being driven right now, through either driver. Read by
144
+ * {@link compactConversation}, which refuses to rewrite the thread underneath a running turn:
145
+ * the graph would be writing checkpoints for the turn while the compaction wrote a competing one.
146
+ */
147
+ private turnsInFlight;
125
148
  /**
126
149
  * CFG-27 — the runtime, session-scoped approvals posture, seeded at {@link init} from
127
150
  * {@link resolveApprovals} and thereafter switchable for the session by `/approvals <rung>`.
@@ -173,6 +196,15 @@ export declare class GthAgentRunner {
173
196
  * both are handed to the same matcher, so a runtime refusal and a declared one are one list.
174
197
  */
175
198
  private denyGrants;
199
+ /**
200
+ * GS2-20 — told whenever the session-scoped contents of {@link sessionGrants} or
201
+ * {@link denyGrants} change, so the session can write them against its conversation and a resume
202
+ * can restore them. Set via {@link setSessionGrantsListener}; `null` means nobody records them,
203
+ * which is where every surface without a conversation row (ACP, AG-UI, a single-shot run) stays.
204
+ * Deliberately NOT fired by {@link resumeConversation}: what it installs was read from the store
205
+ * a moment ago, and writing it straight back would be a no-op with a disk write in it.
206
+ */
207
+ private sessionGrantsListener;
176
208
  /**
177
209
  * The persisted (`always`) grant store, loaded lazily on first use from
178
210
  * `.gsloth/.gsloth-settings/shell-allowlist.json`. Null until a gated call actually needs it, and
@@ -371,6 +403,58 @@ export declare class GthAgentRunner {
371
403
  * would put what the gate matches against one property assignment away from any consumer.
372
404
  */
373
405
  getGrants(): ApprovalGrant[];
406
+ /**
407
+ * GS2-20 — **the grants that belong to the conversation**: every `session`-scoped entry in the
408
+ * two runtime stores, deep-copied on the way out for the reason {@link getGrants} gives.
409
+ *
410
+ * `always` entries are deliberately left out. They mirror the project's allow-list / deny-list
411
+ * files, which every run reads for itself; recording them against the conversation as well would
412
+ * make one decision two records that can disagree, and a resume that restored a lifted one would
413
+ * resurrect a refusal the person had already removed. What is here is exactly what a fresh
414
+ * process would otherwise have lost.
415
+ */
416
+ getSessionScopedGrants(): ConversationGrants;
417
+ /**
418
+ * GS2-20 — hear about every change to the conversation's grants ({@link getSessionScopedGrants}),
419
+ * after it has landed. The session records them against its conversation row, which is how a
420
+ * grant outlives the process and reaches a resume. Pass `null` to stop listening.
421
+ */
422
+ setSessionGrantsListener(listener: (() => void) | null): void;
423
+ /** Fire the listener; a listener that throws must not turn a recorded grant into a failed turn. */
424
+ private notifySessionGrantsChanged;
425
+ /**
426
+ * GS2-20 — **re-enter a stored conversation: its thread, and its grants.** The ONE seam both
427
+ * `--resume <id>` (at boot, after {@link init}) and `/resume <id>` (mid-session) go through, so
428
+ * the two spellings cannot come to mean different things.
429
+ *
430
+ * The thread half is {@link resetThread}'s rotation pointed at a stored id instead of a fresh
431
+ * one: the durable checkpointer is one database serving any thread, so re-entering a conversation
432
+ * needs no new saver, only `configurable.thread_id` naming the thread whose checkpoint holds its
433
+ * state. The negotiation window and the rater's noted clarifications go with the old thread for
434
+ * the reason {@link resetThread} gives — they are context of the conversation being LEFT.
435
+ *
436
+ * The grants half replaces the session-scoped grants with the conversation's own. Replaces, not
437
+ * adds: a grant's lifetime is the conversation, so what the session granted while it was in
438
+ * another conversation does not follow it here — that stays recorded against the conversation it
439
+ * was made in. The `always` mirrors stay, because the project files they mirror are still in
440
+ * force. Every restored grant is stamped `session` whatever the document said, since that is the
441
+ * only scope this seam is handed and the only one the stores should hold for it.
442
+ *
443
+ * The listener is NOT fired: what was installed is what the store already holds.
444
+ *
445
+ * **Refuses while a turn is running, and refuses a graph suspended on a pending tool approval**
446
+ * — the same two refusals as {@link compactConversation}, for the same reason: the runnable
447
+ * config is what the in-flight work resumes through. Measured without the guard: a mid-turn
448
+ * call returned normally, the turn's approval `Command({ resume })` then went to the OTHER
449
+ * thread, the gated tool never ran, the turn died as "Model returned an empty response after
450
+ * tool execution" — a failure blamed on the model — and the thread being resumed INTO received
451
+ * a checkpoint from the turn being left. Neither shipped surface can reach this (`/resume` is
452
+ * idle-only on both), so this is the seam refusing on its own behalf, for its next caller.
453
+ */
454
+ resumeConversation(target: {
455
+ threadId: string;
456
+ grants: ConversationGrants;
457
+ }): Promise<void>;
374
458
  /**
375
459
  * §4.7.1 — **which of each server's annotation hints this session believes**, for display.
376
460
  *
@@ -442,6 +526,19 @@ export declare class GthAgentRunner {
442
526
  * processMessages deals with both streaming and non-streaming approaches.
443
527
  */
444
528
  processMessages(messages: Message[]): Promise<string>;
529
+ /**
530
+ * The turn itself, separated from the per-turn bookkeeping above so [[EXT-160]] can run it twice.
531
+ *
532
+ * `attempt` is 0 for the turn the user asked for and 1 for the single retry that follows a
533
+ * compaction; nothing else calls this. The retry passes an EMPTY message list, because the user's
534
+ * message is already in the graph's state — the input step commits before the model step throws
535
+ * (measured), so re-sending it would append a second copy of the same turn.
536
+ *
537
+ * The preamble is deliberately NOT repeated on the retry: resetting the analytics tally, ending
538
+ * the negotiation and re-recording the crash transcript are things a NEW user turn does, and a
539
+ * retry is the same turn being attempted again.
540
+ */
541
+ private runTurn;
445
542
  /**
446
543
  * Accumulate a text stream into a single string. Extracted so {@link processMessages} and
447
544
  * the interrupt-resume loop ({@link resolveToolInterrupts}) drain streams identically.
@@ -1048,7 +1145,7 @@ export declare class GthAgentRunner {
1048
1145
  private captureRunStats;
1049
1146
  /**
1050
1147
  * GS2-16 — the analytics harvested from the just-finished turn (token usage + invoked tools),
1051
- * to thread into the opt-in history recorder. Reads live from the agent when one is present,
1148
+ * to thread into the local history recorder. Reads live from the agent when one is present,
1052
1149
  * otherwise the snapshot captured at {@link cleanup} (the single-shot path reads post-cleanup).
1053
1150
  * Never throws.
1054
1151
  */
@@ -1063,5 +1160,123 @@ export declare class GthAgentRunner {
1063
1160
  * of any checkpointer-specific delete API, mirroring how `init()` mints the initial config.
1064
1161
  */
1065
1162
  resetThread(): void;
1163
+ /**
1164
+ * Move the runner onto another thread: a fresh one (`/clear`) or a stored one (a resume — see
1165
+ * {@link resumeConversation}). Everything that is context of the thread being left goes with it.
1166
+ */
1167
+ private rotateThread;
1168
+ /**
1169
+ * GS2-23 — **fold the older conversation into a summary, in the live graph.** The idle,
1170
+ * user-invoked seam: what `/compact` calls between turns.
1171
+ *
1172
+ * It is not the seam for the involuntary paths. EXT-160's compact-and-retry runs inside the
1173
+ * driver's `try`, where a turn is in flight and this method refuses; that path composes
1174
+ * `compactMessages` with `replaceGraphMessages` (or the agent's `replaceConversationMessages`)
1175
+ * from inside the turn, or adds a guard-free internal when it needs one, rather than calling this.
1176
+ *
1177
+ * Reads the thread's messages from the graph, runs the shared `compactMessages` with the
1178
+ * summariser bound to the session model, and writes the replacement back through the graph's own
1179
+ * state update — so the compacted history is checkpointed and a later resume loads it compacted.
1180
+ * `after` is read back from the graph rather than computed, so the report describes what the
1181
+ * graph actually holds.
1182
+ *
1183
+ * Refuses while a turn is running (the two drivers count themselves in and out). Refuses a graph
1184
+ * suspended on a pending tool approval — idle, but not between turns: the state write lands on
1185
+ * such a graph and erases the interrupt payload (measured: one pending interrupt becomes none,
1186
+ * `next` preserved), so the approval could never be answered. A graph a THROWN turn left behind
1187
+ * is not refused: its checkpoint ends on the pending human turn with no interrupt, the write
1188
+ * lands, and the next turn runs from the compacted state. Invariant (c) is relative there — the
1189
+ * mechanism never creates a trailing assistant turn and the pending human stays last; having the
1190
+ * next human turn present before the model is invoked again is the caller's job. Does nothing on
1191
+ * a conversation no longer than the kept tail: `changed: false`, nothing written.
1192
+ */
1193
+ /**
1194
+ * EXT-161 — the preventive compaction threshold in force, with its provenance, or `undefined`
1195
+ * when this session has no resolved model to derive one from.
1196
+ *
1197
+ * Read by `/status` and by the bare `/autocompact`. Asynchronous because resolving a context
1198
+ * window can reach the models.dev cache (and, on a cold cache, the network) — memoised behind
1199
+ * the agent's one window resolution, so calling it per command costs nothing after the first.
1200
+ *
1201
+ * **Never throws.** A status line that could take a session down would be worse than a missing
1202
+ * one, and every source under it already degrades to "unknown" rather than failing.
1203
+ */
1204
+ getAutocompactStatus(): Promise<AutocompactStatus | undefined>;
1205
+ /**
1206
+ * EXT-161 — move the preventive compaction threshold for the rest of this session.
1207
+ *
1208
+ * Returns the status that LANDED, so the surface's notice describes what is actually in force
1209
+ * rather than what was asked for — the same discipline `/approvals` and `/compact` follow.
1210
+ * `undefined` when there is no resolved model, in which case nothing was changed.
1211
+ *
1212
+ * Takes an already-parsed budget: the grammar is the shared parser's, and a second entry point
1213
+ * accepting text would be a second place it could drift.
1214
+ */
1215
+ setAutocompactThreshold(budget: TokenBudget): Promise<AutocompactStatus | undefined>;
1216
+ compactConversation(options?: CompactConversationOptions): Promise<ConversationCompaction>;
1217
+ /**
1218
+ * [[EXT-160]] — the read-compact-write itself, with **no turn-state guards**: the shared internal
1219
+ * behind both the idle `/compact` above and the involuntary compact-and-retry inside a turn.
1220
+ *
1221
+ * It exists because {@link compactConversation}'s guards are exactly wrong for the involuntary
1222
+ * case. That method refuses while `turnsInFlight > 0`, and the overflow seam runs inside the
1223
+ * driver's `catch`, where the turn it is recovering is still counted in — so calling the public
1224
+ * method from there throws every time. The alternative was for the seam to compose
1225
+ * `compactMessages` with `replaceConversationMessages` itself, which is the same six steps written
1226
+ * twice: two places to keep the summariser, the keep-recent default, the read-back and the
1227
+ * `changed: false` shape in agreement. One implementation with the guards on the caller that needs
1228
+ * them is the version that cannot drift.
1229
+ *
1230
+ * **The pending-approval guard is dropped here too, and that is deliberate rather than an
1231
+ * oversight.** `/compact` refuses under a pending approval because the user is mid-decision about
1232
+ * a tool call, and folding the conversation under them would rewrite the history that decision is
1233
+ * being made against. The involuntary path cannot be in that position: it runs from the `catch`
1234
+ * of a model call that threw, and a model call that threw produced no tool call, so there is no
1235
+ * new interrupt to answer. An approval raised EARLIER in the same turn has already been resolved
1236
+ * — the driver resolves interrupts in a loop before the model is asked again — so by the time an
1237
+ * overflow can be caught, there is nothing pending for the guard to protect.
1238
+ */
1239
+ private applyCompaction;
1240
+ /**
1241
+ * [[EXT-160]] — **decide what a thrown turn's context overflow means, and act on it once.**
1242
+ *
1243
+ * Returns `true` when the conversation was made smaller and the turn is worth attempting again;
1244
+ * `false` for everything else, including every failure that is not an overflow at all, in which
1245
+ * case the caller's existing error path runs untouched.
1246
+ *
1247
+ * **The predicate is the taxonomy's, never a private one.** The category comes from the reason an
1248
+ * inner site already attached, or failing that from `classifyThrownTermination`, and the decision
1249
+ * is `remedy === 'reduce-context'` read out of the one POSTURE table. That is what makes this the
1250
+ * same fact [[EXT-159]] surfaces rather than a second opinion about it — and it is why an
1251
+ * `output_truncated` turn is not compacted here: the answer was cut off against the output cap,
1252
+ * its remedy is `change-request`, and folding the history would not add a single token of room to
1253
+ * the part that ran out. `context_overflow` is also the one category whose posture separates the
1254
+ * two facts this method depends on: retrying the SAME prompt is hopeless (`retryableAsIs: false`,
1255
+ * which is what `ContextOverflowError.getRetryable()` says too) while retrying a SMALLER one is
1256
+ * the whole move (`retryableAfterRemedy: true`).
1257
+ *
1258
+ * **One retry, and the reasons a compaction can decline.** A second overflow after the history has
1259
+ * already been folded is not worth a second fold — the tail it just kept is what the next
1260
+ * compaction would have to eat — so `attempt > 0` terminates at its own site. So does a compaction
1261
+ * that had nothing to fold, could not get a summary, or found an agent with no conversation state:
1262
+ * each is "the automatic remedy was tried and had nothing to give", which is a different fact from
1263
+ * "the model said no" and deserves to be said in its own words.
1264
+ *
1265
+ * The original overflow error is what surfaces in every declining branch. A compaction that throws
1266
+ * has its own failure logged and dropped rather than re-thrown, because replacing a diagnosis the
1267
+ * whole node exists to preserve with a summariser's stack trace buries the one useful thing the
1268
+ * turn produced.
1269
+ */
1270
+ private handleContextOverflow;
1271
+ /**
1272
+ * [[EXT-160]] — record a reason that OVERRIDES what an inner site already said, on both carriers.
1273
+ *
1274
+ * {@link noteTermination} is first-write-wins and {@link classifyThrownAt} inherits, which is
1275
+ * right for the nested wrappers they serve: the inner site saw the failure first. The overflow
1276
+ * seam is the one site that legitimately knows better — it has watched the same turn overflow
1277
+ * twice, or watched the remedy come back empty, and the wrapper that classified the throw saw
1278
+ * neither. Both carriers move together so the runner's field and the error can never disagree.
1279
+ */
1280
+ private overrideTerminationReason;
1066
1281
  cleanup(): Promise<void>;
1067
1282
  }