extension

package
v0.1.0 Latest Latest
Warning

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

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

Documentation

Overview

Package extension provides models generated from the stable ACP extension registry schema.

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,omitzero" 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,omitzero" yaml:"depends_on,omitempty" mapstructure:"depends_on,omitempty"`

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

	// JSONPath expressions identifying the schema fields added by this extension.
	Extends []ExtendsTarget `json:"extends,omitempty,omitzero" 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,omitzero" yaml:"schema,omitempty" mapstructure:"schema,omitempty"`

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

	// Lifecycle status of the extension.
	Status *ExtensionMetadataStatus `json:"status,omitempty,omitzero" 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,omitzero" 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,omitzero" yaml:"schema,omitempty" mapstructure:"schema,omitempty"`

	// URL to the extension's specification document.
	Spec *string `json:"spec,omitempty,omitzero" 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,omitzero" yaml:"depends_on,omitempty" mapstructure:"depends_on,omitempty"`

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

	// JSONPath expressions identifying the schema fields added by this extension.
	Extends []ExtendsTarget `json:"extends,omitempty,omitzero" 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,omitzero" yaml:"schema,omitempty" mapstructure:"schema,omitempty"`

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

	// Lifecycle status of the extension.
	Status *ExtensionMetadataStatus `json:"status,omitempty,omitzero" 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