export declare const LOOP_FILE_SENTINEL = "<>"; export declare const LOOP_FILE_DYNAMIC_SENTINEL = "<>"; export declare const AUTONOMOUS_LOOP_SENTINEL = "<>"; export declare const AUTONOMOUS_LOOP_DYNAMIC_SENTINEL = "<>"; export declare const isSentinel: (s: string) => boolean; /** * Per-instance sentinel cache. host 版为模块全局 Map/Set;SDK 版实例化以隔离多个 CronScheduler。 * key = sessionID + workspaceRoot。 */ export declare class SentinelCache { private readonly lastLoopFileContent; private readonly autonomousDelivered; /** Compaction drops the prompt prefix, so the next fire must re-send full content. */ clear(sessionID?: string): void; /** 供 resolveAtFireTime 使用的内部访问。 */ _getLoopFile(key: string): string | undefined; _setLoopFile(key: string, content: string): void; _hasAutonomous(key: string): boolean; _addAutonomous(key: string): void; } /** * Pure function called by the scheduler at fire time (not at task-create time). * Non-sentinel strings pass through unchanged. Sentinels expand to full content * on first fire and short reminders on subsequent fires, preserving the prefix * cache when loop.md is unchanged. * * @param cache 每个 CronScheduler 实例持有自己的 SentinelCache;host 可传单例以兼容旧行为。 */ export declare const resolveAtFireTime: (stored: string, workspaceRoot: string, cache: SentinelCache, sessionID?: string) => Promise; /** * 兼容 host 的 resetOnCompaction 语义。host compaction 钩子调用此函数清缓存。 * 传 cache 则清该 cache;不传 cache 可在外部自行管理。 */ export declare const clearSentinelCache: (cache: SentinelCache, sessionID?: string) => void;