@objectstack/spec 2.0.6 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/dist/ai/index.d.mts +1 -1
  2. package/dist/ai/index.d.ts +1 -1
  3. package/dist/ai/index.js +230 -3
  4. package/dist/ai/index.js.map +1 -1
  5. package/dist/ai/index.mjs +218 -3
  6. package/dist/ai/index.mjs.map +1 -1
  7. package/dist/api/index.d.mts +2 -2
  8. package/dist/api/index.d.ts +2 -2
  9. package/dist/api/index.js +3409 -2841
  10. package/dist/api/index.js.map +1 -1
  11. package/dist/api/index.mjs +3386 -2841
  12. package/dist/api/index.mjs.map +1 -1
  13. package/dist/automation/index.d.mts +1 -1
  14. package/dist/automation/index.d.ts +1 -1
  15. package/dist/contracts/index.d.mts +2 -2
  16. package/dist/contracts/index.d.ts +2 -2
  17. package/dist/contracts/index.js.map +1 -1
  18. package/dist/data/index.d.mts +2 -2
  19. package/dist/data/index.d.ts +2 -2
  20. package/dist/data/index.js +58 -1
  21. package/dist/data/index.js.map +1 -1
  22. package/dist/data/index.mjs +58 -1
  23. package/dist/data/index.mjs.map +1 -1
  24. package/dist/{driver.zod-E3C6n0W-.d.ts → driver.zod-B3Q0oLlF.d.ts} +1 -1
  25. package/dist/{driver.zod-DnOPgUGi.d.mts → driver.zod-Bf2z72WQ.d.mts} +1 -1
  26. package/dist/{index-DyawwLFZ.d.ts → index-B3C8s_DZ.d.ts} +307 -29
  27. package/dist/{index-DTCkpGMm.d.mts → index-BliYpI46.d.mts} +879 -52
  28. package/dist/{index-BbtSaxHm.d.ts → index-BpE_xfkc.d.ts} +3289 -229
  29. package/dist/{index-E1mP_eoE.d.mts → index-C3cFLYII.d.mts} +307 -29
  30. package/dist/{index-BpP0MwlW.d.ts → index-CXtgLAue.d.ts} +879 -52
  31. package/dist/{index-D-tf4nDV.d.mts → index-CYbdd-mL.d.mts} +27 -1
  32. package/dist/{index-B-u2mVKn.d.mts → index-CeUUI-ym.d.mts} +151 -14
  33. package/dist/{index-BPhGHW32.d.ts → index-CfvdYFyf.d.ts} +27 -1
  34. package/dist/{index-CDN6TRx9.d.mts → index-ClHj1Tbo.d.mts} +71 -2
  35. package/dist/{index-CDN6TRx9.d.ts → index-ClHj1Tbo.d.ts} +71 -2
  36. package/dist/{index-BjxWBAB_.d.ts → index-CmY8tgpL.d.ts} +151 -14
  37. package/dist/{index-DRCh2NTZ.d.mts → index-CqDMk0T6.d.mts} +3289 -229
  38. package/dist/{index-d9wYlv-g.d.ts → index-DNKiU_-x.d.mts} +684 -18
  39. package/dist/{index-d9wYlv-g.d.mts → index-DNKiU_-x.d.ts} +684 -18
  40. package/dist/{index-CisfSmuF.d.ts → index-Dm4UfDKG.d.ts} +451 -19
  41. package/dist/index-KhvhiesR.d.mts +6902 -0
  42. package/dist/{index-BV0xBoer.d.mts → index-Onf8hbkX.d.mts} +451 -19
  43. package/dist/index-OqCqQSaH.d.ts +6902 -0
  44. package/dist/index.d.mts +2519 -222
  45. package/dist/index.d.ts +2519 -222
  46. package/dist/index.js +9957 -8069
  47. package/dist/index.js.map +1 -1
  48. package/dist/index.mjs +9957 -8069
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/integration/index.d.mts +1 -1
  51. package/dist/integration/index.d.ts +1 -1
  52. package/dist/integration/index.js +67 -0
  53. package/dist/integration/index.js.map +1 -1
  54. package/dist/integration/index.mjs +61 -0
  55. package/dist/integration/index.mjs.map +1 -1
  56. package/dist/kernel/index.d.mts +2 -2
  57. package/dist/kernel/index.d.ts +2 -2
  58. package/dist/kernel/index.js +1698 -1474
  59. package/dist/kernel/index.js.map +1 -1
  60. package/dist/kernel/index.mjs +1690 -1474
  61. package/dist/kernel/index.mjs.map +1 -1
  62. package/dist/{package-registry.zod-CbS9FKeH.d.mts → package-registry.zod-BJQSiICj.d.mts} +78 -43
  63. package/dist/{package-registry.zod-CbS9FKeH.d.ts → package-registry.zod-BJQSiICj.d.ts} +78 -43
  64. package/dist/security/index.d.mts +1 -1
  65. package/dist/security/index.d.ts +1 -1
  66. package/dist/security/index.js +47 -1
  67. package/dist/security/index.js.map +1 -1
  68. package/dist/security/index.mjs +45 -1
  69. package/dist/security/index.mjs.map +1 -1
  70. package/dist/system/index.d.mts +1 -1
  71. package/dist/system/index.d.ts +1 -1
  72. package/dist/system/index.js +2189 -1821
  73. package/dist/system/index.js.map +1 -1
  74. package/dist/system/index.mjs +2168 -1821
  75. package/dist/system/index.mjs.map +1 -1
  76. package/dist/ui/index.d.mts +1 -1
  77. package/dist/ui/index.d.ts +1 -1
  78. package/dist/ui/index.js +1414 -767
  79. package/dist/ui/index.js.map +1 -1
  80. package/dist/ui/index.mjs +1354 -767
  81. package/dist/ui/index.mjs.map +1 -1
  82. package/json-schema/ai/Agent.json +203 -0
  83. package/json-schema/ai/AgentCommunicationProtocol.json +9 -0
  84. package/json-schema/ai/AgentGroupMember.json +45 -0
  85. package/json-schema/ai/AgentGroupRole.json +10 -0
  86. package/json-schema/ai/DevOpsAgent.json +203 -0
  87. package/json-schema/ai/MCPClientConfig.json +168 -0
  88. package/json-schema/ai/MCPRootEntry.json +23 -0
  89. package/json-schema/ai/MCPRootsConfig.json +49 -0
  90. package/json-schema/ai/MCPSamplingConfig.json +46 -0
  91. package/json-schema/ai/MCPServerConfig.json +120 -0
  92. package/json-schema/ai/MCPStreamingConfig.json +38 -0
  93. package/json-schema/ai/MCPToolApproval.json +39 -0
  94. package/json-schema/ai/MultiAgentGroup.json +137 -0
  95. package/json-schema/ai/StructuredOutputConfig.json +75 -0
  96. package/json-schema/ai/StructuredOutputFormat.json +12 -0
  97. package/json-schema/ai/TransformPipelineStep.json +11 -0
  98. package/json-schema/api/AppDefinitionResponse.json +285 -7
  99. package/json-schema/api/BasePresence.json +40 -0
  100. package/json-schema/api/BatchLoadingStrategy.json +40 -0
  101. package/json-schema/api/Callback.json +39 -0
  102. package/json-schema/api/DataLoaderConfig.json +55 -0
  103. package/json-schema/api/DisablePackageResponse.json +26 -0
  104. package/json-schema/api/Discovery.json +4 -62
  105. package/json-schema/api/EnablePackageResponse.json +26 -0
  106. package/json-schema/api/FederationEntity.json +110 -0
  107. package/json-schema/api/FederationEntityKey.json +20 -0
  108. package/json-schema/api/FederationExternalField.json +18 -0
  109. package/json-schema/api/FederationGateway.json +327 -0
  110. package/json-schema/api/FederationProvides.json +19 -0
  111. package/json-schema/api/FederationRequires.json +19 -0
  112. package/json-schema/api/GetDiscoveryResponse.json +1 -60
  113. package/json-schema/api/GetPackageResponse.json +26 -0
  114. package/json-schema/api/GraphQLConfig.json +327 -0
  115. package/json-schema/api/GraphQLQueryAdapter.json +84 -0
  116. package/json-schema/api/InstallPackageRequest.json +26 -0
  117. package/json-schema/api/InstallPackageResponse.json +26 -0
  118. package/json-schema/api/ListPackagesResponse.json +26 -0
  119. package/json-schema/api/ODataQueryAdapter.json +66 -0
  120. package/json-schema/api/OpenApi31Extensions.json +139 -0
  121. package/json-schema/api/OperatorMapping.json +26 -0
  122. package/json-schema/api/PresenceStatus.json +10 -0
  123. package/json-schema/api/QueryAdapterConfig.json +272 -0
  124. package/json-schema/api/QueryAdapterTarget.json +9 -0
  125. package/json-schema/api/QueryOptimizationConfig.json +126 -0
  126. package/json-schema/api/RealtimeRecordAction.json +9 -0
  127. package/json-schema/api/RestQueryAdapter.json +86 -0
  128. package/json-schema/api/RestServerConfig.json +139 -0
  129. package/json-schema/api/SubgraphConfig.json +183 -0
  130. package/json-schema/api/WebhookConfig.json +129 -0
  131. package/json-schema/api/WebhookEvent.json +64 -0
  132. package/json-schema/data/ExternalLookup.json +128 -0
  133. package/json-schema/identity/SCIMBulkOperation.json +41 -0
  134. package/json-schema/identity/SCIMBulkRequest.json +73 -0
  135. package/json-schema/identity/SCIMBulkResponse.json +61 -0
  136. package/json-schema/identity/SCIMBulkResponseOperation.json +36 -0
  137. package/json-schema/integration/CircuitBreakerConfig.json +49 -0
  138. package/json-schema/integration/Connector.json +223 -0
  139. package/json-schema/integration/ConnectorHealth.json +113 -0
  140. package/json-schema/integration/DatabaseConnector.json +223 -0
  141. package/json-schema/integration/ErrorCategory.json +15 -0
  142. package/json-schema/integration/ErrorMappingConfig.json +112 -0
  143. package/json-schema/integration/ErrorMappingRule.json +66 -0
  144. package/json-schema/integration/FileStorageConnector.json +223 -0
  145. package/json-schema/integration/GitHubConnector.json +223 -0
  146. package/json-schema/integration/HealthCheckConfig.json +58 -0
  147. package/json-schema/integration/MessageQueueConnector.json +223 -0
  148. package/json-schema/integration/SaasConnector.json +223 -0
  149. package/json-schema/integration/VercelConnector.json +223 -0
  150. package/json-schema/kernel/CLICommandContribution.json +23 -0
  151. package/json-schema/kernel/CLIExtensionExport.json +22 -0
  152. package/json-schema/kernel/DevFixtureConfig.json +35 -0
  153. package/json-schema/kernel/DevPluginConfig.json +170 -0
  154. package/json-schema/kernel/DevPluginPreset.json +10 -0
  155. package/json-schema/kernel/DevServiceOverride.json +41 -0
  156. package/json-schema/kernel/DevToolsConfig.json +45 -0
  157. package/json-schema/kernel/DisablePackageResponse.json +26 -0
  158. package/json-schema/kernel/EnablePackageResponse.json +26 -0
  159. package/json-schema/kernel/GetPackageResponse.json +26 -0
  160. package/json-schema/kernel/InstallPackageRequest.json +26 -0
  161. package/json-schema/kernel/InstallPackageResponse.json +26 -0
  162. package/json-schema/kernel/InstalledPackage.json +26 -0
  163. package/json-schema/kernel/ListPackagesResponse.json +26 -0
  164. package/json-schema/kernel/Manifest.json +26 -0
  165. package/json-schema/kernel/MetadataFallbackStrategy.json +9 -0
  166. package/json-schema/kernel/MetadataLoaderContract.json +7 -0
  167. package/json-schema/kernel/MetadataManagerConfig.json +21 -0
  168. package/json-schema/security/RLSAuditConfig.json +62 -0
  169. package/json-schema/security/RLSAuditEvent.json +66 -0
  170. package/json-schema/security/RLSConfig.json +62 -0
  171. package/json-schema/system/AuthConfig.json +83 -0
  172. package/json-schema/system/BackupConfig.json +148 -0
  173. package/json-schema/system/BackupRetention.json +27 -0
  174. package/json-schema/system/BackupStrategy.json +10 -0
  175. package/json-schema/system/CacheAvalanchePrevention.json +77 -0
  176. package/json-schema/system/CacheConsistency.json +11 -0
  177. package/json-schema/system/CacheWarmup.json +44 -0
  178. package/json-schema/system/ComplianceAuditRequirement.json +43 -0
  179. package/json-schema/system/ComplianceEncryptionRequirement.json +58 -0
  180. package/json-schema/system/DataClassificationPolicy.json +46 -0
  181. package/json-schema/system/DisasterRecoveryPlan.json +414 -0
  182. package/json-schema/system/DistributedCacheConfig.json +269 -0
  183. package/json-schema/system/FailoverConfig.json +102 -0
  184. package/json-schema/system/FailoverMode.json +11 -0
  185. package/json-schema/system/MaskingVisibilityRule.json +56 -0
  186. package/json-schema/system/MetadataFallbackStrategy.json +9 -0
  187. package/json-schema/system/MetadataLoaderContract.json +9 -1
  188. package/json-schema/system/MetadataManagerConfig.json +52 -11
  189. package/json-schema/system/MetadataRecord.json +32 -1
  190. package/json-schema/system/MetadataSource.json +10 -0
  191. package/json-schema/system/MutualTLSConfig.json +83 -0
  192. package/json-schema/system/RPO.json +27 -0
  193. package/json-schema/system/RTO.json +27 -0
  194. package/json-schema/system/SecurityContextConfig.json +288 -0
  195. package/json-schema/system/SecurityEventCorrelation.json +40 -0
  196. package/json-schema/ui/Action.json +200 -5
  197. package/json-schema/ui/ActionParam.json +62 -2
  198. package/json-schema/ui/AnimationTrigger.json +14 -0
  199. package/json-schema/ui/App.json +285 -7
  200. package/json-schema/ui/AriaProps.json +49 -0
  201. package/json-schema/ui/BreakpointColumnMap.json +38 -0
  202. package/json-schema/ui/BreakpointName.json +12 -0
  203. package/json-schema/ui/BreakpointOrderMap.json +26 -0
  204. package/json-schema/ui/ChartAnnotation.json +31 -1
  205. package/json-schema/ui/ChartAxis.json +30 -1
  206. package/json-schema/ui/ChartConfig.json +259 -7
  207. package/json-schema/ui/ChartSeries.json +30 -1
  208. package/json-schema/ui/ColumnSummary.json +18 -0
  209. package/json-schema/ui/ComponentAnimation.json +246 -0
  210. package/json-schema/ui/ConflictResolution.json +11 -0
  211. package/json-schema/ui/Dashboard.json +627 -11
  212. package/json-schema/ui/DashboardNavItem.json +30 -1
  213. package/json-schema/ui/DashboardWidget.json +433 -8
  214. package/json-schema/ui/DateFormat.json +36 -0
  215. package/json-schema/ui/DensityMode.json +9 -0
  216. package/json-schema/ui/DndConfig.json +306 -0
  217. package/json-schema/ui/DragConstraint.json +44 -0
  218. package/json-schema/ui/DragHandle.json +10 -0
  219. package/json-schema/ui/DragItem.json +160 -0
  220. package/json-schema/ui/DropEffect.json +11 -0
  221. package/json-schema/ui/DropZone.json +114 -0
  222. package/json-schema/ui/EasingFunction.json +13 -0
  223. package/json-schema/ui/EvictionPolicy.json +10 -0
  224. package/json-schema/ui/FocusManagement.json +69 -0
  225. package/json-schema/ui/FocusTrapConfig.json +32 -0
  226. package/json-schema/ui/FormField.json +90 -3
  227. package/json-schema/ui/GalleryConfig.json +46 -0
  228. package/json-schema/ui/GestureConfig.json +128 -0
  229. package/json-schema/ui/GestureType.json +14 -0
  230. package/json-schema/ui/GroupNavItem.json +30 -1
  231. package/json-schema/ui/GroupingConfig.json +45 -0
  232. package/json-schema/ui/GroupingField.json +30 -0
  233. package/json-schema/ui/I18nLabel.json +34 -0
  234. package/json-schema/ui/I18nObject.json +26 -0
  235. package/json-schema/ui/KeyboardNavigationConfig.json +194 -0
  236. package/json-schema/ui/KeyboardShortcut.json +66 -0
  237. package/json-schema/ui/ListColumn.json +55 -1
  238. package/json-schema/ui/ListView.json +435 -4
  239. package/json-schema/ui/LocaleConfig.json +108 -0
  240. package/json-schema/ui/LongPressGestureConfig.json +20 -0
  241. package/json-schema/ui/MotionConfig.json +405 -0
  242. package/json-schema/ui/NavigationItem.json +150 -5
  243. package/json-schema/ui/Notification.json +232 -0
  244. package/json-schema/ui/NotificationAction.json +60 -0
  245. package/json-schema/ui/NotificationConfig.json +52 -0
  246. package/json-schema/ui/NotificationPosition.json +13 -0
  247. package/json-schema/ui/NotificationSeverity.json +11 -0
  248. package/json-schema/ui/NotificationType.json +12 -0
  249. package/json-schema/ui/NumberFormat.json +42 -0
  250. package/json-schema/ui/ObjectNavItem.json +30 -1
  251. package/json-schema/ui/OfflineCacheConfig.json +40 -0
  252. package/json-schema/ui/OfflineConfig.json +157 -0
  253. package/json-schema/ui/OfflineStrategy.json +12 -0
  254. package/json-schema/ui/Page.json +285 -3
  255. package/json-schema/ui/PageCardProps.json +79 -1
  256. package/json-schema/ui/PageComponent.json +175 -1
  257. package/json-schema/ui/PageHeaderProps.json +108 -2
  258. package/json-schema/ui/PageNavItem.json +30 -1
  259. package/json-schema/ui/PageRegion.json +175 -1
  260. package/json-schema/ui/PageTabsProps.json +79 -1
  261. package/json-schema/ui/PageTransition.json +53 -0
  262. package/json-schema/ui/PerformanceConfig.json +57 -0
  263. package/json-schema/ui/PersistStorage.json +10 -0
  264. package/json-schema/ui/PinchGestureConfig.json +16 -0
  265. package/json-schema/ui/PluralRule.json +40 -0
  266. package/json-schema/ui/Report.json +490 -8
  267. package/json-schema/ui/ReportChart.json +199 -5
  268. package/json-schema/ui/ReportColumn.json +126 -1
  269. package/json-schema/ui/ResponsiveConfig.json +97 -0
  270. package/json-schema/ui/RowColorConfig.json +25 -0
  271. package/json-schema/ui/RowHeight.json +12 -0
  272. package/json-schema/ui/SwipeDirection.json +10 -0
  273. package/json-schema/ui/SwipeGestureConfig.json +32 -0
  274. package/json-schema/ui/SyncConfig.json +47 -0
  275. package/json-schema/ui/Theme.json +137 -0
  276. package/json-schema/ui/TimelineConfig.json +46 -0
  277. package/json-schema/ui/TouchInteraction.json +232 -0
  278. package/json-schema/ui/TouchTargetConfig.json +49 -0
  279. package/json-schema/ui/TransitionConfig.json +47 -0
  280. package/json-schema/ui/TransitionPreset.json +16 -0
  281. package/json-schema/ui/UrlNavItem.json +30 -1
  282. package/json-schema/ui/ViewSharing.json +24 -0
  283. package/json-schema/ui/WcagContrastLevel.json +8 -0
  284. package/json-schema/ui/WidgetEvent.json +60 -2
  285. package/json-schema/ui/WidgetManifest.json +284 -6
  286. package/json-schema/ui/WidgetProperty.json +60 -2
  287. package/package.json +1 -1
  288. package/dist/index-CZjkpp75.d.mts +0 -3867
  289. package/dist/index-CgkjUheS.d.ts +0 -3867
  290. package/dist/{index-B08s7rEU.d.mts → index-DmhxH5jy.d.mts} +8 -8
  291. package/dist/{index-DqnBqATx.d.ts → index-y5JJvyML.d.ts} +8 -8
@@ -0,0 +1,405 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "label": {
6
+ "description": "Descriptive label for the motion configuration",
7
+ "anyOf": [
8
+ {
9
+ "type": "string"
10
+ },
11
+ {
12
+ "type": "object",
13
+ "properties": {
14
+ "key": {
15
+ "type": "string",
16
+ "description": "Translation key (e.g., \"views.task_list.label\")"
17
+ },
18
+ "defaultValue": {
19
+ "description": "Fallback value when translation key is not found",
20
+ "type": "string"
21
+ },
22
+ "params": {
23
+ "description": "Interpolation parameters (e.g., { count: 5 })",
24
+ "type": "object",
25
+ "propertyNames": {
26
+ "type": "string"
27
+ },
28
+ "additionalProperties": {}
29
+ }
30
+ },
31
+ "required": [
32
+ "key"
33
+ ],
34
+ "additionalProperties": false
35
+ }
36
+ ]
37
+ },
38
+ "defaultTransition": {
39
+ "description": "Default transition applied to all animations",
40
+ "type": "object",
41
+ "properties": {
42
+ "preset": {
43
+ "description": "Transition preset to apply",
44
+ "type": "string",
45
+ "enum": [
46
+ "fade",
47
+ "slide_up",
48
+ "slide_down",
49
+ "slide_left",
50
+ "slide_right",
51
+ "scale",
52
+ "rotate",
53
+ "flip",
54
+ "none"
55
+ ]
56
+ },
57
+ "duration": {
58
+ "description": "Transition duration in milliseconds",
59
+ "type": "number"
60
+ },
61
+ "easing": {
62
+ "description": "Easing function for the transition",
63
+ "type": "string",
64
+ "enum": [
65
+ "linear",
66
+ "ease",
67
+ "ease_in",
68
+ "ease_out",
69
+ "ease_in_out",
70
+ "spring"
71
+ ]
72
+ },
73
+ "delay": {
74
+ "description": "Delay before transition starts in milliseconds",
75
+ "type": "number"
76
+ },
77
+ "customKeyframes": {
78
+ "description": "CSS @keyframes name for custom animations",
79
+ "type": "string"
80
+ }
81
+ },
82
+ "additionalProperties": false
83
+ },
84
+ "pageTransitions": {
85
+ "description": "Page navigation transition settings",
86
+ "type": "object",
87
+ "properties": {
88
+ "type": {
89
+ "default": "fade",
90
+ "description": "Page transition type",
91
+ "type": "string",
92
+ "enum": [
93
+ "fade",
94
+ "slide_up",
95
+ "slide_down",
96
+ "slide_left",
97
+ "slide_right",
98
+ "scale",
99
+ "rotate",
100
+ "flip",
101
+ "none"
102
+ ]
103
+ },
104
+ "duration": {
105
+ "default": 300,
106
+ "description": "Transition duration in milliseconds",
107
+ "type": "number"
108
+ },
109
+ "easing": {
110
+ "default": "ease_in_out",
111
+ "description": "Easing function for the transition",
112
+ "type": "string",
113
+ "enum": [
114
+ "linear",
115
+ "ease",
116
+ "ease_in",
117
+ "ease_out",
118
+ "ease_in_out",
119
+ "spring"
120
+ ]
121
+ },
122
+ "crossFade": {
123
+ "default": false,
124
+ "description": "Whether to cross-fade between pages",
125
+ "type": "boolean"
126
+ }
127
+ },
128
+ "required": [
129
+ "type",
130
+ "duration",
131
+ "easing",
132
+ "crossFade"
133
+ ],
134
+ "additionalProperties": false
135
+ },
136
+ "componentAnimations": {
137
+ "description": "Component name to animation configuration mapping",
138
+ "type": "object",
139
+ "propertyNames": {
140
+ "type": "string"
141
+ },
142
+ "additionalProperties": {
143
+ "type": "object",
144
+ "properties": {
145
+ "label": {
146
+ "description": "Descriptive label for this animation configuration",
147
+ "anyOf": [
148
+ {
149
+ "type": "string"
150
+ },
151
+ {
152
+ "type": "object",
153
+ "properties": {
154
+ "key": {
155
+ "type": "string",
156
+ "description": "Translation key (e.g., \"views.task_list.label\")"
157
+ },
158
+ "defaultValue": {
159
+ "description": "Fallback value when translation key is not found",
160
+ "type": "string"
161
+ },
162
+ "params": {
163
+ "description": "Interpolation parameters (e.g., { count: 5 })",
164
+ "type": "object",
165
+ "propertyNames": {
166
+ "type": "string"
167
+ },
168
+ "additionalProperties": {}
169
+ }
170
+ },
171
+ "required": [
172
+ "key"
173
+ ],
174
+ "additionalProperties": false
175
+ }
176
+ ]
177
+ },
178
+ "enter": {
179
+ "description": "Enter/mount animation",
180
+ "type": "object",
181
+ "properties": {
182
+ "preset": {
183
+ "description": "Transition preset to apply",
184
+ "type": "string",
185
+ "enum": [
186
+ "fade",
187
+ "slide_up",
188
+ "slide_down",
189
+ "slide_left",
190
+ "slide_right",
191
+ "scale",
192
+ "rotate",
193
+ "flip",
194
+ "none"
195
+ ]
196
+ },
197
+ "duration": {
198
+ "description": "Transition duration in milliseconds",
199
+ "type": "number"
200
+ },
201
+ "easing": {
202
+ "description": "Easing function for the transition",
203
+ "type": "string",
204
+ "enum": [
205
+ "linear",
206
+ "ease",
207
+ "ease_in",
208
+ "ease_out",
209
+ "ease_in_out",
210
+ "spring"
211
+ ]
212
+ },
213
+ "delay": {
214
+ "description": "Delay before transition starts in milliseconds",
215
+ "type": "number"
216
+ },
217
+ "customKeyframes": {
218
+ "description": "CSS @keyframes name for custom animations",
219
+ "type": "string"
220
+ }
221
+ },
222
+ "additionalProperties": false
223
+ },
224
+ "exit": {
225
+ "description": "Exit/unmount animation",
226
+ "type": "object",
227
+ "properties": {
228
+ "preset": {
229
+ "description": "Transition preset to apply",
230
+ "type": "string",
231
+ "enum": [
232
+ "fade",
233
+ "slide_up",
234
+ "slide_down",
235
+ "slide_left",
236
+ "slide_right",
237
+ "scale",
238
+ "rotate",
239
+ "flip",
240
+ "none"
241
+ ]
242
+ },
243
+ "duration": {
244
+ "description": "Transition duration in milliseconds",
245
+ "type": "number"
246
+ },
247
+ "easing": {
248
+ "description": "Easing function for the transition",
249
+ "type": "string",
250
+ "enum": [
251
+ "linear",
252
+ "ease",
253
+ "ease_in",
254
+ "ease_out",
255
+ "ease_in_out",
256
+ "spring"
257
+ ]
258
+ },
259
+ "delay": {
260
+ "description": "Delay before transition starts in milliseconds",
261
+ "type": "number"
262
+ },
263
+ "customKeyframes": {
264
+ "description": "CSS @keyframes name for custom animations",
265
+ "type": "string"
266
+ }
267
+ },
268
+ "additionalProperties": false
269
+ },
270
+ "hover": {
271
+ "description": "Hover state animation",
272
+ "type": "object",
273
+ "properties": {
274
+ "preset": {
275
+ "description": "Transition preset to apply",
276
+ "type": "string",
277
+ "enum": [
278
+ "fade",
279
+ "slide_up",
280
+ "slide_down",
281
+ "slide_left",
282
+ "slide_right",
283
+ "scale",
284
+ "rotate",
285
+ "flip",
286
+ "none"
287
+ ]
288
+ },
289
+ "duration": {
290
+ "description": "Transition duration in milliseconds",
291
+ "type": "number"
292
+ },
293
+ "easing": {
294
+ "description": "Easing function for the transition",
295
+ "type": "string",
296
+ "enum": [
297
+ "linear",
298
+ "ease",
299
+ "ease_in",
300
+ "ease_out",
301
+ "ease_in_out",
302
+ "spring"
303
+ ]
304
+ },
305
+ "delay": {
306
+ "description": "Delay before transition starts in milliseconds",
307
+ "type": "number"
308
+ },
309
+ "customKeyframes": {
310
+ "description": "CSS @keyframes name for custom animations",
311
+ "type": "string"
312
+ }
313
+ },
314
+ "additionalProperties": false
315
+ },
316
+ "trigger": {
317
+ "description": "When to trigger the animation",
318
+ "type": "string",
319
+ "enum": [
320
+ "on_mount",
321
+ "on_unmount",
322
+ "on_hover",
323
+ "on_focus",
324
+ "on_click",
325
+ "on_scroll",
326
+ "on_visible"
327
+ ]
328
+ },
329
+ "reducedMotion": {
330
+ "default": "respect",
331
+ "description": "Accessibility: how to handle prefers-reduced-motion",
332
+ "type": "string",
333
+ "enum": [
334
+ "respect",
335
+ "disable",
336
+ "alternative"
337
+ ]
338
+ },
339
+ "ariaLabel": {
340
+ "description": "Accessible label for screen readers (WAI-ARIA aria-label)",
341
+ "anyOf": [
342
+ {
343
+ "type": "string"
344
+ },
345
+ {
346
+ "type": "object",
347
+ "properties": {
348
+ "key": {
349
+ "type": "string",
350
+ "description": "Translation key (e.g., \"views.task_list.label\")"
351
+ },
352
+ "defaultValue": {
353
+ "description": "Fallback value when translation key is not found",
354
+ "type": "string"
355
+ },
356
+ "params": {
357
+ "description": "Interpolation parameters (e.g., { count: 5 })",
358
+ "type": "object",
359
+ "propertyNames": {
360
+ "type": "string"
361
+ },
362
+ "additionalProperties": {}
363
+ }
364
+ },
365
+ "required": [
366
+ "key"
367
+ ],
368
+ "additionalProperties": false
369
+ }
370
+ ]
371
+ },
372
+ "ariaDescribedBy": {
373
+ "description": "ID of element providing additional description (WAI-ARIA aria-describedby)",
374
+ "type": "string"
375
+ },
376
+ "role": {
377
+ "description": "WAI-ARIA role attribute (e.g., \"dialog\", \"navigation\", \"alert\")",
378
+ "type": "string"
379
+ }
380
+ },
381
+ "required": [
382
+ "reducedMotion"
383
+ ],
384
+ "additionalProperties": false,
385
+ "description": "Component-level animation configuration"
386
+ }
387
+ },
388
+ "reducedMotion": {
389
+ "default": false,
390
+ "description": "When true, respect prefers-reduced-motion and suppress animations globally",
391
+ "type": "boolean"
392
+ },
393
+ "enabled": {
394
+ "default": true,
395
+ "description": "Enable or disable all animations globally",
396
+ "type": "boolean"
397
+ }
398
+ },
399
+ "required": [
400
+ "reducedMotion",
401
+ "enabled"
402
+ ],
403
+ "additionalProperties": false,
404
+ "description": "Top-level motion and animation design configuration"
405
+ }
@@ -11,7 +11,36 @@
11
11
  "description": "Unique identifier for this navigation item (lowercase snake_case)"
