discovery

package
v0.1.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ServeOpenLinkerManifest

func ServeOpenLinkerManifest(cfg *config.Config) echo.HandlerFunc

ServeOpenLinkerManifest returns an Echo handler for /.well-known/openlinker.json.

Types

type ManifestAuth

type ManifestAuth struct {
	UserTokenHeader    string   `json:"user_token_header"`
	UserTokenType      string   `json:"user_token_type"`
	UserTokenPurposes  []string `json:"user_token_purposes"`
	AgentTokenHeader   string   `json:"agent_token_header"`
	AgentTokenType     string   `json:"agent_token_type"`
	AgentTokenPurposes []string `json:"agent_token_purposes"`
	APIScopes          []string `json:"api_scopes"`
	AgentScopes        []string `json:"agent_scopes"`
}

type ManifestBaseURLs

type ManifestBaseURLs struct {
	API string `json:"api"`
	Web string `json:"web"`
}

type ManifestDocs

type ManifestDocs struct {
	PublishAgent string `json:"publish_agent"`
	ConsumeAgent string `json:"consume_agent"`
	Connect      string `json:"connect"`
	UserTokens   string `json:"user_tokens"`
	MCP          string `json:"mcp"`
	Tasks        string `json:"tasks"`
	A2A          string `json:"a2a"`
	AgentCard    string `json:"agent_card"`
}

type ManifestProtocols

type ManifestProtocols struct {
	AgentCard     string `json:"agent_card"`
	ExtendedCard  string `json:"extended_agent_card"`
	A2A           string `json:"a2a"`
	A2ATaskLookup string `json:"a2a_task_lookup"`
	A2ASubscribe  string `json:"a2a_subscribe"`
	RunEvents     string `json:"run_events"`
	MCP           string `json:"mcp"`
}

type ManifestStates

type ManifestStates struct {
	Run      []string `json:"run"`
	Task     []string `json:"task"`
	Delivery []string `json:"delivery"`
	Workflow []string `json:"workflow"`
}

type ManifestTools

type ManifestTools struct {
	MCPTools string   `json:"mcp_tools"`
	Names    []string `json:"names"`
}

type ManifestWorkflowStatus

type ManifestWorkflowStatus struct {
	ProductionA2A string `json:"production_a2a"`
	Builder       string `json:"builder"`
}

type OpenLinkerManifest

type OpenLinkerManifest struct {
	Name        string                 `json:"name"`
	Version     string                 `json:"version"`
	Environment string                 `json:"environment,omitempty"`
	BaseURLs    ManifestBaseURLs       `json:"base_urls"`
	Docs        ManifestDocs           `json:"docs"`
	Tools       ManifestTools          `json:"tools"`
	Protocols   ManifestProtocols      `json:"protocols"`
	Auth        ManifestAuth           `json:"auth"`
	TokenScopes map[string]string      `json:"token_scopes"`
	Policies    map[string]string      `json:"policies"`
	States      ManifestStates         `json:"states"`
	Workflows   ManifestWorkflowStatus `json:"workflows"`
}

OpenLinkerManifest is the public, machine-readable entrypoint for agents and external clients that want to discover stable OpenLinker docs and tools.

func NewManifest

func NewManifest(cfg *config.Config) OpenLinkerManifest

NewManifest builds the public discovery manifest. It intentionally contains no per-user secrets, no private endpoint URLs, and no deployment internals.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL