Documentation
¶
Index ¶
- type AutoDiscoverer
- func (d *AutoDiscoverer) DiscoverSchema(ctx context.Context, baseURL string) (string, error)
- func (d *AutoDiscoverer) DiscoverSchemaWithHeaders(ctx context.Context, baseURL string, headers map[string]string) (string, error)
- func (d *AutoDiscoverer) ResolveSchemaSource(ctx context.Context, source string) (string, error)
- func (d *AutoDiscoverer) ResolveSchemaSourceWithHeaders(ctx context.Context, source string, headers map[string]string) (string, error)
- type SchemaFetcher
- type ToolGenerator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutoDiscoverer ¶
type AutoDiscoverer struct {
// contains filtered or unexported fields
}
AutoDiscoverer attempts to find OpenAPI schemas from base URLs
func NewAutoDiscoverer ¶
func NewAutoDiscoverer(client *http.Client, logger *slog.Logger) *AutoDiscoverer
NewAutoDiscoverer creates a new OpenAPI schema auto-discoverer
func (*AutoDiscoverer) DiscoverSchema ¶
DiscoverSchema attempts to find an OpenAPI schema from a base URL
func (*AutoDiscoverer) DiscoverSchemaWithHeaders ¶
func (d *AutoDiscoverer) DiscoverSchemaWithHeaders(ctx context.Context, baseURL string, headers map[string]string) (string, error)
DiscoverSchemaWithHeaders attempts to find an OpenAPI schema from a base URL with custom headers
func (*AutoDiscoverer) ResolveSchemaSource ¶
ResolveSchemaSource takes a source string and returns a resolved OpenAPI URL If the source is already a full OpenAPI URL, it returns it as-is If it's a base URL, it attempts auto-discovery
func (*AutoDiscoverer) ResolveSchemaSourceWithHeaders ¶
func (d *AutoDiscoverer) ResolveSchemaSourceWithHeaders(ctx context.Context, source string, headers map[string]string) (string, error)
ResolveSchemaSourceWithHeaders takes a source string and returns a resolved OpenAPI URL with custom headers
type SchemaFetcher ¶
type SchemaFetcher struct {
// contains filtered or unexported fields
}
SchemaFetcher implements the usecase.SchemaFetcher interface for OpenAPI schemas.
func NewSchemaFetcher ¶
func NewSchemaFetcher(client *http.Client, logger *slog.Logger) *SchemaFetcher
NewSchemaFetcher creates a new OpenAPI SchemaFetcher.
func (*SchemaFetcher) FetchWithConfig ¶
func (f *SchemaFetcher) FetchWithConfig(ctx context.Context, config usecase.SchemaSourceConfig) (domain.APISchema, error)
FetchWithConfig loads an OpenAPI schema with custom headers.
type ToolGenerator ¶
type ToolGenerator struct {
// contains filtered or unexported fields
}
ToolGenerator implements the usecase.ToolGenerator interface for OpenAPI schemas.
func NewToolGenerator ¶
func NewToolGenerator(logger *slog.Logger) *ToolGenerator
NewToolGenerator creates a new OpenAPI ToolGenerator.
func (*ToolGenerator) Generate ¶
func (g *ToolGenerator) Generate(schema domain.APISchema) ([]domain.Tool, []usecase.InvocationDetails, error)
Generate converts an OpenAPI document into MCP Tools and corresponding InvocationDetails.