12
12
  },
13
13
  "label": {
14
- "type": "string",
14
+ "anyOf": [
15
+ {
16
+ "type": "string"
17
+ },
18
+ {
19
+ "type": "object",
20
+ "properties": {
21
+ "key": {
22
+ "type": "string",
23
+ "description": "Translation key (e.g., \"views.task_list.label\")"
24
+ },
25
+ "defaultValue": {
26
+ "description": "Fallback value when translation key is not found",
27
+ "type": "string"
28
+ },
29
+ "params": {
30
+ "description": "Interpolation parameters (e.g., { count: 5 })",
31
+ "type": "object",
32
+ "propertyNames": {
33
+ "type": "string"
34
+ },
35
+ "additionalProperties": {}
36
+ }
37
+ },
38
+ "required": [
39
+ "key"
40
+ ],
41
+ "additionalProperties": false
42
+ }
43
+ ],
15
44
  "description": "Display proper label"
16
45
  },
17
46
  "icon": {
@@ -60,7 +89,36 @@
60
89
  "description": "Unique identifier for this navigation item (lowercase snake_case)"
61
90
  },
62
91
  "label": {
63
- "type": "string",
92
+ "anyOf": [
93
+ {
94
+ "type": "string"
95
+ },
96
+ {
97
+ "type": "object",
98
+ "properties": {
99
+ "key": {
100
+ "type": "string",
101
+ "description": "Translation key (e.g., \"views.task_list.label\")"
102
+ },
103
+ "defaultValue": {
104
+ "description": "Fallback value when translation key is not found",
105
+ "type": "string"
106
+ },
107
+ "params": {
108
+ "description": "Interpolation parameters (e.g., { count: 5 })",
109
+ "type": "object",
110
+ "propertyNames": {
111
+ "type": "string"
112
+ },
113
+ "additionalProperties": {}
114
+ }
115
+ },
116
+ "required": [
117
+ "key"
118
+ ],
119
+ "additionalProperties": false
120
+ }
121
+ ],
64
122
  "description": "Display proper label"
65
123
  },
