UNPKG

field-service-agent

Version:

Field Service AI Agent - NPM package for integrating AI-powered field service management into mobile apps

77 lines 2.34 kB
import { FieldServiceSDK } from 'field-service-sdk/dist/src/sdk'; export interface FieldServiceAgentConfig { sdk: FieldServiceSDK; language?: string; voiceName?: string; timezone?: string; enableDebugLogging?: boolean; googlePlacesApiKey?: string; onNavigationRequest?: (action: NavigationAction) => void; onCommunicationRequest?: (action: CommunicationAction) => void; } export type ActionType = 'navigation' | 'communication' | 'data_operation'; export interface NavigationAction { type: 'navigation'; screen: 'job_details' | 'client_details' | 'invoice_details' | 'estimate_details' | 'calendar_daily' | 'calendar_weekly' | 'dashboard' | 'clients_list' | 'jobs_list'; params: { id?: string; clientId?: string; jobId?: string; invoiceId?: string; estimateId?: string; [key: string]: any; }; } export interface CommunicationAction { type: 'communication'; method: 'call' | 'sms' | 'email' | 'navigation'; recipient: { id: string; name: string; phone?: string; email?: string; address?: string; }; content?: { subject?: string; body?: string; attachmentUrl?: string; }; navigationApp?: 'waze' | 'google_maps' | 'apple_maps'; } export interface DataOperationResult { type: 'data_operation'; operation: string; success: boolean; data?: any; error?: string; } export interface FunctionResponse { success: boolean; message: string; data?: any; action?: NavigationAction | CommunicationAction; requiresUserAction?: boolean; followUpQuestion?: boolean; navigationActions?: any[]; } export interface AgentResponse { audioContent?: string; success: boolean; message: string; result?: FunctionResponse; error?: string; debugInfo?: any; followUpQuestion?: boolean; transcribedText?: string; navigationActions?: any[]; } export type { AgentContext, ChatGPTFunction } from './agent/types'; export interface ConversationMessage { role: 'user' | 'assistant'; content: string; timestamp: Date; } export type NavigationCallback = (action: NavigationAction) => void; export type CommunicationCallback = (action: CommunicationAction) => void; //# sourceMappingURL=types.d.ts.map