v1

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2026 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Overview

Package v1 is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const (
	AIFinderService_ListAgents_FullMethodName          = "/agntcy.dir.catalog.v1.AIFinderService/ListAgents"
	AIFinderService_GetAgent_FullMethodName            = "/agntcy.dir.catalog.v1.AIFinderService/GetAgent"
	AIFinderService_ExportAgent_FullMethodName         = "/agntcy.dir.catalog.v1.AIFinderService/ExportAgent"
	AIFinderService_GetWellKnownCatalog_FullMethodName = "/agntcy.dir.catalog.v1.AIFinderService/GetWellKnownCatalog"
)
View Source
const (
	// CatalogMediaType is the media type used for a container
	// entry carrying an embedded or nested AI Catalog.
	CatalogMediaType = "application/ai-catalog+json"

	// CatalogHostURN is the authority segment used in entry URNs
	// ("urn:ai:<host>:cid:<cid>[:<suffix>]").
	CatalogHostURN = "org.agntcy"

	// CatalogSpecVersion is the AI Catalog spec version.
	CatalogSpecVersion = "1.0"

	// Protocol-specific media types supported by AI Catalog.
	ProtocolA2ACardJsonMediaType   = "application/a2a-agent-card+json"
	ProtocolMCPCardJsonMediaType   = "application/mcp-server-card+json"
	ProtocolAgentSkillsMdMediaType = "application/agentskill+md"
)

Variables

View Source
var AIFinderService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "agntcy.dir.catalog.v1.AIFinderService",
	HandlerType: (*AIFinderServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListAgents",
			Handler:    _AIFinderService_ListAgents_Handler,
		},
		{
			MethodName: "GetAgent",
			Handler:    _AIFinderService_GetAgent_Handler,
		},
		{
			MethodName: "ExportAgent",
			Handler:    _AIFinderService_ExportAgent_Handler,
		},
		{
			MethodName: "GetWellKnownCatalog",
			Handler:    _AIFinderService_GetWellKnownCatalog_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "agntcy/dir/catalog/v1/ai_finder_service.proto",
}

AIFinderService_ServiceDesc is the grpc.ServiceDesc for AIFinderService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var File_agntcy_dir_catalog_v1_ai_finder_service_proto protoreflect.FileDescriptor
View Source
var File_agntcy_dir_catalog_v1_models_proto protoreflect.FileDescriptor

Functions

func GetCatalogUrnFor

func GetCatalogUrnFor(values ...string) string

func RegisterAIFinderServiceHandler

func RegisterAIFinderServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterAIFinderServiceHandler registers the http handlers for service AIFinderService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterAIFinderServiceHandlerClient

func RegisterAIFinderServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client AIFinderServiceClient) error

RegisterAIFinderServiceHandlerClient registers the http handlers for service AIFinderService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "AIFinderServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "AIFinderServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "AIFinderServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares.

func RegisterAIFinderServiceHandlerFromEndpoint

func RegisterAIFinderServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterAIFinderServiceHandlerFromEndpoint is same as RegisterAIFinderServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterAIFinderServiceHandlerServer

func RegisterAIFinderServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server AIFinderServiceServer) error

RegisterAIFinderServiceHandlerServer registers the http handlers for service AIFinderService to "mux". UnaryRPC :call AIFinderServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterAIFinderServiceHandlerFromEndpoint instead. GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.

func RegisterAIFinderServiceServer

func RegisterAIFinderServiceServer(s grpc.ServiceRegistrar, srv AIFinderServiceServer)

Types

type AICatalog

