agent-afk 5.60.0 → 5.62.0

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.
@@ -202,6 +202,10 @@ export interface ProviderCompactResult {
202
202
  messagesBefore: number;
203
203
  messagesAfter: number;
204
204
  tokensSavedEstimate?: number;
205
+ microcompaction?: {
206
+ blocksCleared: number;
207
+ bytesReclaimed: number;
208
+ };
205
209
  }
206
210
  export interface ProviderCompleteArgs {
207
211
  system: string;
@@ -1,10 +1,13 @@
1
1
  import type { MessageParam } from '@anthropic-ai/sdk/resources';
2
2
  import type { AnthropicMessagesCreateParams } from './types.js';
3
- import { COMPACT_ACK_TEXT, COMPACT_SUMMARY_HEADER, COMPACT_SYSTEM_PROMPT, type CompactionOps } from '../shared/compaction.js';
3
+ import { COMPACT_ACK_TEXT, COMPACT_SUMMARY_HEADER, COMPACT_SYSTEM_PROMPT, type CompactionOps, type MicrocompactOps, type MicrocompactOptions, type MicrocompactResult } from '../shared/compaction.js';
4
4
  export { COMPACT_ACK_TEXT, COMPACT_SUMMARY_HEADER, COMPACT_SYSTEM_PROMPT };
5
5
  export declare function isFreshUserTurn(msg: MessageParam): boolean;
6
6
  export declare const anthropicCompactionOps: CompactionOps<MessageParam>;
7
+ export declare const anthropicMicrocompactOps: MicrocompactOps<MessageParam>;
8
+ export declare function microcompactToolResults(messages: ReadonlyArray<MessageParam>, opts?: MicrocompactOptions): MicrocompactResult;
7
9
  export declare function findCompactionBoundary(messages: ReadonlyArray<MessageParam>, keepLastN: number): number;
10
+ export declare function findCompactionBoundaryAdaptive(messages: ReadonlyArray<MessageParam>, keepLastN: number, usedFraction: number, shrinkAtFraction: number): number;
8
11
  export declare function buildSummarizationRequest(olderMessages: ReadonlyArray<MessageParam>, model: string, maxTokens: number): AnthropicMessagesCreateParams;
9
12
  export declare function applyCompaction(messages: ReadonlyArray<MessageParam>, boundary: number, summaryText: string): MessageParam[];
10
13
  export declare function estimateTokensSaved(before: ReadonlyArray<MessageParam>, boundary: number, summaryText: string): number;
@@ -1,2 +1,2 @@
1
- export { computeUsedTokens, contextWindowTokensUsed, buildContextUsageFields, shouldAutoCompact, } from '../../shared/auto-compact.js';
1
+ export { computeUsedTokens, contextWindowTokensUsed, contextFullnessFraction, buildContextUsageFields, shouldAutoCompact, } from '../../shared/auto-compact.js';
2
2
  export type { ContextUsageApiBreakdown, ContextUsageFields, } from '../../shared/auto-compact.js';
@@ -1,11 +1,14 @@
1
1
  import type { ProviderCompactResult } from '../../provider.js';
2
2
  import type { TraceWriter } from '../../trace/index.js';
3
3
  import type { CompactionTrigger } from '../../trace/types.js';
4
- import { type CompactionOps } from '../shared/compaction.js';
4
+ import { type CompactionOps, type MicrocompactOps, type MicrocompactOptions, type MicrocompactResult } from '../shared/compaction.js';
5
5
  import type { OpenAIMessage } from './messages.js';
6
6
  export declare function isFreshUserTurn(msg: OpenAIMessage): boolean;
7
+ export declare const openaiMicrocompactOps: MicrocompactOps<OpenAIMessage>;
8
+ export declare function microcompactToolResults(messages: ReadonlyArray<OpenAIMessage>, opts?: MicrocompactOptions): MicrocompactResult;
7
9
  export declare const openaiCompactionOps: CompactionOps<OpenAIMessage>;
8
10
  export declare function readKeepLastN(): number;
11
+ export declare function readShrinkFraction(): number;
9
12
  export interface CompactOpenAIHistoryDeps {
10
13
  priorTurns: OpenAIMessage[];
11
14
  summarize: (transcript: string, signal: AbortSignal) => Promise<string>;
@@ -15,5 +18,7 @@ export interface CompactOpenAIHistoryDeps {
15
18
  clearAbort: (controller: AbortController) => void;
16
19
  trigger?: CompactionTrigger;
17
20
  traceWriter?: TraceWriter;
21
+ usedFraction?: number;
22
+ shrinkAtFraction?: number;
18
23
  }
19
24
  export declare function compactOpenAIHistory(deps: CompactOpenAIHistoryDeps): Promise<ProviderCompactResult>;
@@ -14,5 +14,6 @@ export interface ContextUsageFields {
14
14
  }
15
15
  export declare function buildContextUsageFields(last: ProviderUsage | null | undefined): ContextUsageFields;
16
16
  export declare function shouldAutoCompact(usedTokens: number, contextLimit: number, threshold: number): boolean;
17
+ export declare function contextFullnessFraction(usedTokens: number, contextLimit: number): number;
17
18
  export declare const DEFAULT_AUTO_COMPACT_THRESHOLD = 0.9;
18
19
  export declare function resolveAutoCompactThreshold(autoCompact: AgentConfig['autoCompact']): number | undefined;
@@ -4,6 +4,32 @@ export declare const COMPACT_SUMMARY_HEADER = "[Compacted summary of earlier con
4
4
  export declare const COMPACT_ACK_TEXT = "Acknowledged. Continuing from the summary above.";
5
5
  export declare function wrapTranscriptForSummary(transcript: string): string;
6
6
  export declare const DEFAULT_COMPACT_TIMEOUT_MS = 60000;
7
+ export declare const DEFAULT_COMPACT_SHRINK_THRESHOLD = 0.7;
8
+ export declare const DEFAULT_MICROCOMPACT_TOOL_RESULT_BYTES = 2048;
9
+ export declare const DEFAULT_MICROCOMPACT_KEEP_LAST = 4;
10
+ export declare const MICROCOMPACT_PLACEHOLDER_SENTINEL = "[tool result cleared to reclaim context";
11
+ export declare function buildMicrocompactPlaceholder(bytes: number): string;
12
+ export declare function isMicrocompactPlaceholder(text: string): boolean;
13
+ export interface ToolResultRef {
14
+ byteLength: number;
15
+ isPlaceholder: boolean;
16
+ clear(placeholder: string): void;
17
+ }
18
+ export interface MicrocompactOps<M> {
19
+ listToolResults(messages: ReadonlyArray<M>): ToolResultRef[];
20
+ }
21
+ export interface MicrocompactOptions {
22
+ thresholdBytes?: number;
23
+ keepLast?: number;
24
+ }
25
+ export interface MicrocompactResult {
26
+ blocksCleared: number;
27
+ bytesReclaimed: number;
28
+ blocksScanned: number;
29
+ }
30
+ export declare function microcompactToolResults<M>(messages: ReadonlyArray<M>, ops: MicrocompactOps<M>, opts?: MicrocompactOptions): MicrocompactResult;
31
+ export declare function byteLengthOf(text: string): number;
32
+ export declare function resolveMicrocompactOptions(rawBytes: string | undefined, rawKeepLast: string | undefined): Required<MicrocompactOptions>;
7
33
  export interface CompactionOps<M> {
8
34
  isFreshUserTurn(msg: M): boolean;
9
35
  renderMessage(msg: M): string;
@@ -11,6 +37,7 @@ export interface CompactionOps<M> {
11
37
  countChars(msg: M): number;
12
38
  }
13
39
  export declare function findCompactionBoundary<M>(messages: ReadonlyArray<M>, keepLastN: number, ops: CompactionOps<M>): number;
40
+ export declare function findCompactionBoundaryAdaptive<M>(messages: ReadonlyArray<M>, keepLastN: number, ops: CompactionOps<M>, usedFraction: number, shrinkAtFraction?: number): number;
14
41
  export declare function renderTranscript<M>(messages: ReadonlyArray<M>, ops: CompactionOps<M>): string;
15
42
  export declare function applyCompaction<M>(messages: ReadonlyArray<M>, boundary: number, summaryText: string, ops: CompactionOps<M>): M[];
16
43
  export declare function estimateTokensSaved<M>(before: ReadonlyArray<M>, boundary: number, summaryText: string, ops: CompactionOps<M>): number;
@@ -27,6 +54,8 @@ export interface CompactionCoreDeps<M> {
27
54
  messages: M[];
28
55
  ops: CompactionOps<M>;
29
56
  keepLastN: number;
57
+ usedFraction?: number;
58
+ shrinkAtFraction?: number;
30
59
  summarize(transcript: string): Promise<string>;
31
60
  isAborted(): boolean;
32
61
  abortInFlight?(): void;
@@ -14,6 +14,7 @@ export interface RunForegroundArgs {
14
14
  prompt: string;
15
15
  idPrefix: string | undefined;
16
16
  model: string | undefined;
17
+ parentModel?: string;
17
18
  childManager: SubagentManager | undefined;
18
19
  identity: {
19
20
  origin?: TraceOrigin;
@@ -31,5 +32,6 @@ export interface RunForegroundArgs {
31
32
  worktreePath: string;
32
33
  };
33
34
  }
35
+ export declare function withProvenanceHeader(content: string, model: string | undefined, parentModel: string | undefined): string;
34
36
  export declare function runForegroundWithPromotion(args: RunForegroundArgs): Promise<ToolResult>;
35
37
  export {};