@objectstack/spec 2.0.5 → 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 (293) 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-CeUUI-ym.d.mts +2102 -0
  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-CmY8tgpL.d.ts +2102 -0
  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-C6p-2KXV.d.ts +0 -767
  289. package/dist/index-CVnGe2b8.d.mts +0 -767
  290. package/dist/index-CZjkpp75.d.mts +0 -3867
  291. package/dist/index-CgkjUheS.d.ts +0 -3867
  292. package/dist/{index-B08s7rEU.d.mts → index-DmhxH5jy.d.mts} +8 -8
  293. package/dist/{index-DqnBqATx.d.ts → index-y5JJvyML.d.ts} +8 -8
@@ -0,0 +1,110 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "typeName": {
6
+ "type": "string",
7
+ "description": "GraphQL type name for this entity"
8
+ },
9
+ "keys": {
10
+ "minItems": 1,
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "fields": {
16
+ "type": "string",
17
+ "description": "Selection set of fields composing the entity key"
18
+ },
19
+ "resolvable": {
20
+ "default": true,
21
+ "description": "Whether entities can be resolved from this subgraph",
22
+ "type": "boolean"
23
+ }
24
+ },
25
+ "required": [
26
+ "fields",
27
+ "resolvable"
28
+ ],
29
+ "additionalProperties": false
30
+ },
31
+ "description": "Entity key definitions"
32
+ },
33
+ "externalFields": {
34
+ "description": "Fields owned by other subgraphs",
35
+ "type": "array",
36
+ "items": {
37
+ "type": "object",
38
+ "properties": {
39
+ "field": {
40
+ "type": "string",
41
+ "description": "Field name marked as external"
42
+ },
43
+ "ownerSubgraph": {
44
+ "description": "Subgraph that owns this field",
45
+ "type": "string"
46
+ }
47
+ },
48
+ "required": [
49
+ "field"
50
+ ],
51
+ "additionalProperties": false
52
+ }
53
+ },
54
+ "requires": {
55
+ "description": "Required external fields for computed fields",
56
+ "type": "array",
57
+ "items": {
58
+ "type": "object",
59
+ "properties": {
60
+ "field": {
61
+ "type": "string",
62
+ "description": "Field with the requirement"
63
+ },
64
+ "fields": {
65
+ "type": "string",
66
+ "description": "Selection set of required fields (e.g., \"price weight\")"
67
+ }
68
+ },
69
+ "required": [
70
+ "field",
71
+ "fields"
72
+ ],
73
+ "additionalProperties": false
74
+ }
75
+ },
76
+ "provides": {
77
+ "description": "Fields provided during resolution",
78
+ "type": "array",
79
+ "items": {
80
+ "type": "object",
81
+ "properties": {
82
+ "field": {
83
+ "type": "string",
84
+ "description": "Field that provides additional entity fields"
85
+ },
86
+ "fields": {
87
+ "type": "string",
88
+ "description": "Selection set of provided fields (e.g., \"name price\")"
89
+ }
90
+ },
91
+ "required": [
92
+ "field",
93
+ "fields"
94
+ ],
95
+ "additionalProperties": false
96
+ }
97
+ },
98
+ "owner": {
99
+ "default": false,
100
+ "description": "Whether this subgraph is the owner of this entity",
101
+ "type": "boolean"
102
+ }
103
+ },
104
+ "required": [
105
+ "typeName",
106
+ "keys",
107
+ "owner"
108
+ ],
109
+ "additionalProperties": false
110
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "fields": {
6
+ "type": "string",
7
+ "description": "Selection set of fields composing the entity key"
8
+ },
9
+ "resolvable": {
10
+ "default": true,
11
+ "description": "Whether entities can be resolved from this subgraph",
12
+ "type": "boolean"
13
+ }
14
+ },
15
+ "required": [
16
+ "fields",
17
+ "resolvable"
18
+ ],
19
+ "additionalProperties": false
20
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "field": {
6
+ "type": "string",
7
+ "description": "Field name marked as external"
8
+ },
9
+ "ownerSubgraph": {
10
+ "description": "Subgraph that owns this field",
11
+ "type": "string"
12
+ }
13
+ },
14
+ "required": [
15
+ "field"
16
+ ],
17
+ "additionalProperties": false
18
+ }
@@ -0,0 +1,327 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "enabled": {
6
+ "default": false,
7
+ "description": "Enable GraphQL Federation gateway mode",
8
+ "type": "boolean"
9
+ },
10
+ "version": {
11
+ "default": "v2",
12
+ "description": "Federation specification version",
13
+ "type": "string",
14
+ "enum": [
15
+ "v1",
16
+ "v2"
17
+ ]
18
+ },
19
+ "subgraphs": {
20
+ "type": "array",
21
+ "items": {
22
+ "type": "object",
23
+ "properties": {
24
+ "name": {
25
+ "type": "string",
26
+ "description": "Unique subgraph identifier"
27
+ },
28
+ "url": {
29
+ "type": "string",
30
+ "description": "Subgraph endpoint URL"
31
+ },
32
+ "schemaSource": {
33
+ "default": "introspection",
34
+ "description": "How to obtain the subgraph schema",
35
+ "type": "string",
36
+ "enum": [
37
+ "introspection",
38
+ "file",
39
+ "registry"
40
+ ]
41
+ },
42
+ "schemaPath": {
43
+ "description": "Path to schema file (SDL format)",
44
+ "type": "string"
45
+ },
46
+ "entities": {
47
+ "description": "Entity definitions for this subgraph",
48
+ "type": "array",
49
+ "items": {
50
+ "type": "object",
51
+ "properties": {
52
+ "typeName": {
53
+ "type": "string",
54
+ "description": "GraphQL type name for this entity"
55
+ },
56
+ "keys": {
57
+ "minItems": 1,
58
+ "type": "array",
59
+ "items": {
60
+ "type": "object",
61
+ "properties": {
62
+ "fields": {
63
+ "type": "string",
64
+ "description": "Selection set of fields composing the entity key"
65
+ },
66
+ "resolvable": {
67
+ "default": true,
68
+ "description": "Whether entities can be resolved from this subgraph",
69
+ "type": "boolean"
70
+ }
71
+ },
72
+ "required": [
73
+ "fields",
74
+ "resolvable"
75
+ ],
76
+ "additionalProperties": false
77
+ },
78
+ "description": "Entity key definitions"
79
+ },
80
+ "externalFields": {
81
+ "description": "Fields owned by other subgraphs",
82
+ "type": "array",
83
+ "items": {
84
+ "type": "object",
85
+ "properties": {
86
+ "field": {
87
+ "type": "string",
88
+ "description": "Field name marked as external"
89
+ },
90
+ "ownerSubgraph": {
91
+ "description": "Subgraph that owns this field",
92
+ "type": "string"
93
+ }
94
+ },
95
+ "required": [
96
+ "field"
97
+ ],
98
+ "additionalProperties": false
99
+ }
100
+ },
101
+ "requires": {
102
+ "description": "Required external fields for computed fields",
103
+ "type": "array",
104
+ "items": {
105
+ "type": "object",
106
+ "properties": {
107
+ "field": {
108
+ "type": "string",
109
+ "description": "Field with the requirement"
110
+ },
111
+ "fields": {
112
+ "type": "string",
113
+ "description": "Selection set of required fields (e.g., \"price weight\")"
114
+ }
115
+ },
116
+ "required": [
117
+ "field",
118
+ "fields"
119
+ ],
120
+ "additionalProperties": false
121
+ }
122
+ },
123
+ "provides": {
124
+ "description": "Fields provided during resolution",
125
+ "type": "array",
126
+ "items": {
127
+ "type": "object",
128
+ "properties": {
129
+ "field": {
130
+ "type": "string",
131
+ "description": "Field that provides additional entity fields"
132
+ },
133
+ "fields": {
134
+ "type": "string",
135
+ "description": "Selection set of provided fields (e.g., \"name price\")"
136
+ }
137
+ },
138
+ "required": [
139
+ "field",
140
+ "fields"
141
+ ],
142
+ "additionalProperties": false
143
+ }
144
+ },
145
+ "owner": {
146
+ "default": false,
147
+ "description": "Whether this subgraph is the owner of this entity",
148
+ "type": "boolean"
149
+ }
150
+ },
151
+ "required": [
152
+ "typeName",
153
+ "keys",
154
+ "owner"
155
+ ],
156
+ "additionalProperties": false
157
+ }
158
+ },
159
+ "healthCheck": {
160
+ "description": "Subgraph health check configuration",
161
+ "type": "object",
162
+ "properties": {
163
+ "enabled": {
164
+ "default": true,
165
+ "description": "Enable health checking",
166
+ "type": "boolean"
167
+ },
168
+ "path": {
169
+ "default": "/health",
170
+ "description": "Health check endpoint path",
171
+ "type": "string"
172
+ },
173
+ "intervalMs": {
174
+ "default": 30000,
175
+ "description": "Health check interval in milliseconds",
176
+ "type": "integer",
177
+ "minimum": 1000,
178
+ "maximum": 9007199254740991
179
+ }
180
+ },
181
+ "required": [
182
+ "enabled",
183
+ "path",
184
+ "intervalMs"
185
+ ],
186
+ "additionalProperties": false
187
+ },
188
+ "forwardHeaders": {
189
+ "description": "HTTP headers to forward to this subgraph",
190
+ "type": "array",
191
+ "items": {
192
+ "type": "string"
193
+ }
194
+ }
195
+ },
196
+ "required": [
197
+ "name",
198
+ "url",
199
+ "schemaSource"
200
+ ],
201
+ "additionalProperties": false
202
+ },
203
+ "description": "Subgraph configurations"
204
+ },
205
+ "serviceDiscovery": {
206
+ "description": "Service discovery configuration",
207
+ "type": "object",
208
+ "properties": {
209
+ "type": {
210
+ "default": "static",
211
+ "description": "Service discovery method",
212
+ "type": "string",
213
+ "enum": [
214
+ "static",
215
+ "dns",
216
+ "consul",
217
+ "kubernetes"
218
+ ]
219
+ },
220
+ "pollIntervalMs": {
221
+ "description": "Discovery poll interval in milliseconds",
222
+ "type": "integer",
223
+ "minimum": 1000,
224
+ "maximum": 9007199254740991
225
+ },
226
+ "namespace": {
227
+ "description": "Kubernetes namespace for subgraph discovery",
228
+ "type": "string"
229
+ }
230
+ },
231
+ "required": [
232
+ "type"
233
+ ],
234
+ "additionalProperties": false
235
+ },
236
+ "queryPlanning": {
237
+ "description": "Query planning configuration",
238
+ "type": "object",
239
+ "properties": {
240
+ "strategy": {
241
+ "default": "parallel",
242
+ "description": "Query execution strategy across subgraphs",
243
+ "type": "string",
244
+ "enum": [
245
+ "parallel",
246
+ "sequential",
247
+ "adaptive"
248
+ ]
249
+ },
250
+ "maxDepth": {
251
+ "description": "Max query depth in federated execution",
252
+ "type": "integer",
253
+ "minimum": 1,
254
+ "maximum": 9007199254740991
255
+ },
256
+ "dryRun": {
257
+ "default": false,
258
+ "description": "Log query plans without executing",
259
+ "type": "boolean"
260
+ }
261
+ },
262
+ "required": [
263
+ "strategy",
264
+ "dryRun"
265
+ ],
266
+ "additionalProperties": false
267
+ },
268
+ "composition": {
269
+ "description": "Schema composition configuration",
270
+ "type": "object",
271
+ "properties": {
272
+ "conflictResolution": {
273
+ "default": "error",
274
+ "description": "Strategy for resolving schema conflicts",
275
+ "type": "string",
276
+ "enum": [
277
+ "error",
278
+ "first_wins",
279
+ "last_wins"
280
+ ]
281
+ },
282
+ "validate": {
283
+ "default": true,
284
+ "description": "Validate composed supergraph schema",
285
+ "type": "boolean"
286
+ }
287
+ },
288
+ "required": [
289
+ "conflictResolution",
290
+ "validate"
291
+ ],
292
+ "additionalProperties": false
293
+ },
294
+ "errorHandling": {
295
+ "description": "Error handling configuration",
296
+ "type": "object",
297
+ "properties": {
298
+ "includeSubgraphName": {
299
+ "default": false,
300
+ "description": "Include subgraph name in error responses",
301
+ "type": "boolean"
302
+ },
303
+ "partialErrors": {
304
+ "default": "propagate",
305
+ "description": "Behavior when a subgraph returns partial errors",
306
+ "type": "string",
307
+ "enum": [
308
+ "propagate",
309
+ "nullify",
310
+ "reject"
311
+ ]
312
+ }
313
+ },
314
+ "required": [
315
+ "includeSubgraphName",
316
+ "partialErrors"
317
+ ],
318
+ "additionalProperties": false
319
+ }
320
+ },
321
+ "required": [
322
+ "enabled",
323
+ "version",
324
+ "subgraphs"
325
+ ],
326
+ "additionalProperties": false
327
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "field": {
6
+ "type": "string",
7
+ "description": "Field that provides additional entity fields"
8
+ },
9
+ "fields": {
10
+ "type": "string",
11
+ "description": "Selection set of provided fields (e.g., \"name price\")"
12
+ }
13
+ },
14
+ "required": [
15
+ "field",
16
+ "fields"
17
+ ],
18
+ "additionalProperties": false
19
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "field": {
6
+ "type": "string",
7
+ "description": "Field with the requirement"
8
+ },
9
+ "fields": {
10
+ "type": "string",
11
+ "description": "Selection set of required fields (e.g., \"price weight\")"
12
+ }
13
+ },
14
+ "required": [
15
+ "field",
16
+ "fields"
17
+ ],
18
+ "additionalProperties": false
19
+ }
@@ -10,66 +10,7 @@
10
10
  "type": "string",
11
11
  "description": "API name"
12
12
  },
13
- "capabilities": {
14
- "description": "Supported features/capabilities",
15
- "type": "object",
16
- "properties": {
17
- "graphql": {
18
- "default": false,
19
- "type": "boolean"
20
- },
21
- "search": {
22
- "default": false,
23
- "type": "boolean"
24
- },
25
- "websockets": {
26
- "default": false,
27
- "type": "boolean"
28
- },
29
- "files": {
30
- "default": true,
31
- "type": "boolean"
32
- },
33
- "analytics": {
34
- "default": false,
35
- "description": "Is the Analytics/BI engine enabled?",
36
- "type": "boolean"
37
- },
38
- "ai": {
39
- "default": false,
40
- "description": "Is the AI engine enabled?",
41
- "type": "boolean"
42
- },
43
- "workflow": {
44
- "default": false,
45
- "description": "Is the Workflow engine enabled?",
46
- "type": "boolean"
47
- },
48
- "notifications": {
49
- "default": false,
50
- "description": "Is the Notification service enabled?",
51
- "type": "boolean"
52
- },
53
- "i18n": {
54
- "default": false,
55
- "description": "Is the i18n service enabled?",
56
- "type": "boolean"
57
- }
58
- },
59
- "required": [
60
- "graphql",
61
- "search",
62
- "websockets",
63
- "files",
64
- "analytics",
65
- "ai",
66
- "workflow",
67
- "notifications",
68
- "i18n"
69
- ],
70
- "additionalProperties": false
71
- },
72
- "endpoints": {
13
+ "routes": {
73
14
  "description": "Available endpoint paths",
74
15
  "type": "object",
75
16
  "properties": {
@@ -391,6 +391,32 @@
391
391
  ],
392
392
  "additionalProperties": false
393
393
  }
394
+ },
395
+ "commands": {
396
+ "description": "CLI command contributions",
397
+ "type": "array",
398
+ "items": {
399
+ "type": "object",
400
+ "properties": {
401
+ "name": {
402
+ "type": "string",
403
+ "pattern": "^[a-z][a-z0-9-]*$",
404
+ "description": "CLI command name"
405
+ },
406
+ "description": {
407
+ "description": "Command description for help text",
408
+ "type": "string"
409
+ },
410
+ "module": {
411
+ "description": "Module path exporting Commander.js commands",
412
+ "type": "string"
413
+ }
414
+ },
415
+ "required": [
416
+ "name"
417
+ ],
418
+ "additionalProperties": false
419
+ }
394
420
  }
395
421
  },
396
422
  "additionalProperties": false