type AICatalog struct {

	// AI Catalog spec version this document conforms to, as "Major.Minor".
	SpecVersion string `protobuf:"bytes,1,opt,name=spec_version,json=specVersion,proto3" json:"spec_version,omitempty"`
	// Operator of this catalog. Required at the Discoverable/Trusted levels.
	Host *HostInfo `protobuf:"bytes,2,opt,name=host,proto3,oneof" json:"host,omitempty"`
	// Catalog entries. May be empty.
	Entries []*CatalogEntry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"`
	// Custom or vendor-specific metadata.
	Metadata map[string]*structpb.Value `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

AICatalog is the top-level container for discovering heterogeneous AI artifacts (MCP servers, A2A agents, skills, nested catalogs, etc.). Serialized as media type "application/ai-catalog+json". Specs: https://agent-card.github.io/ai-catalog/

func (*AICatalog) Descriptor deprecated

func (*AICatalog) Descriptor() ([]byte, []int)

Deprecated: Use AICatalog.ProtoReflect.Descriptor instead.

func (*AICatalog) GetEntries

func (x *AICatalog) GetEntries() []*CatalogEntry

func (*AICatalog) GetHost

func (x *AICatalog) GetHost() *HostInfo

func (*AICatalog) GetMetadata

func (x *AICatalog) GetMetadata() map[string]*structpb.Value

func (*AICatalog) GetSpecVersion

func (x *AICatalog) GetSpecVersion() string

func (*AICatalog) ProtoMessage

func (*AICatalog) ProtoMessage()

func (*AICatalog) ProtoReflect

func (x *AICatalog) ProtoReflect() protoreflect.Message

func (*AICatalog) Reset

func (x *AICatalog) Reset()

func (*AICatalog) String

func (x *AICatalog) String() string

type AIFinderServiceClient

type AIFinderServiceClient interface {
	// ListAgents returns catalog entries with deterministic, cacheable browsing
	// semantics (database filtering, no relevance ranking).
	ListAgents(ctx context.Context, in *ListAgentsRequest, opts ...grpc.CallOption) (*ListAgentsResponse, error)
	// GetAgent returns a single CatalogEntry by CID. The response shape is the
	// same as one element in ListAgentsResponse.results[], providing a stable
	// detail URL for any agent discovered through listing.
	GetAgent(ctx context.Context, in *GetAgentRequest, opts ...grpc.CallOption) (*GetAgentResponse, error)
	// ExportAgent returns the full agent record in one of the supported export
	// formats (oasf, a2a, agent-skill, mcp-ghcopilot). The bytes are written
	// directly into the response body via google.api.HttpBody with an appropriate
	// Content-Type.
	ExportAgent(ctx context.Context, in *ExportAgentRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error)
	// GetWellKnownCatalog returns the AI Catalog well-known document (host
	// descriptor, published entries, and dynamic collections) at the RFC 8615 URI.
	GetWellKnownCatalog(ctx context.Context, in *GetWellKnownCatalogRequest, opts ...grpc.CallOption) (*GetWellKnownCatalogResponse, error)
}

AIFinderServiceClient is the client API for AIFinderService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

AIFinderService is the federated AI Finder discovery surface over the AI Catalog model. It is exposed over gRPC and, via grpc-gateway, as a REST API.

type AIFinderServiceServer

type AIFinderServiceServer interface {
	// ListAgents returns catalog entries with deterministic, cacheable browsing
	// semantics (database filtering, no relevance ranking).
	ListAgents(context.Context, *ListAgentsRequest) (*ListAgentsResponse, error)
	// GetAgent returns a single CatalogEntry by CID. The response shape is the
	// same as one element in ListAgentsResponse.results[], providing a stable
	// detail URL for any agent discovered through listing.
	GetAgent(context.Context, *GetAgentRequest) (*GetAgentResponse, error)
	// ExportAgent returns the full agent record in one of the supported export
	// formats (oasf, a2a, agent-skill, mcp-ghcopilot). The bytes are written
	// directly into the response body via google.api.HttpBody with an appropriate
	// Content-Type.
	ExportAgent(context.Context, *ExportAgentRequest) (*httpbody.HttpBody, error)
	// GetWellKnownCatalog returns the AI Catalog well-known document (host
	// descriptor, published entries, and dynamic collections) at the RFC 8615 URI.
	GetWellKnownCatalog(context.Context, *GetWellKnownCatalogRequest) (*GetWellKnownCatalogResponse, error)
}

AIFinderServiceServer is the server API for AIFinderService service. All implementations should embed UnimplementedAIFinderServiceServer for forward compatibility.

AIFinderService is the federated AI Finder discovery surface over the AI Catalog model. It is exposed over gRPC and, via grpc-gateway, as a REST API.

type Attestation

type Attestation struct {

	// Attestation type (e.g. "SOC2-Type2", "ISO27001", "publisher-identity").
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// Location of the attestation document (HTTPS URL or Data URI).
	Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
	// Media type of the attestation document (e.g. "application/pdf").
	MediaType string `protobuf:"bytes,3,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
	// Integrity digest as "algorithm:hex" (SHA-256 or stronger).
	Digest *string `protobuf:"bytes,4,opt,name=digest,proto3,oneof" json:"digest,omitempty"`
	// Size of the attestation document in bytes.
	Size *uint64 `protobuf:"varint,5,opt,name=size,proto3,oneof" json:"size,omitempty"`
	// Human-readable label for the attestation.
	Description *string `protobuf:"bytes,6,opt,name=description,proto3,oneof" json:"description,omitempty"`
	// contains filtered or unexported fields
}

Attestation is verifiable proof of a claim about an artifact (compliance certification, publisher identity binding, audit report, SBOM, etc.).

func (*Attestation) Descriptor deprecated

func (*Attestation) Descriptor() ([]byte, []int)

Deprecated: Use Attestation.ProtoReflect.Descriptor instead.

func (*Attestation) GetDescription

func (x *Attestation) GetDescription() string

func (*Attestation) GetDigest

func (x *Attestation) GetDigest() string

func (*Attestation) GetMediaType

func (x *Attestation) GetMediaType() string

func (*Attestation) GetSize

func (x *Attestation) GetSize() uint64

func (*Attestation) GetType

func (x *Attestation) GetType() string

func (*Attestation) GetUri

func (x *Attestation) GetUri() string

func (*Attestation) ProtoMessage

func (*Attestation) ProtoMessage()

func (*Attestation) ProtoReflect

func (x *Attestation) ProtoReflect() protoreflect.Message

func (*Attestation) Reset

func (x *Attestation) Reset()

func (*Attestation) String

func (x *Attestation) String() string

type CatalogCollection

type CatalogCollection struct {

	// Human-readable name for the collection.
	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// URL that resolves to the collection contents.
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// Description of what the collection returns.
	Description *string `protobuf:"bytes,3,opt,name=description,proto3,oneof" json:"description,omitempty"`
	// Media type of the document returned by fetching url.
	MediaType *string `protobuf:"bytes,4,opt,name=media_type,json=mediaType,proto3,oneof" json:"media_type,omitempty"`
	// Free-form tags for filtering and discovery.
	Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"`
	// Custom metadata.
	Metadata map[string]*structpb.Value `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

CatalogCollection is a dynamic, queryable view: fetching its url returns a list of records (e.g. a nested AICatalog) matching a server-side query.

func (*CatalogCollection) Descriptor deprecated

func (*CatalogCollection) Descriptor() ([]byte, []int)

Deprecated: Use CatalogCollection.ProtoReflect.Descriptor instead.

func (*CatalogCollection) GetDescription

func (x *CatalogCollection) GetDescription() string

func (*CatalogCollection) GetDisplayName

func (x *CatalogCollection) GetDisplayName() string

func (*CatalogCollection) GetMediaType

func (x *CatalogCollection) GetMediaType() string

func (*CatalogCollection) GetMetadata

func (x *CatalogCollection) GetMetadata() map[string]*structpb.Value

func (*CatalogCollection) GetTags

func (x *CatalogCollection) GetTags() []string

func (*CatalogCollection) GetUrl

func (x *CatalogCollection) GetUrl() string

func (*CatalogCollection) ProtoMessage

func (*CatalogCollection) ProtoMessage()

func (*CatalogCollection) ProtoReflect

func (x *CatalogCollection) ProtoReflect() protoreflect.Message

func (*CatalogCollection) Reset

func (x *CatalogCollection) Reset()

func (*CatalogCollection) String

func (x *CatalogCollection) String() string

type CatalogEntry

type CatalogEntry struct {

	// Stable, globally unique identifier, ideally a URN (RFC 8141) or URI.
	Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	// Human-readable name for the artifact.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Media type of the artifact, e.g. "application/a2a-agent-card+json",
	// "application/mcp-server-card+json", or "application/ai-catalog+json"
	// for a nested catalog.
	MediaType string `protobuf:"bytes,3,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
	// Artifact content. Exactly one of url or data must be set.
	//
	// Types that are valid to be assigned to Artifact:
	//
	//	*CatalogEntry_Url
	//	*CatalogEntry_Data
	Artifact isCatalogEntry_Artifact `protobuf_oneof:"artifact"`
	// Artifact version. Semantic Versioning is recommended.
	Version *string `protobuf:"bytes,6,opt,name=version,proto3,oneof" json:"version,omitempty"`
	// Description of the artifact.
	Description *string `protobuf:"bytes,7,opt,name=description,proto3,oneof" json:"description,omitempty"`
	// Free-form keywords for filtering and discovery.
	Tags []string `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"`
	// Publishing entity. Canonical location for publisher info, not duplicated
	// in trust_manifest.
	Publisher *Publisher `protobuf:"bytes,9,opt,name=publisher,proto3,oneof" json:"publisher,omitempty"`
	// Trust metadata. When present, trust_manifest.identity must match identifier.
	TrustManifest *TrustManifest `protobuf:"bytes,10,opt,name=trust_manifest,json=trustManifest,proto3,oneof" json:"trust_manifest,omitempty"`
	// RFC 3339 timestamp of the last modification to this entry.
	UpdatedAt *string `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3,oneof" json:"updated_at,omitempty"`
	// Custom metadata.
	Metadata map[string]*structpb.Value `` /* 144-byte string literal not displayed */
	// contains filtered or unexported fields
}

CatalogEntry describes a single AI artifact: it identifies the artifact, declares its type via media_type, and either references it (url) or embeds it inline (data). When version is set, (identifier, version) must be unique within a catalog; otherwise identifier alone must be unique.

func RecordToCatalog

func RecordToCatalog(record coretypes.Record, opts ...ConvertOption) (*CatalogEntry, error)

RecordToCatalog projects an OASF record onto its AI Catalog entry representation, returned as a structpb.Struct. The result depends on how many known integration modules the record carries.

  • 0 known modules → error; a catalog entry MUST point at an artifact and there is nothing to project.
  • 1 known module → a LEAF entry whose media_type matches the module (e.g. "application/a2a-agent-card+json") and whose `data` is the module's structured data.
  • 2+ known modules → a CONTAINER entry with media_type "application/ai-catalog+json" whose `data` embeds a nested AI Catalog with one entry per known module.

