package httpadapter import ( "time" ) type runRequestDTO struct { ProfileID string `json:"profile_id"` ProfileVersion string `json:"profile_version,omitempty"` Inputs map[string]inputRefDTO `json:"inputs"` Vars map[string]string `json:"vars,omitempty"` Model *modelOverrideRequestDTO `json:"model,omitempty"` } type inputRefDTO struct { Type string `json:"type"` URI string `json:"uri,omitempty"` Body string `json:"body,omitempty"` } type modelOverrideRequestDTO struct { Endpoint string `json:"endpoint,omitempty"` Model string `json:"model,omitempty"` Temperature float64 `json:"temperature,omitempty"` MaxTokens int `json:"max_tokens,omitempty"` TopP float64 `json:"top_p,omitempty"` TimeoutSeconds int `json:"timeout_seconds,omitempty"` } type runResponseDTO struct { Artifact artifactDTO `json:"artifact"` Validation validationDTO `json:"validation"` Metadata metadataDTO `json:"metadata"` RawModelOutput string `json:"raw_model_output"` } type artifactDTO struct { Name string `json:"name"` ContentType string `json:"content_type"` Body string `json:"body"` URI string `json:"uri,omitempty"` Size int64 `json:"size"` Hash string `json:"hash"` } type metadataDTO struct { ProfileID string `json:"profile_id"` ProfileVersion string `json:"profile_version"` ModelName string `json:"model_name"` Endpoint string `json:"endpoint"` InputHashes map[string]string `json:"input_hashes"` PromptHash string `json:"prompt_hash"` Usage tokenUsageDTO `json:"usage"` StartTime time.Time `json:"start_time"` EndTime time.Time `json:"end_time"` } type tokenUsageDTO struct { PromptTokens int `json:"prompt_tokens"` CompletionTokens int `json:"completion_tokens"` TotalTokens int `json:"total_tokens"` } type validationDTO struct { Status string `json:"status"` Mode string `json:"mode"` Errors []string `json:"errors,omitempty"` SchemaPath string `json:"schema_path,omitempty"` RepairAttempts int `json:"repair_attempts"` IsValid bool `json:"is_valid"` } type errorResponse struct { Error errorBody `json:"error"` } type errorBody struct { Code string `json:"code"` Message string `json:"message"` }