agents
Version:
A home for your AI agents
136 lines (134 loc) • 4.16 kB
TypeScript
import {
_n as DynamicAgentClass,
c as Agent,
vn as DynamicAgentStub
} from "../agent-routing-B2XLNMxq.js";
import { Lock, QueueEntry, StateAdapter } from "chat";
//#region src/chat-sdk/agent.d.ts
interface StoredLock {
threadId: string;
token: string;
expiresAt: number;
}
declare class ChatSdkStateAgent extends Agent {
onStart(): Promise<void>;
subscribe(threadId: string): void;
unsubscribe(threadId: string): void;
isSubscribed(threadId: string): boolean;
acquireLock(threadId: string, ttlMs: number): Promise<StoredLock | null>;
releaseLock(threadId: string, token: string): void;
extendLock(threadId: string, token: string, ttlMs: number): Promise<boolean>;
forceReleaseLock(threadId: string): void;
enqueue(threadId: string, value: string, maxSize: number): Promise<number>;
popQueue(threadId: string): string | null;
queueDepth(threadId: string): number;
listAppend(
key: string,
value: string,
maxLength?: number,
ttlMs?: number
): Promise<void>;
listGet(key: string): string[];
cacheGet(key: string): string | null;
cacheSet(key: string, value: string, ttlMs?: number): Promise<void>;
cacheSetIfNotExists(
key: string,
value: string,
ttlMs?: number
): Promise<boolean>;
cacheDelete(key: string): void;
cleanupExpired(payload?: { expiresAt?: number }): Promise<void>;
private migrate;
private readCacheValue;
private upsertCacheValue;
private scheduleCleanupForExpiry;
private scheduleNextCleanup;
private ensureCleanupScheduled;
private nextExpiry;
private readCleanupMetadata;
private writeCleanupMetadata;
private clearCleanupMetadata;
}
//#endregion
//#region src/chat-sdk/types.d.ts
interface ChatSdkStateParent {
subAgent<T extends ChatSdkStateAgent>(
agentClass: DynamicAgentClass<T>,
name: string
): Promise<DynamicAgentStub<T>>;
}
interface ChatSdkStateAdapterOptions {
agent?: DynamicAgentClass<ChatSdkStateAgent>;
parent?: ChatSdkStateParent;
name?: string;
keyShard?: (key: string) => string | undefined;
shardKey?: (threadId: string) => string;
}
//#endregion
//#region src/chat-sdk/adapter.d.ts
declare function defaultThreadShard(threadId: string): string;
declare function defaultKeyShard(
key: string,
shardThread?: (threadId: string) => string
): string | undefined;
declare class ChatSdkStateAdapter implements StateAdapter {
private readonly parent;
private readonly agentClass;
private readonly defaultName;
private readonly keyShard?;
private readonly shardKey;
private connected;
constructor(options?: ChatSdkStateAdapterOptions);
connect(): Promise<void>;
disconnect(): Promise<void>;
subscribe(threadId: string): Promise<void>;
unsubscribe(threadId: string): Promise<void>;
isSubscribed(threadId: string): Promise<boolean>;
acquireLock(threadId: string, ttlMs: number): Promise<Lock | null>;
releaseLock(lock: Lock): Promise<void>;
extendLock(lock: Lock, ttlMs: number): Promise<boolean>;
forceReleaseLock(threadId: string): Promise<void>;
enqueue(
threadId: string,
entry: QueueEntry,
maxSize: number
): Promise<number>;
dequeue(threadId: string): Promise<QueueEntry | null>;
queueDepth(threadId: string): Promise<number>;
appendToList(
key: string,
value: unknown,
options?: {
maxLength?: number;
ttlMs?: number;
}
): Promise<void>;
getList<T = unknown>(key: string): Promise<T[]>;
get<T = unknown>(key: string): Promise<T | null>;
set<T = unknown>(key: string, value: T, ttlMs?: number): Promise<void>;
setIfNotExists<T = unknown>(
key: string,
value: T,
ttlMs?: number
): Promise<boolean>;
delete(key: string): Promise<void>;
private stateAgent;
private stateAgentForKey;
private ensureConnected;
}
//#endregion
//#region src/chat-sdk/index.d.ts
declare function createChatSdkState(
options?: ChatSdkStateAdapterOptions
): ChatSdkStateAdapter;
//#endregion
export {
ChatSdkStateAdapter,
type ChatSdkStateAdapterOptions,
ChatSdkStateAgent,
type ChatSdkStateParent,
createChatSdkState,
defaultKeyShard,
defaultThreadShard
};
//# sourceMappingURL=index.d.ts.map