The projection is deliberately pure: trust/identity metadata (e.g. signature-derived TrustManifests) and any publisher/host data beyond the URN host are layered on by the caller and intentionally not produced here.

func (*CatalogEntry) Descriptor deprecated

func (*CatalogEntry) Descriptor() ([]byte, []int)

Deprecated: Use CatalogEntry.ProtoReflect.Descriptor instead.

func (*CatalogEntry) GetArtifact

func (x *CatalogEntry) GetArtifact() isCatalogEntry_Artifact

func (*CatalogEntry) GetData

func (x *CatalogEntry) GetData() *structpb.Value

func (*CatalogEntry) GetDescription

func (x *CatalogEntry) GetDescription() string

func (*CatalogEntry) GetDisplayName

func (x *CatalogEntry) GetDisplayName() string

func (*CatalogEntry) GetIdentifier

func (x *CatalogEntry) GetIdentifier() string

func (*CatalogEntry) GetMediaType

func (x *CatalogEntry) GetMediaType() string

func (*CatalogEntry) GetMetadata

func (x *CatalogEntry) GetMetadata() map[string]*structpb.Value

func (*CatalogEntry) GetPublisher

func (x *CatalogEntry) GetPublisher() *Publisher

func (*CatalogEntry) GetTags

func (x *CatalogEntry) GetTags() []string

func (*CatalogEntry) GetTrustManifest

func (x *CatalogEntry) GetTrustManifest() *TrustManifest

func (*CatalogEntry) GetUpdatedAt

func (x *CatalogEntry) GetUpdatedAt() string

func (*CatalogEntry) GetUrl

func (x *CatalogEntry) GetUrl() string

func (*CatalogEntry) GetVersion

func (x *CatalogEntry) GetVersion() string

func (*CatalogEntry) ProtoMessage

func (*CatalogEntry) ProtoMessage()

func (*CatalogEntry) ProtoReflect

func (x *CatalogEntry) ProtoReflect() protoreflect.Message

func (*CatalogEntry) Reset

func (x *CatalogEntry) Reset()

func (*CatalogEntry) String

func (x *CatalogEntry) String() string

type CatalogEntry_Data

type CatalogEntry_Data struct {
	// Artifact document embedded inline; its structure follows media_type.
	Data *structpb.Value `protobuf:"bytes,5,opt,name=data,proto3,oneof"`
}

type CatalogEntry_Url

type CatalogEntry_Url struct {
	// URL where the artifact document can be retrieved.
	Url string `protobuf:"bytes,4,opt,name=url,proto3,oneof"`
}

type ConvertOption

type ConvertOption func(*convertOptions)

func WithSignatures

func WithSignatures(signatures []coretypes.ObjectSignature) ConvertOption

type ExportAgentRequest

type ExportAgentRequest struct {

	// Content-addressable identifier of the agent record.
	Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
	// Export format. Empty string is treated as "oasf".
	Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"`
	// contains filtered or unexported fields
}

ExportAgentRequest selects an agent and the format to render it in.

func (*ExportAgentRequest) Descriptor deprecated

func (*ExportAgentRequest) Descriptor() ([]byte, []int)

Deprecated: Use ExportAgentRequest.ProtoReflect.Descriptor instead.

func (*ExportAgentRequest) GetCid

func (x *ExportAgentRequest) GetCid() string

func (*ExportAgentRequest) GetFormat

func (x *ExportAgentRequest) GetFormat() string

func (*ExportAgentRequest) ProtoMessage

func (*ExportAgentRequest) ProtoMessage()

func (*ExportAgentRequest) ProtoReflect

func (x *ExportAgentRequest) ProtoReflect() protoreflect.Message

func (*ExportAgentRequest) Reset

func (x *ExportAgentRequest) Reset()

func (*ExportAgentRequest) String

func (x *ExportAgentRequest) String() string

type GetAgentRequest

type GetAgentRequest struct {

	// Content-addressable identifier of the agent record.
	Cid string `protobuf:"bytes,1,opt,name=cid,proto3" json:"cid,omitempty"`
	// contains filtered or unexported fields
}

GetAgentRequest carries the CID of the catalog entry to retrieve.

func (*GetAgentRequest) Descriptor deprecated

