/** * Core types for skillet. */ /** A structured HTTP request — the LLM returns this, never a shell string. */ export interface StructuredRequest { method: string; url: string; headers: Record; body?: string; } /** Auth scheme detected from spec/docs, with canonical credential env-var names. */ export type AuthScheme = { type: 'bearer'; header: string; envVars: string[]; } | { type: 'apiKey'; header: string; keyName: string; envVars: string[]; } | { type: 'basic'; header: 'Authorization'; envVars: string[]; } | { type: 'unsupported'; reason: string; }; /** A skill file to be written to disk. */ export interface SkillFile { path: string; content: string; } /** The result of generating a Skill covering one API surface. */ export interface SkillResult { name: string; files: SkillFile[]; operations: OperationVerification[]; promptVersion?: string; } /** Verification outcome for one Operation within a Skill. */ export interface OperationVerification { operation: string; status: 'pending' | 'passed' | 'failed' | 'blocked'; attempts: number; lastRequest?: StructuredRequest; lastResponse?: { status: number; body: string; }; report?: string; } export type MethodClass = 'read' | 'mutating'; export interface ExecutionResult { ok: boolean; status: number; body: string; error?: string; } export interface RunnerOptions { apiDomain: string; credentials?: Record; allowMutating?: boolean; } /** A candidate Operation enumerated from a spec — selection input for surfaces. */ export interface OperationCandidate { name: string; method: string; path: string; methodClass: MethodClass; } export interface SpecSlice { operation: Record; method: string; path: string; schemas: Record; } /** One published Skill in the gallery, carrying verification data verbatim. */ export interface GalleryEntry { name: string; apiName: string; description: string; operations: { name: string; methodClass: MethodClass; verification: 'passed' | 'blocked'; }[]; files: SkillFile[]; promptVersion?: string; generatedAt: string; } export interface WriteResult { success: boolean; filesWritten: number; errors: string[]; } export interface GenerateOptions { docsUrl: string; specUrl?: string; operations: string[]; skillName?: string; apiBaseUrl?: string; apiDomain?: string; credentials?: Record; maxRetries?: number; model?: unknown; promptVersion?: string; } //# sourceMappingURL=types.d.ts.map