66
124
  "icon": {
@@ -98,7 +156,36 @@
98
156
  "description": "Unique identifier for this navigation item (lowercase snake_case)"
99
157
  },
100
158
  "label": {
101
- "type": "string",
159
+ "anyOf": [
160
+ {
161
+ "type": "string"
162
+ },
163
+ {
164
+ "type": "object",
165
+ "properties": {
166
+ "key": {
167
+ "type": "string",
168
+ "description": "Translation key (e.g., \"views.task_list.label\")"
169
+ },
170
+ "defaultValue": {
171
+ "description": "Fallback value when translation key is not found",
172
+ "type": "string"
173
+ },
174
+ "params": {
175
+ "description": "Interpolation parameters (e.g., { count: 5 })",
176
+ "type": "object",
177
+ "propertyNames": {
178
+ "type": "string"
179
+ },
180
+ "additionalProperties": {}
181
+ }
182
+ },
183
+ "required": [
184
+ "key"
185
+ ],
186
+ "additionalProperties": false
187
+ }
188
+ ],
102
189
  "description": "Display proper label"
103
190
  },
104
191
  "icon": {
@@ -144,7 +231,36 @@
144
231
  "description": "Unique identifier for this navigation item (lowercase snake_case)"
145
232
  },
146
233
  "label": {
147
- "type": "string",
234
+ "anyOf": [
235
+ {
236
+ "type": "string"
237
+ },
238
+ {
239
+ "type": "object",
240
+ "properties": {
241
+ "key": {
242
+ "type": "string",
243
+ "description": "Translation key (e.g., \"views.task_list.label\")"
244
+ },
245
+ "defaultValue": {
246
+ "description": "Fallback value when translation key is not found",
247
+ "type": "string"
248
+ },
249
+ "params": {
250
+ "description": "Interpolation parameters (e.g., { count: 5 })",
251
+ "type": "object",
252
+ "propertyNames": {
253
+ "type": "string"
254
+ },
255
+ "additionalProperties": {}
256
+ }
257
+ },
258
+ "required": [
259
+ "key"
260
+ ],
261
+ "additionalProperties": false
262
+ }
263
+ ],
148
264
  "description": "Display proper label"
149
265
  },
150
266
  "icon": {
@@ -192,7 +308,36 @@
192
308
  "description": "Unique identifier for this navigation item (lowercase snake_case)"
193
309
  },
194
310
  "label": {
195
- "type": "string",
311
+ "anyOf": [
312
+ {
313
+ "type": "string"
314
+ },
315
+ {
316
+ "type": "object",
317
+ "properties": {
318
+ "key": {
319
+ "type": "string",
320
+ "description": "Translation key (e.g., \"views.task_list.label\")"
321
+ },
322
+ "defaultValue": {
323
+ "description": "Fallback value when translation key is not found",
324
+ "type": "string"
325
+ },
326
+ "params": {
327
+ "description": "Interpolation parameters (e.g., { count: 5 })",
328
+ "type": "object",
329
+ "propertyNames": {
330
+ "type": "string"
331
+ },
332
+ "additionalProperties": {}
333
+ }
334
+ },
335
+ "required": [
336
+ "key"
337
+ ],
338
+ "additionalProperties": false
339
+ }
340
+ ],
196
341
  "description": "Display proper label"
197
342
  },
198
343
  "icon": {