Versions in this module Expand all Collapse all v0 v0.3.0 Mar 22, 2026 Changes in this version + type APIMetadataData struct + APIVersion string + ContactEmail string + ContactName string + ContactURL string + Description string + ExternalDocs *ExternalDocsData + LicenseName string + LicenseURL string + TagDefinitions []TagDefinitionData + TermsOfService string + Title string type EndpointData + Deprecated bool + Description string + ExternalDocs *ExternalDocsData + OperationID string + Summary string + Tags []string type Engine + func (e *Engine) SetAPIMetadata(metadata *APIMetadataData) + func (e *Engine) SetAPIMetadataFromIR(irMeta *ir.APIMetadata) + type ExternalDocsData struct + Description string + URL string type InferenceResult + APIMetadata *APIMetadataData + type RecordDocumentation struct + Deprecated bool + Description string + ExternalDocs *ExternalDocsData + OperationID string + Summary string + Tags []string + type TagDefinitionData struct + Description string + ExternalDocs *ExternalDocsData + Name string v0.2.0 Mar 14, 2026 v0.1.0 Feb 7, 2026 Changes in this version + const FormatDate + const FormatDateTime + const FormatEmail + const FormatIPv4 + const FormatIPv6 + const FormatTime + const FormatURI + const FormatUUID + const TypeArray + const TypeBoolean + const TypeInteger + const TypeNumber + const TypeObject + const TypeString + func EndpointKey(method, pathTemplate string) string + func InferPathTemplate(path string) (template string, params map[string]string) + func NormalizePath(path string) string + func ProcessBody(store *SchemaStore, body any) + type BodyData struct + ContentType string + Schema *SchemaStore + func NewBodyData(contentType string) *BodyData + type DetectedSecurityScheme struct + BearerFormat string + Count int + In string + Name string + Scheme string + Type string + type EndpointClusterer struct + func NewEndpointClusterer() *EndpointClusterer + func (c *EndpointClusterer) AddRecord(method, path string, pathTemplate string, pathParams map[string]string, ...) + func (c *EndpointClusterer) Finalize() + func (c *EndpointClusterer) GetResult() *InferenceResult + type EndpointData struct + HeaderParams map[string]*ParamData + Method string + PathParams map[string]*ParamData + PathTemplate string + QueryParams map[string]*ParamData + RequestBody *BodyData + RequestCount int + Responses map[int]*ResponseData + func NewEndpointData(method, pathTemplate string) *EndpointData + type Engine struct + func NewEngine(options EngineOptions) *Engine + func (e *Engine) Finalize() *InferenceResult + func (e *Engine) ProcessReader(reader ir.IRReader) error + func (e *Engine) ProcessRecord(record *ir.IRRecord) + func (e *Engine) ProcessRecords(records []ir.IRRecord) + type EngineOptions struct + IncludeErrorResponses bool + MaxStatusCode int + MinStatusCode int + SkipEmptyBodies bool + func DefaultEngineOptions() EngineOptions + type InferenceResult struct + Endpoints map[string]*EndpointData + Hosts []string + PaginationParams map[string]*PaginationParam + RateLimitHeaders map[string]*RateLimitHeader + Schemes []string + SecuritySchemes map[string]*DetectedSecurityScheme + func InferFromDir(dir string) (*InferenceResult, error) + func InferFromFile(path string) (*InferenceResult, error) + func InferFromReader(reader ir.IRReader) (*InferenceResult, error) + func InferFromRecords(records []ir.IRRecord) *InferenceResult + func NewInferenceResult() *InferenceResult + type PaginationDetector struct + func NewPaginationDetector() *PaginationDetector + func (d *PaginationDetector) DetectFromQuery(query map[string]any) + func (d *PaginationDetector) GetParams() map[string]*PaginationParam + type PaginationParam struct + Description string + Examples []string + Max *int + Min *int + Name string + Type string + type ParamData struct + Examples []any + Format string + Name string + Required bool + Type string + func NewParamData(name string) *ParamData + func (p *ParamData) AddValue(value any) + type PathInferrer struct + func NewPathInferrer() *PathInferrer + func (p *PathInferrer) InferTemplate(path string) (template string, params map[string]string) + type RateLimitDetector struct + func NewRateLimitDetector() *RateLimitDetector + func (d *RateLimitDetector) DetectFromHeaders(headers map[string]string) + func (d *RateLimitDetector) GetHeaders() map[string]*RateLimitHeader + type RateLimitHeader struct + Count int + Description string + Example string + Name string + Type string + type ResponseData struct + Body *SchemaStore + ContentType string + Headers map[string]*ParamData + StatusCode int + func NewResponseData(statusCode int) *ResponseData + type SchemaNode struct + Enum []string + Examples []any + Format string + Items *SchemaNode + Nullable bool + Properties map[string]*SchemaNode + Required []string + Type string + func BuildSchemaTree(store *SchemaStore) *SchemaNode + func MergeSchemas(a, b *SchemaNode) *SchemaNode + type SchemaStore struct + Examples map[string][]any + Formats map[string]string + Nullable map[string]bool + Optional map[string]bool + Types map[string]string + func NewSchemaStore() *SchemaStore + func (s *SchemaStore) AddObservation() + func (s *SchemaStore) AddValue(path string, value any) + func (s *SchemaStore) FinalizeOptional() + func (s *SchemaStore) GetPaths() []string + type SecurityDetector struct + func NewSecurityDetector() *SecurityDetector + func (d *SecurityDetector) DetectFromHeaders(headers map[string]string) + func (d *SecurityDetector) GetSchemes() map[string]*DetectedSecurityScheme + type SegmentType int + const SegmentBase64ID + const SegmentDate + const SegmentHash + const SegmentLiteral + const SegmentNumericID + const SegmentObjectID + const SegmentUUID + const SegmentUnknownID