extension

package
v0.0.0-...-a7b5525 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CoreExtensions

type CoreExtensions struct {
	// Discount corresponds to the JSON schema field "discount".
	Discount *CoreExtensionsDiscount `json:"discount,omitempty" yaml:"discount,omitempty" mapstructure:"discount,omitempty"`
}

Registry of core ACP extensions.

type CoreExtensionsDiscount

type CoreExtensionsDiscount struct {
	// Extensions that this extension depends on.
	DependsOn []ExtensionIdentifier `json:"depends_on,omitempty" yaml:"depends_on,omitempty" mapstructure:"depends_on,omitempty"`

	// Brief description of what the extension provides.
	Description *string `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// JSONPath expressions identifying the schema fields added by this extension.
	Extends []ExtendsTarget `json:"extends,omitempty" yaml:"extends,omitempty" mapstructure:"extends,omitempty"`

	// Unique identifier for the extension.
	Id ExtensionIdentifier `json:"id" yaml:"id" mapstructure:"id"`

	// Human-readable name for the extension.
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// URL to the extension JSON Schema.
	Schema *string `json:"schema,omitempty" yaml:"schema,omitempty" mapstructure:"schema,omitempty"`

	// URL to the extension specification document.
	Spec *string `json:"spec,omitempty" yaml:"spec,omitempty" mapstructure:"spec,omitempty"`

	// Lifecycle status of the extension.
	Status *ExtensionMetadataStatus `json:"status,omitempty" yaml:"status,omitempty" mapstructure:"status,omitempty"`

	AdditionalProperties interface{} `mapstructure:",remain"`
}

Full metadata about an extension for documentation and discovery.

func (*CoreExtensionsDiscount) UnmarshalJSON

func (j *CoreExtensionsDiscount) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExtendsTarget

type ExtendsTarget string

JSONPath expression identifying the schema field added by this extension. Format: $.<SchemaName>.<fieldName> (e.g., $.CheckoutSession.discounts).

func (*ExtendsTarget) UnmarshalJSON

func (j *ExtendsTarget) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExtensionDeclaration

type ExtensionDeclaration struct {
	// JSONPath expressions identifying the schema fields added by this extension
	// (e.g., $.CheckoutSession.discounts).
	Extends []ExtendsTarget `json:"extends,omitempty" yaml:"extends,omitempty" mapstructure:"extends,omitempty"`

	// Unique identifier for the extension.
	Name ExtensionIdentifier `json:"name" yaml:"name" mapstructure:"name"`

	// URL to the extension's JSON Schema definition.
	Schema *string `json:"schema,omitempty" yaml:"schema,omitempty" mapstructure:"schema,omitempty"`

	// URL to the extension's specification document.
	Spec *string `json:"spec,omitempty" yaml:"spec,omitempty" mapstructure:"spec,omitempty"`
}

Extension declaration in capabilities.extensions (response). Describes an active extension and which schema fields it adds.

func (*ExtensionDeclaration) UnmarshalJSON

func (j *ExtensionDeclaration) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExtensionIdentifier

type ExtensionIdentifier string

Extension identifier. Core extensions use simple names (e.g., 'discount'). Third-party extensions use reverse-domain naming (e.g., 'com.example.custom'). May include optional version suffix (e.g., 'discount@2026-01-27').

func (*ExtensionIdentifier) UnmarshalJSON

func (j *ExtensionIdentifier) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExtensionMetadata

type ExtensionMetadata struct {
	// Extensions that this extension depends on.
	DependsOn []ExtensionIdentifier `json:"depends_on,omitempty" yaml:"depends_on,omitempty" mapstructure:"depends_on,omitempty"`

	// Brief description of what the extension provides.
	Description *string `json:"description,omitempty" yaml:"description,omitempty" mapstructure:"description,omitempty"`

	// JSONPath expressions identifying the schema fields added by this extension.
	Extends []ExtendsTarget `json:"extends,omitempty" yaml:"extends,omitempty" mapstructure:"extends,omitempty"`

	// Unique identifier for the extension.
	Id ExtensionIdentifier `json:"id" yaml:"id" mapstructure:"id"`

	// Human-readable name for the extension.
	Name string `json:"name" yaml:"name" mapstructure:"name"`

	// URL to the extension JSON Schema.
	Schema *string `json:"schema,omitempty" yaml:"schema,omitempty" mapstructure:"schema,omitempty"`

	// URL to the extension specification document.
	Spec *string `json:"spec,omitempty" yaml:"spec,omitempty" mapstructure:"spec,omitempty"`

	// Lifecycle status of the extension.
	Status *ExtensionMetadataStatus `json:"status,omitempty" yaml:"status,omitempty" mapstructure:"status,omitempty"`

	AdditionalProperties interface{} `mapstructure:",remain"`
}

Full metadata about an extension for documentation and discovery.

func (*ExtensionMetadata) UnmarshalJSON

func (j *ExtensionMetadata) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ExtensionMetadataStatus

type ExtensionMetadataStatus string
const ExtensionMetadataStatusDeprecated ExtensionMetadataStatus = "deprecated"
const ExtensionMetadataStatusDraft ExtensionMetadataStatus = "draft"
const ExtensionMetadataStatusExperimental ExtensionMetadataStatus = "experimental"
const ExtensionMetadataStatusRetired ExtensionMetadataStatus = "retired"
const ExtensionMetadataStatusStable ExtensionMetadataStatus = "stable"

func (*ExtensionMetadataStatus) UnmarshalJSON

func (j *ExtensionMetadataStatus) UnmarshalJSON(value []byte) error

UnmarshalJSON implements json.Unmarshaler.

type RequestExtensions

type RequestExtensions []ExtensionIdentifier

Extensions the agent understands. Sent in request capabilities.extensions.

type ResponseExtensions

type ResponseExtensions []ExtensionDeclaration

Active extensions for this session. Returned in response capabilities.extensions.

Jump to

Keyboard shortcuts

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