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.