@@ -72,31 +72,109 @@ class Base(BaseModel):
7272 """
7373
7474
75- class PlatformSchema (Base ):
75+ class PlatformSchema (BaseModel ):
7676 """
7777 Full capability declaration for platform-level discovery. Includes spec/schema URLs for agent fetching.
7878 """
7979
8080 model_config = ConfigDict (
8181 extra = "allow" ,
8282 )
83+ version : Version
84+ """
85+ Entity version in YYYY-MM-DD format.
86+ """
87+ spec : AnyUrl
88+ """
89+ URL to human-readable specification document.
90+ """
91+ schema_ : AnyUrl = Field (..., alias = "schema" )
92+ """
93+ URL to JSON Schema defining this entity's structure and payloads.
94+ """
95+ id : str | None = None
96+ """
97+ Unique identifier for this entity instance. Used to disambiguate when multiple instances exist.
98+ """
99+ config : dict [str , Any ] | None = None
100+ """
101+ Entity-specific configuration. Structure defined by each entity's schema.
102+ """
103+ extends : str | None = Field (
104+ None , pattern = "^[a-z][a-z0-9]*(?:\\ .[a-z][a-z0-9_]*)+$"
105+ )
106+ """
107+ Parent capability this extends. Present for extensions, absent for root capabilities.
108+ """
83109
84110
85- class BusinessSchema (Base ):
111+ class BusinessSchema (BaseModel ):
86112 """
87113 Capability configuration for business/merchant level. May include business-specific config overrides.
88114 """
89115
90116 model_config = ConfigDict (
91117 extra = "allow" ,
92118 )
119+ version : Version
120+ """
121+ Entity version in YYYY-MM-DD format.
122+ """
123+ spec : AnyUrl | None = None
124+ """
125+ URL to human-readable specification document.
126+ """
127+ schema_ : AnyUrl | None = Field (None , alias = "schema" )
128+ """
129+ URL to JSON Schema defining this entity's structure and payloads.
130+ """
131+ id : str | None = None
132+ """
133+ Unique identifier for this entity instance. Used to disambiguate when multiple instances exist.
134+ """
135+ config : dict [str , Any ] | None = None
136+ """
137+ Entity-specific configuration. Structure defined by each entity's schema.
138+ """
139+ extends : str | None = Field (
140+ None , pattern = "^[a-z][a-z0-9]*(?:\\ .[a-z][a-z0-9_]*)+$"
141+ )
142+ """
143+ Parent capability this extends. Present for extensions, absent for root capabilities.
144+ """
93145
94146
95- class ResponseSchema (Base ):
147+ class ResponseSchema (BaseModel ):
96148 """
97149 Capability reference in responses. Only name/version required to confirm active capabilities.
98150 """
99151
100152 model_config = ConfigDict (
101153 extra = "allow" ,
102154 )
155+ version : Version
156+ """
157+ Entity version in YYYY-MM-DD format.
158+ """
159+ spec : AnyUrl | None = None
160+ """
161+ URL to human-readable specification document.
162+ """
163+ schema_ : AnyUrl | None = Field (None , alias = "schema" )
164+ """
165+ URL to JSON Schema defining this entity's structure and payloads.
166+ """
167+ id : str | None = None
168+ """
169+ Unique identifier for this entity instance. Used to disambiguate when multiple instances exist.
170+ """
171+ config : dict [str , Any ] | None = None
172+ """
173+ Entity-specific configuration. Structure defined by each entity's schema.
174+ """
175+ extends : str | None = Field (
176+ None , pattern = "^[a-z][a-z0-9]*(?:\\ .[a-z][a-z0-9_]*)+$"
177+ )
178+ """
179+ Parent capability this extends. Present for extensions, absent for root capabilities.
180+ """
0 commit comments