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}