func (*GetAgentRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetAgentRequest.ProtoReflect.Descriptor instead.

func (*GetAgentRequest) GetCid

func (x *GetAgentRequest) GetCid() string

func (*GetAgentRequest) ProtoMessage

func (*GetAgentRequest) ProtoMessage()

func (*GetAgentRequest) ProtoReflect

func (x *GetAgentRequest) ProtoReflect() protoreflect.Message

func (*GetAgentRequest) Reset

func (x *GetAgentRequest) Reset()

func (*GetAgentRequest) String

func (x *GetAgentRequest) String() string

type GetAgentResponse

type GetAgentResponse struct {

	// CatalogEntry for the requested CID.
	Entry *CatalogEntry `protobuf:"bytes,1,opt,name=entry,proto3" json:"entry,omitempty"`
	// contains filtered or unexported fields
}

GetAgentResponse wraps a single CatalogEntry. The HTTP gateway extracts the "entry" field via response_body so REST consumers receive the bare CatalogEntry JSON.

func (*GetAgentResponse) Descriptor deprecated

func (*GetAgentResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetAgentResponse.ProtoReflect.Descriptor instead.

func (*GetAgentResponse) GetEntry

func (x *GetAgentResponse) GetEntry() *CatalogEntry

func (*GetAgentResponse) ProtoMessage

func (*GetAgentResponse) ProtoMessage()

func (*GetAgentResponse) ProtoReflect

func (x *GetAgentResponse) ProtoReflect() protoreflect.Message

func (*GetAgentResponse) Reset

func (x *GetAgentResponse) Reset()

func (*GetAgentResponse) String

func (x *GetAgentResponse) String() string

type GetWellKnownCatalogRequest

type GetWellKnownCatalogRequest struct {
	// contains filtered or unexported fields
}

GetWellKnownCatalogRequest is intentionally empty; it exists for forward compatibility with future query parameters.

func (*GetWellKnownCatalogRequest) Descriptor deprecated

func (*GetWellKnownCatalogRequest) Descriptor() ([]byte, []int)

Deprecated: Use GetWellKnownCatalogRequest.ProtoReflect.Descriptor instead.

func (*GetWellKnownCatalogRequest) ProtoMessage

func (*GetWellKnownCatalogRequest) ProtoMessage()

func (*GetWellKnownCatalogRequest) ProtoReflect

func (*GetWellKnownCatalogRequest) Reset

func (x *GetWellKnownCatalogRequest) Reset()

func (*GetWellKnownCatalogRequest) String

func (x *GetWellKnownCatalogRequest) String() string

type GetWellKnownCatalogResponse

type GetWellKnownCatalogResponse struct {

	// The well-known AI Catalog document.
	Catalog *WellKnownCatalog `protobuf:"bytes,1,opt,name=catalog,proto3" json:"catalog,omitempty"`
	// contains filtered or unexported fields
}

GetWellKnownCatalogResponse wraps the document in a named field (buf RPC_RESPONSE_STANDARD_NAME); the gateway emits the bare WellKnownCatalog.

func (*GetWellKnownCatalogResponse) Descriptor deprecated

func (*GetWellKnownCatalogResponse) Descriptor() ([]byte, []int)

Deprecated: Use GetWellKnownCatalogResponse.ProtoReflect.Descriptor instead.

func (*GetWellKnownCatalogResponse) GetCatalog

func (*GetWellKnownCatalogResponse) ProtoMessage

func (*GetWellKnownCatalogResponse) ProtoMessage()

func (*GetWellKnownCatalogResponse) ProtoReflect

func (*GetWellKnownCatalogResponse) Reset

func (x *GetWellKnownCatalogResponse) Reset()

func (*GetWellKnownCatalogResponse) String

func (x *GetWellKnownCatalogResponse) String() string

type HostInfo

type HostInfo struct {

	// Human-readable name of the host (e.g. the organization name).
	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Verifiable identifier for the host (e.g. a DID or domain name).
	Identifier *string `protobuf:"bytes,2,opt,name=identifier,proto3,oneof" json:"identifier,omitempty"`
	// URL to the host's documentation.
	DocumentationUrl *string `protobuf:"bytes,3,opt,name=documentation_url,json=documentationUrl,proto3,oneof" json:"documentation_url,omitempty"`
	// URL to the host's logo. Data URIs (RFC 2397) are recommended.
	LogoUrl *string `protobuf:"bytes,4,opt,name=logo_url,json=logoUrl,proto3,oneof" json:"logo_url,omitempty"`
	// Trust metadata for the host itself.
	TrustManifest *TrustManifest `protobuf:"bytes,5,opt,name=trust_manifest,json=trustManifest,proto3,oneof" json:"trust_manifest,omitempty"`
	// contains filtered or unexported fields
}

HostInfo identifies the operator of an AI Catalog.

func (*HostInfo) Descriptor deprecated

func (*HostInfo) Descriptor() ([]byte, []int)

Deprecated: Use HostInfo.ProtoReflect.Descriptor instead.

func (*HostInfo) GetDisplayName

func (x *HostInfo) GetDisplayName() string

func (*HostInfo) GetDocumentationUrl

func (x *HostInfo) GetDocumentationUrl() string

func (*HostInfo) GetIdentifier

func (x *HostInfo) GetIdentifier() string

func (*HostInfo) GetLogoUrl

func (x *HostInfo) GetLogoUrl() string

func (*HostInfo) GetTrustManifest

func (x *HostInfo) GetTrustManifest() *TrustManifest

func (*HostInfo) ProtoMessage

func (*HostInfo) ProtoMessage()

func (*HostInfo) ProtoReflect

func (x *HostInfo) ProtoReflect() protoreflect.Message

func (*HostInfo) Reset

func (x *HostInfo) Reset()

func (*HostInfo) String

func (x *HostInfo) String() string

type ListAgentsRequest

type ListAgentsRequest struct {

	// Filter expression: "field=value" clauses joined by AND; comma-separated
	// values within a field are OR-combined.
	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// Sort fields, comma-separated, each optionally suffixed "ASC"/"DESC"
	// (default ASC), e.g. "created_at DESC, display_name ASC".
	OrderBy string `protobuf:"bytes,2,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
	// Maximum entries to return. Default 20, clamped to 100.
	PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Opaque continuation token from a previous call.
	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	// contains filtered or unexported fields
}

ListAgentsRequest carries the AI Finder browsing parameters. All fields are optional; an empty request returns the first page with server defaults.

func (*ListAgentsRequest) Descriptor deprecated

func (*ListAgentsRequest) Descriptor() ([]byte, []int)

Deprecated: Use ListAgentsRequest.ProtoReflect.Descriptor instead.

func (*ListAgentsRequest) GetFilter

func (x *ListAgentsRequest) GetFilter() string

func (*ListAgentsRequest) GetOrderBy

func (x *ListAgentsRequest) GetOrderBy() string

func (*ListAgentsRequest) GetPageSize

func (x *ListAgentsRequest) GetPageSize() uint32

func (*ListAgentsRequest) GetPageToken

func (x *ListAgentsRequest) GetPageToken() string

func (*ListAgentsRequest) ProtoMessage

func (*ListAgentsRequest) ProtoMessage()

func (*ListAgentsRequest) ProtoReflect

func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message

func (*ListAgentsRequest) Reset

func (x *ListAgentsRequest) Reset()

func (*ListAgentsRequest) String

func (x *ListAgentsRequest) String() string

type ListAgentsResponse

type ListAgentsResponse struct {

	// Catalog entries on this page, in the requested sort order.
	Results []*CatalogEntry `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
	// Opaque continuation token. Empty when there are no more results.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	// contains filtered or unexported fields
}

ListAgentsResponse returns one page of catalog entries.

func (*ListAgentsResponse) Descriptor deprecated

func (*ListAgentsResponse) Descriptor() ([]byte, []int)

Deprecated: Use ListAgentsResponse.ProtoReflect.Descriptor instead.

func (*ListAgentsResponse) GetNextPageToken

func (x *ListAgentsResponse) GetNextPageToken() string

func (*ListAgentsResponse) GetResults

func (x *ListAgentsResponse) GetResults() []*CatalogEntry

func (*ListAgentsResponse) ProtoMessage

func (*ListAgentsResponse) ProtoMessage()

func (*ListAgentsResponse) ProtoReflect

func (x *ListAgentsResponse) ProtoReflect() protoreflect.Message

func (*ListAgentsResponse) Reset

func (x *ListAgentsResponse) Reset()

func (*ListAgentsResponse) String

func (x *ListAgentsResponse) String() string
type ProvenanceLink struct {

	// Relationship to the source (e.g. "derivedFrom", "publishedFrom").
	Relation string `protobuf:"bytes,1,opt,name=relation,proto3" json:"relation,omitempty"`
	// Source artifact or data (e.g. a Git repo URL, OCI ref, dataset URI).
	SourceId string `protobuf:"bytes,2,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	// Integrity digest of the source as "algorithm:hex".
	SourceDigest *string `protobuf:"bytes,3,opt,name=source_digest,json=sourceDigest,proto3,oneof" json:"source_digest,omitempty"`
	// URI of the registry holding the source.
	RegistryUri *string `protobuf:"bytes,4,opt,name=registry_uri,json=registryUri,proto3,oneof" json:"registry_uri,omitempty"`
	// URI of a provenance statement (e.g. an in-toto / SLSA statement).
	StatementUri *string `protobuf:"bytes,5,opt,name=statement_uri,json=statementUri,proto3,oneof" json:"statement_uri,omitempty"`
	// Reference to the key used to sign the provenance statement.
	SignatureRef *string `protobuf:"bytes,6,opt,name=signature_ref,json=signatureRef,proto3,oneof" json:"signature_ref,omitempty"`
	// contains filtered or unexported fields
}

ProvenanceLink records lineage for an artifact: its source, registry, and optional signed provenance statement.

func (*ProvenanceLink) Descriptor deprecated

func (*ProvenanceLink) Descriptor() ([]byte, []int)

Deprecated: Use ProvenanceLink.ProtoReflect.Descriptor instead.

func (*ProvenanceLink) GetRegistryUri

func (x *ProvenanceLink) GetRegistryUri() string

func (*ProvenanceLink) GetRelation

func (x *ProvenanceLink) GetRelation() string

func (*ProvenanceLink) GetSignatureRef

func (x *ProvenanceLink) GetSignatureRef() string

func (*ProvenanceLink) GetSourceDigest

func (x *ProvenanceLink) GetSourceDigest() string

func (*ProvenanceLink) GetSourceId

func (x *ProvenanceLink) GetSourceId() string

func (*ProvenanceLink) GetStatementUri

func (x *ProvenanceLink) GetStatementUri() string

func (*ProvenanceLink) ProtoMessage

func (*ProvenanceLink) ProtoMessage()

func (*ProvenanceLink) ProtoReflect

func (x *ProvenanceLink) ProtoReflect() protoreflect.Message

func (*ProvenanceLink) Reset

func (x *ProvenanceLink) Reset()

func (*ProvenanceLink) String

func (x *ProvenanceLink) String() string

type Publisher

type Publisher struct {

	// Verifiable identifier (e.g. a DID, domain name, or URI).
	Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	// Human-readable name of the publisher.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Type hint for identifier (e.g. "did", "dns"). May be omitted when evident.
	IdentityType *string `protobuf:"bytes,3,opt,name=identity_type,json=identityType,proto3,oneof" json:"identity_type,omitempty"`
	// contains filtered or unexported fields
}

Publisher is the canonical identity of the entity responsible for an artifact.

func (*Publisher) Descriptor deprecated

func (*Publisher) Descriptor() ([]byte, []int)

Deprecated: Use Publisher.ProtoReflect.Descriptor instead.

func (*Publisher) GetDisplayName

func (x *Publisher) GetDisplayName() string

func (*Publisher) GetIdentifier

func (x *Publisher) GetIdentifier() string

func (*Publisher) GetIdentityType

func (x *Publisher) GetIdentityType() string

func (*Publisher) ProtoMessage

func (*Publisher) ProtoMessage()

func (*Publisher) ProtoReflect

func (x *Publisher) ProtoReflect() protoreflect.Message

func (*Publisher) Reset

func (x *Publisher) Reset()

func (*Publisher) String

func (x *Publisher) String() string

type TrustManifest

type TrustManifest struct {

	// Primary subject identifier (DID, SPIFFE ID, or URL). Within a CatalogEntry
	// it must match the entry's identifier.
	Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
	// Type hint for identity (e.g. "did", "spiffe", "dns").
	IdentityType *string `protobuf:"bytes,2,opt,name=identity_type,json=identityType,proto3,oneof" json:"identity_type,omitempty"`
	// Trust framework applied to the artifact.
	TrustSchema *TrustSchema `protobuf:"bytes,3,opt,name=trust_schema,json=trustSchema,proto3,oneof" json:"trust_schema,omitempty"`
	// Verifiable claims (publisher identity, compliance certifications, etc.).
	Attestations []*Attestation `protobuf:"bytes,4,rep,name=attestations,proto3" json:"attestations,omitempty"`
	// Lineage information for the artifact.
	Provenance []*ProvenanceLink `protobuf:"bytes,5,rep,name=provenance,proto3" json:"provenance,omitempty"`
	// URL to the privacy policy governing this artifact.
	PrivacyPolicyUrl *string `protobuf:"bytes,6,opt,name=privacy_policy_url,json=privacyPolicyUrl,proto3,oneof" json:"privacy_policy_url,omitempty"`
	// URL to the terms of service.
	TermsOfServiceUrl *string `protobuf:"bytes,7,opt,name=terms_of_service_url,json=termsOfServiceUrl,proto3,oneof" json:"terms_of_service_url,omitempty"`
	// Detached JWS (RFC 7515) signature over the manifest, using JCS (RFC 8785).
	Signature *string `protobuf:"bytes,8,opt,name=signature,proto3,oneof" json:"signature,omitempty"`
	// Custom metadata.
	Metadata map[string]*structpb.Value `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

TrustManifest provides verifiable identity, attestation, and provenance metadata for an artifact. It sits alongside the artifact as a peer element and does not wrap or modify it. Publisher info is carried on CatalogEntry.

func (*TrustManifest) Descriptor deprecated

func (*TrustManifest) Descriptor() ([]byte, []int)

Deprecated: Use TrustManifest.ProtoReflect.Descriptor instead.

func (*TrustManifest) GetAttestations

func (x *TrustManifest) GetAttestations() []*Attestation

func (*TrustManifest) GetIdentity

func (x *TrustManifest) GetIdentity() string

func (*TrustManifest) GetIdentityType

func (x *TrustManifest) GetIdentityType() string

func (*TrustManifest) GetMetadata

func (x *TrustManifest) GetMetadata() map[string]*structpb.Value

func (*TrustManifest) GetPrivacyPolicyUrl

func (x *TrustManifest) GetPrivacyPolicyUrl() string

func (*TrustManifest) GetProvenance

func (x *TrustManifest) GetProvenance() []*ProvenanceLink

func (*TrustManifest) GetSignature

func (x *TrustManifest) GetSignature() string

func (*TrustManifest) GetTermsOfServiceUrl

func (x *TrustManifest) GetTermsOfServiceUrl() string

func (*TrustManifest) GetTrustSchema

func (x *TrustManifest) GetTrustSchema() *TrustSchema

func (*TrustManifest) ProtoMessage

func (*TrustManifest) ProtoMessage()

func (*TrustManifest) ProtoReflect

func (x *TrustManifest) ProtoReflect() protoreflect.Message

func (*TrustManifest) Reset

func (x *TrustManifest) Reset()

func (*TrustManifest) String

func (x *TrustManifest) String() string

type TrustSchema

type TrustSchema struct {

	// Identifier of the trust schema.
	Identifier string `protobuf:"bytes,1,opt,name=identifier,proto3" json:"identifier,omitempty"`
	// Schema version.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// URI to the governance policy document.
	GovernanceUri *string `protobuf:"bytes,3,opt,name=governance_uri,json=governanceUri,proto3,oneof" json:"governance_uri,omitempty"`
	// Supported verification methods (e.g. "did", "x509").
	VerificationMethods []string `protobuf:"bytes,4,rep,name=verification_methods,json=verificationMethods,proto3" json:"verification_methods,omitempty"`
	// contains filtered or unexported fields
}

TrustSchema describes the trust framework applied to an artifact.

func (*TrustSchema) Descriptor deprecated

func (*TrustSchema) Descriptor() ([]byte, []int)

Deprecated: Use TrustSchema.ProtoReflect.Descriptor instead.

func (*TrustSchema) GetGovernanceUri

func (x *TrustSchema) GetGovernanceUri() string

func (*TrustSchema) GetIdentifier

func (x *TrustSchema) GetIdentifier() string

func (*TrustSchema) GetVerificationMethods

func (x *TrustSchema) GetVerificationMethods() []string

func (*TrustSchema) GetVersion

func (x *TrustSchema) GetVersion() string

func (*TrustSchema) ProtoMessage

func (*TrustSchema) ProtoMessage()

func (*TrustSchema) ProtoReflect

func (x *TrustSchema) ProtoReflect() protoreflect.Message

func (*TrustSchema) Reset

func (x *TrustSchema) Reset()

func (*TrustSchema) String

func (x *TrustSchema) String() string

type UnimplementedAIFinderServiceServer

type UnimplementedAIFinderServiceServer struct{}

UnimplementedAIFinderServiceServer should be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedAIFinderServiceServer) ExportAgent

func (UnimplementedAIFinderServiceServer) GetAgent

func (UnimplementedAIFinderServiceServer) GetWellKnownCatalog

func (UnimplementedAIFinderServiceServer) ListAgents

type UnsafeAIFinderServiceServer

type UnsafeAIFinderServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeAIFinderServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to AIFinderServiceServer will result in compilation errors.

type WellKnownCatalog

type WellKnownCatalog struct {

	// AI Catalog spec version this document conforms to, as "Major.Minor".
	SpecVersion string `protobuf:"bytes,1,opt,name=spec_version,json=specVersion,proto3" json:"spec_version,omitempty"`
	// Operator of this catalog. Required at the Discoverable/Trusted levels.
	Host *HostInfo `protobuf:"bytes,2,opt,name=host,proto3,oneof" json:"host,omitempty"`
	// Statically published catalog entries. May be empty.
	Entries []*CatalogEntry `protobuf:"bytes,3,rep,name=entries,proto3" json:"entries,omitempty"`
	// Dynamic collections: pre-built queries that resolve to lists of records.
	Collections []*CatalogCollection `protobuf:"bytes,4,rep,name=collections,proto3" json:"collections,omitempty"`
	// Custom or vendor-specific metadata.
	Metadata map[string]*structpb.Value `` /* 143-byte string literal not displayed */
	// contains filtered or unexported fields
}

WellKnownCatalog is an AICatalog served at "/.well-known/ai-catalog.json" (RFC 8615) that additionally advertises dynamic collections. Specs: https://agent-card.github.io/ai-catalog/#well-known-uri

func (*WellKnownCatalog) Descriptor deprecated

func (*WellKnownCatalog) Descriptor() ([]byte, []int)

Deprecated: Use WellKnownCatalog.ProtoReflect.Descriptor instead.

func (*WellKnownCatalog) GetCollections

func (x *WellKnownCatalog) GetCollections() []*CatalogCollection

func (*WellKnownCatalog) GetEntries

func (x *WellKnownCatalog) GetEntries() []*CatalogEntry

func (*WellKnownCatalog) GetHost

func (x *WellKnownCatalog) GetHost() *HostInfo

func (*WellKnownCatalog) GetMetadata

func (x *WellKnownCatalog) GetMetadata() map[string]*structpb.Value

func (*WellKnownCatalog) GetSpecVersion

func (x *WellKnownCatalog) GetSpecVersion() string

func (*WellKnownCatalog) ProtoMessage

func (*WellKnownCatalog) ProtoMessage()

func (*WellKnownCatalog) ProtoReflect

func (x *WellKnownCatalog) ProtoReflect() protoreflect.Message

func (*WellKnownCatalog) Reset

func (x *WellKnownCatalog) Reset()

func (*WellKnownCatalog) String

func (x *WellKnownCatalog) String() string

Jump to

Keyboard shortcuts

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