types.d.ts 789 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. export interface ApiHandler {
  2. sendMessage(message: string): Promise<string>;
  3. createMessage(systemPrompt: string, history: Message[]): AsyncIterable<MessageChunk>;
  4. }
  5. export interface AgentConfig {
  6. api: ApiHandler;
  7. systemPrompt: string;
  8. workingDir: string;
  9. debug?: boolean;
  10. }
  11. export type ToolResponse = string;
  12. export interface Message {
  13. role: "user" | "assistant";
  14. content: TextBlock[];
  15. }
  16. export interface TextBlock {
  17. type: "text";
  18. text: string;
  19. }
  20. export interface ToolResult {
  21. tool: string;
  22. params: Record<string, string>;
  23. output: string;
  24. }
  25. export interface MessageChunk {
  26. type: "text";
  27. text: string;
  28. }
  29. export interface UsageBlock {
  30. type: "usage";
  31. usage: {
  32. prompt_tokens: number;
  33. completion_tokens: number;
  34. total_tokens: number;
  35. };
  36. }