agent-afk 5.250.0 → 5.250.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.
@@ -11,6 +11,7 @@ export interface CommitModeInput {
11
11
  committedBandBottomRow: number;
12
12
  committedBandPaintedRows: number;
13
13
  geometryStale: boolean;
14
+ roomTop?: number;
14
15
  }
15
16
  export interface CommitMode {
16
17
  fitsAboveFrame: boolean;
@@ -35,6 +35,7 @@ export interface InputSurfaceArmOpts {
35
35
  stdout?: NodeJS.WriteStream;
36
36
  stdin?: NodeJS.ReadStream;
37
37
  anchorRow?: number;
38
+ contentHug?: boolean;
38
39
  suggest?: {
39
40
  engine: SuggestEngine;
40
41
  getContext: () => SuggestContext;
@@ -8,5 +8,7 @@ export interface CommitGeometry {
8
8
  anchorFloor: number;
9
9
  fitsAboveFrame: boolean;
10
10
  phase1EffectiveFrameTop: number;
11
+ hugSlack: number;
12
+ roomTop: number;
11
13
  }
12
14
  export declare function snapshotCommitGeometry(self: CommittedBandHost, contentLineCount: number, rows: number, cols: number): CommitGeometry;
@@ -14,6 +14,9 @@ export interface CommittedBandHost {
14
14
  commitInFlight: boolean;
15
15
  hasCommitted: boolean;
16
16
  placementMode: FramePlacementMode;
17
+ readonly contentHug: boolean;
18
+ pendingContentRows: number | null;
19
+ lastMeasuredFrameBottom: number;
17
20
  lifecycleStateDirty: boolean;
18
21
  pendingResizeErase: {
19
22
  top: number;
@@ -0,0 +1,36 @@
1
+ import type { FramePlacementMode } from './terminal-compositor.types.js';
2
+ export interface ContentHugHost {
3
+ placementMode: FramePlacementMode;
4
+ anchorRow: number | undefined;
5
+ committedBand: string[];
6
+ pendingContentRows: number | null;
7
+ lastMeasuredFrameBottom: number;
8
+ bandGeometryStale: boolean;
9
+ }
10
+ export declare function contentHugAnchor(self: Pick<ContentHugHost, 'anchorRow' | 'committedBand' | 'pendingContentRows'>): number;
11
+ export declare function contentHugSlack(self: ContentHugHost, absoluteBottom: number): number;
12
+ export declare function contentHugTargetBottom(anchor: number, physicalRows: number, absoluteBottom: number): number;
13
+ export declare function postCommitPlacementMode(self: {
14
+ readonly contentHug: boolean;
15
+ }): FramePlacementMode;
16
+ export declare function projectedBandLength(self: {
17
+ committedBand: string[];
18
+ committedBandBottomRow: number;
19
+ }, geo: {
20
+ fitsAboveFrame: boolean;
21
+ frameTop: number;
22
+ phase1EffectiveFrameTop: number;
23
+ }, route: {
24
+ useBandHold: boolean;
25
+ overflowRun: string[];
26
+ archiveCount: number;
27
+ lineCount: number;
28
+ }): number;
29
+ export declare function contentHugFrameSettled(self: {
30
+ placementMode: FramePlacementMode;
31
+ inputMode: string;
32
+ renderDropdownRows(): string[];
33
+ }): boolean;
34
+ export declare function phase2PendingContentRows(self: {
35
+ placementMode: FramePlacementMode;
36
+ } & Parameters<typeof projectedBandLength>[0], geo: Parameters<typeof projectedBandLength>[1], route: Parameters<typeof projectedBandLength>[2]): number | null;
@@ -74,6 +74,9 @@ export declare class TerminalCompositor {
74
74
  committedBandTopRow: number;
75
75
  committedBandBottomRow: number;
76
76
  lastMeasuredFrameTop: number;
77
+ lastMeasuredFrameBottom: number;
78
+ readonly contentHug: boolean;
79
+ pendingContentRows: number | null;
77
80
  committedBandPaintedRows: number;
78
81
  bandReflowCache: BandReflowCache | null;
79
82
  lastKnownRows: number;
@@ -25,6 +25,8 @@ export interface FrameHost {
25
25
  committedBandTopRow: number;
26
26
  committedBandBottomRow: number;
27
27
  lastMeasuredFrameTop: number;
28
+ lastMeasuredFrameBottom: number;
29
+ pendingContentRows: number | null;
28
30
  committedBandPaintedRows: number;
29
31
  bandReflowCache: BandReflowCache | null;
30
32
  hasCommitted: boolean;
@@ -4,4 +4,4 @@ export interface FramePosition {
4
4
  targetBottomRow: number;
5
5
  physicalRows: number;
6
6
  }
7
- export declare function computeFramePosition(frame: string, frameLines: string[], absoluteBottom: number, placementMode: FramePlacementMode, anchorRow: number | undefined, logUpdate: LogUpdateFn): FramePosition;
7
+ export declare function computeFramePosition(frame: string, frameLines: string[], absoluteBottom: number, placementMode: FramePlacementMode, anchorRow: number | undefined, logUpdate: LogUpdateFn, hugAnchor?: number): FramePosition;
@@ -41,7 +41,7 @@ export interface CompositorScrollRegionGuard {
41
41
  getExtraRows(): number;
42
42
  }
43
43
  export type CompositorInputMode = 'idle' | 'streaming' | 'picker';
44
- export type FramePlacementMode = 'cursor-follow' | 'bottom-pinned';
44
+ export type FramePlacementMode = 'cursor-follow' | 'bottom-pinned' | 'content-hug';
45
45
  export interface PickerController {
46
46
  renderRows: () => readonly string[];
47
47
  onKey: (char: string | undefined, key: {
@@ -78,6 +78,7 @@ export interface TerminalCompositorOptions {
78
78
  caretBlink?: boolean;
79
79
  caretBlinkIntervalMs?: number;
80
80
  anchorRow?: number;
81
+ contentHug?: boolean;
81
82
  suggest?: {
82
83
  engine: SuggestEngine;
83
84
  getContext: () => SuggestContext;