Ask me anything

Hamburger

Types

Core TypeScript interfaces exposed by the SDK. These are shipped in the declaration file.

Agent options

1interface AgentOptions { 2 useStorage?: boolean; 3 useMessageHistory?: boolean; 4 suppressWarnings?: boolean; 5 agentId?: string; 6}

Message & context

1interface Message { content: string; role: 'user' | 'assistant'; }

Should engage result

1interface ShouldEngageResult { shouldEngage: boolean; reasoning: string; warning?: string; fallback: boolean; }

Sort result

1interface SortResult { array: any[]; indexes: number[]; reasoning?: string; warning?: string; fallback?: boolean; }

Agent class

1declare class Heylock { 2 constructor(agentKey: string, options?: AgentOptions); 3 4 // Properties 5 isInitialized: boolean; 6 readonly balanceRemaining: number; 7 readonly messageHistory: ReadonlyArray<Message>; 8 readonly context: ReadonlyArray<ContextEntry>; 9 10 // Callback subscriptions 11 onInitialized(callback: (success: boolean) => void): () => void; 12 onMessageHistoryChange(callback: (history: Array<Message>) => void): () => void; 13 onContextChange(callback: (context: Array<ContextEntry>) => void): () => void; 14 15 // Message history management 16 addMessage(content: string, role?: 'user' | 'assistant'): number; 17 removeMessage(index: number): void; 18 modifyMessage(index: number, content: string, role?: 'user' | 'assistant'): void; 19 setMessageHistory(messageHistory: Array<Message>): void; 20 clearMessageHistory(): void; 21 22 // Context management 23 addContextEntry(content: string, timestamp?: number): number; 24 removeContextEntry(index: number): void; 25 modifyContextEntry(index: number, content: string, timestamp?: number): void; 26 setContext(contextArray: Array<ContextEntry>): void; 27 clearContext(): void; 28 getContextString(): string; 29 30 // Balance 31 fetchBalanceRemaining(): Promise<number>; 32 33 // Messaging 34 message(content: string, useContext?: boolean, saveToMessageHistory?: boolean): Promise<string>; 35 messageStream(content: string, useContext?: boolean, saveToMessageHistory?: boolean): AsyncGenerator<string, string, unknown>; 36 greet(instructions?: string, useContext?: boolean, saveToMessageHistory?: boolean): Promise<string>; 37 38 // Engagement 39 shouldEngage(instructions?: string): Promise<ShouldEngageResult>; 40 41 // Rewrite 42 rewrite(content: string, instructions?: string, useContext?: boolean): Promise<string>; 43 44 // Sort 45 sort(array: any[], instructions?: string, useContext?: boolean): Promise<SortResult>; 46}
SDK - Types | Heylock