agent-afk 5.123.13 → 5.124.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.
@@ -0,0 +1,44 @@
1
+ import type { Context } from 'telegraf';
2
+ import type { Message } from 'telegraf/types';
3
+ import type { SenderState } from './streaming.sender.js';
4
+ import type { ProgressEntry } from './streaming.preview.js';
5
+ import type { ResponseMetadata } from '../agent/types.js';
6
+ export declare const PAUSE_COUNTDOWN_INTERVAL_MS: number;
7
+ export interface StreamState extends SenderState {
8
+ accumulated: string;
9
+ answerText: string;
10
+ pausedUntil: Date | null;
11
+ countdownInterval: ReturnType<typeof setInterval> | null;
12
+ editInFlight: boolean;
13
+ lastCountdownBucket: number;
14
+ sawTerminalEvent: boolean;
15
+ progressEntries: ProgressEntry[];
16
+ progressRounds: number;
17
+ turnEnded: boolean;
18
+ progressTimer: ReturnType<typeof setTimeout> | null;
19
+ turnStartedAt: number;
20
+ }
21
+ export interface HandlerParams {
22
+ state: StreamState;
23
+ ctx: Context;
24
+ chatId: number;
25
+ cleanFinal: boolean;
26
+ livePreview: () => string;
27
+ finalBody: () => string;
28
+ clearProgressTimer: () => void;
29
+ renderActivityReceipt: (toolRounds: number, elapsedMs: number) => string;
30
+ onComplete?: (assistantText: string, metadata?: ResponseMetadata) => void | Promise<void>;
31
+ logger?: (...args: unknown[]) => void;
32
+ }
33
+ export declare function handlePaused(event: {
34
+ resetsAt?: Date | null;
35
+ autoResume?: boolean;
36
+ accountId?: string;
37
+ }, params: HandlerParams): Promise<void>;
38
+ export declare function handleResumed(event: {
39
+ hotSwapped?: boolean;
40
+ accountId?: string;
41
+ }, params: HandlerParams): Promise<void>;
42
+ export declare function handleDone(metadata: ResponseMetadata | undefined, params: HandlerParams): Promise<true>;
43
+ export declare function handleError(error: unknown, params: HandlerParams): never;
44
+ export declare function deliverOverflow(ctx: Context, cleanFinal: boolean, answerText: string, finalBodyText: string, preview: Message.TextMessage | null): Promise<void>;
@@ -0,0 +1,23 @@
1
+ import type { Context } from 'telegraf';
2
+ import type { OutputEvent, SubagentProgressMeta } from '../agent/types.js';
3
+ import type { SenderState } from './streaming.sender.js';
4
+ import type { ProgressEntry } from './streaming.preview.js';
5
+ export interface ProgressState extends SenderState {
6
+ accumulated: string;
7
+ progressEntries: ProgressEntry[];
8
+ progressRounds: number;
9
+ progressTimer: ReturnType<typeof setTimeout> | null;
10
+ turnEnded: boolean;
11
+ editInFlight: boolean;
12
+ turnStartedAt: number;
13
+ }
14
+ export declare function handleProgressEvent(event: {
15
+ progress: {
16
+ description?: string;
17
+ lastToolName?: string;
18
+ };
19
+ }, state: ProgressState, progressGateOpen: boolean, progressDelayMs: number, ctx: Context, chatId: number, livePreview: () => string, setProgressGateOpen: (v: boolean) => void, clearProgressTimer: () => void): Promise<void>;
20
+ export declare function makeSubagentSink(state: SenderState, ctx: Context, chatId: number, livePreview: () => string, bumpActivity: () => void, subagentState: {
21
+ subagentSteps: number;
22
+ recentSubagentSteps: string[];
23
+ }): (event: OutputEvent, meta: SubagentProgressMeta) => void;
@@ -0,0 +1,10 @@
1
+ import type { Context } from 'telegraf';
2
+ import type { Message } from 'telegraf/types';
3
+ export declare const EDIT_THROTTLE_MS = 300;
4
+ export declare const DELIVERY_TRUNCATED_NOTICE = "\u26A0\uFE0F Telegram dropped part of this reply (rate limit) \u2014 ask me to resend it.";
5
+ export interface SenderState {
6
+ sentMessage: Message.TextMessage | null;
7
+ lastEditAt: number;
8
+ }
9
+ export declare function sendOrEdit(state: SenderState, ctx: Context, chatId: number, text: string, force?: boolean): Promise<void>;
10
+ export declare function deliverClean(ctx: Context, text: string): Promise<boolean>;
@@ -0,0 +1,17 @@
1
+ import type { OutputEvent } from '../agent/types.js';
2
+ export declare const FIRST_EVENT_TIMEOUT_MS = 90000;
3
+ export declare const NEXT_EVENT_TIMEOUT_MS = 180000;
4
+ export declare const MAX_TOOL_INFLIGHT_MS = 660000;
5
+ export declare const TOOL_INFLIGHT_RECHECK_MS = 15000;
6
+ export declare const PROGRESS_START_DELAY_MS = 5000;
7
+ export interface WatchdogState {
8
+ receivedAny: boolean;
9
+ timedOut: boolean;
10
+ lastActivityAt: number;
11
+ inFlightTools: Set<string>;
12
+ toolInFlightSince: number | null;
13
+ pausedUntil: Date | null;
14
+ }
15
+ export declare const PAUSE_SLACK_MS = 90000;
16
+ export declare function makeNextWithTimeout(iter: AsyncIterator<OutputEvent>, state: WatchdogState): () => Promise<IteratorResult<OutputEvent>>;
17
+ export declare function armProgressGateTimer(remainingMs: number, onOpen: () => void, isTurnEnded: () => boolean): ReturnType<typeof setTimeout>;