Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsPublicCategory ¶
IsPublicCategory reports whether category is allowed in user-facing workflows.
func PublicCategories ¶
func PublicCategories() []string
PublicCategories returns the sorted list of user-facing categories. It excludes "example", which is internal-only for test fixtures.
Types ¶
type Entry ¶
type Entry struct {
Name string `yaml:"name"`
DisplayName string `yaml:"display_name"`
Description string `yaml:"description"`
Category string `yaml:"category"`
SpecURL string `yaml:"spec_url"`
SpecFormat string `yaml:"spec_format"`
OpenAPIVersion string `yaml:"openapi_version"`
Tier string `yaml:"tier"`
VerifiedDate string `yaml:"verified_date"`
Homepage string `yaml:"homepage"`
Notes string `yaml:"notes"`
KnownAlternatives []KnownAlt `yaml:"known_alternatives,omitempty"`
SandboxEndpoint string `yaml:"sandbox_endpoint,omitempty"`
// SpecSource describes how the spec was obtained. Empty defaults to "official".
// Values: official, community, sniffed, docs.
SpecSource string `yaml:"spec_source,omitempty"`
// AuthRequired indicates whether the API needs authentication. Empty means unknown.
AuthRequired *bool `yaml:"auth_required,omitempty"`
// ClientPattern describes the HTTP client pattern needed. Empty defaults to "rest".
// Values: rest, proxy-envelope, graphql.
ClientPattern string `yaml:"client_pattern,omitempty"`
// HTTPTransport describes the runtime HTTP transport. Empty defaults by provenance:
// official uses standard; non-official web-discovered sources use browser-chrome.
HTTPTransport string `yaml:"http_transport,omitempty"`
// ProxyRoutes maps path prefixes to backend service names for proxy-envelope APIs.
// Only relevant when ClientPattern is "proxy-envelope".
ProxyRoutes map[string]string `yaml:"proxy_routes,omitempty"`
// WrapperLibraries lists reverse-engineered community libraries the generator
// can use as implementation backing when no official spec exists. When this
// list is non-empty, spec_url and spec_format are optional.
WrapperLibraries []WrapperLibrary `yaml:"wrapper_libraries,omitempty"`
}
func LookupFS ¶
LookupFS finds a single catalog entry by name from an fs.FS. Returns an error if the entry is not found.
func ParseEntry ¶
func ParseFS ¶
ParseFS reads all YAML catalog entries from an fs.FS (e.g., an embedded filesystem). It mirrors ParseDir but operates on the fs.FS interface instead of the OS filesystem.
func (*Entry) IsWrapperOnly ¶
IsWrapperOnly reports whether this entry represents an API reached through community wrapper libraries rather than an official spec.
type WrapperLibrary ¶
type WrapperLibrary struct {
Name string `yaml:"name"`
URL string `yaml:"url"`
Language string `yaml:"language"`
License string `yaml:"license,omitempty"`
IntegrationMode string `yaml:"integration_mode"`
Notes string `yaml:"notes,omitempty"`
}
WrapperLibrary describes a community-maintained library that wraps an API without an official OpenAPI spec. The generator uses these as implementation backing when the primary source is reverse-engineered rather than spec-driven.
IntegrationMode values:
- native: library is in Go and can be imported directly
- subprocess: library is in another language and must be invoked as a subprocess
- html-scrape: no library — the entry documents a reverse-engineering technique