@objectstack/spec 0.8.1 → 0.9.0

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 (197) hide show
  1. package/dist/ai/devops-agent.zod.d.ts +1 -1
  2. package/dist/ai/feedback-loop.zod.d.ts +4293 -0
  3. package/dist/ai/feedback-loop.zod.d.ts.map +1 -0
  4. package/dist/ai/feedback-loop.zod.js +53 -0
  5. package/dist/ai/index.d.ts +1 -0
  6. package/dist/ai/index.d.ts.map +1 -1
  7. package/dist/ai/index.js +1 -0
  8. package/dist/api/documentation.zod.d.ts +1073 -0
  9. package/dist/api/documentation.zod.d.ts.map +1 -0
  10. package/dist/api/documentation.zod.js +487 -0
  11. package/dist/api/errors.zod.d.ts +6 -6
  12. package/dist/api/graphql.zod.d.ts +3 -3
  13. package/dist/api/hub.zod.d.ts +5239 -0
  14. package/dist/api/hub.zod.d.ts.map +1 -0
  15. package/dist/api/hub.zod.js +784 -0
  16. package/dist/api/index.d.ts +4 -2
  17. package/dist/api/index.d.ts.map +1 -1
  18. package/dist/api/index.js +4 -2
  19. package/dist/api/odata.zod.d.ts +1 -1
  20. package/dist/api/protocol.zod.d.ts +2 -1143
  21. package/dist/api/protocol.zod.d.ts.map +1 -1
  22. package/dist/api/protocol.zod.js +2 -49
  23. package/dist/api/registry.example.d.ts +411 -0
  24. package/dist/api/registry.example.d.ts.map +1 -0
  25. package/dist/api/registry.example.js +470 -0
  26. package/dist/api/registry.zod.d.ts +2095 -0
  27. package/dist/api/registry.zod.d.ts.map +1 -0
  28. package/dist/api/registry.zod.js +755 -0
  29. package/dist/api/websocket.zod.d.ts +8 -8
  30. package/dist/auth/scim.zod.d.ts +3 -3
  31. package/dist/automation/flow.zod.d.ts +3 -3
  32. package/dist/contracts/index.d.ts +1 -0
  33. package/dist/contracts/index.d.ts.map +1 -1
  34. package/dist/contracts/index.js +1 -0
  35. package/dist/contracts/schema-driver.d.ts +21 -0
  36. package/dist/contracts/schema-driver.d.ts.map +1 -0
  37. package/dist/contracts/schema-driver.js +2 -0
  38. package/dist/hub/composer.zod.d.ts +226 -0
  39. package/dist/hub/composer.zod.d.ts.map +1 -1
  40. package/dist/hub/hub-federation.zod.d.ts +764 -0
  41. package/dist/hub/hub-federation.zod.d.ts.map +1 -0
  42. package/dist/hub/hub-federation.zod.js +441 -0
  43. package/dist/hub/index.d.ts +2 -0
  44. package/dist/hub/index.d.ts.map +1 -1
  45. package/dist/hub/index.js +3 -0
  46. package/dist/hub/plugin-security.zod.d.ts +1029 -0
  47. package/dist/hub/plugin-security.zod.d.ts.map +1 -0
  48. package/dist/hub/plugin-security.zod.js +637 -0
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2 -1
  52. package/dist/integration/connector/vercel.zod.d.ts +2 -2
  53. package/dist/qa/index.d.ts +11 -0
  54. package/dist/qa/index.d.ts.map +1 -0
  55. package/dist/qa/index.js +26 -0
  56. package/dist/qa/testing.zod.d.ts +345 -0
  57. package/dist/qa/testing.zod.d.ts.map +1 -0
  58. package/dist/qa/testing.zod.js +69 -0
  59. package/dist/stack.zod.d.ts +576 -3
  60. package/dist/stack.zod.d.ts.map +1 -1
  61. package/dist/system/index.d.ts +2 -0
  62. package/dist/system/index.d.ts.map +1 -1
  63. package/dist/system/index.js +2 -0
  64. package/dist/system/manifest.zod.d.ts +226 -0
  65. package/dist/system/manifest.zod.d.ts.map +1 -1
  66. package/dist/system/manifest.zod.js +8 -0
  67. package/dist/system/message-queue.zod.d.ts +2 -2
  68. package/dist/system/metadata-loader.zod.d.ts +1 -1
  69. package/dist/system/migration.zod.d.ts +4205 -0
  70. package/dist/system/migration.zod.d.ts.map +1 -0
  71. package/dist/system/migration.zod.js +70 -0
  72. package/dist/system/plugin-loading.zod.d.ts +575 -0
  73. package/dist/system/plugin-loading.zod.d.ts.map +1 -0
  74. package/dist/system/plugin-loading.zod.js +612 -0
  75. package/json-schema/{api/ViewResponse.json → ai/FeedbackLoop.json} +2 -2
  76. package/json-schema/{api/ViewType.json → ai/Issue.json} +2 -2
  77. package/json-schema/{api/GetViewRequest.json → ai/MetadataSource.json} +2 -2
  78. package/json-schema/{api/ViewColumn.json → ai/Resolution.json} +2 -2
  79. package/json-schema/api/{DeleteViewRequest.json → ApiChangelogEntry.json} +2 -2
  80. package/json-schema/api/{CreateViewRequest.json → ApiDiscoveryQuery.json} +2 -2
  81. package/json-schema/api/ApiDiscoveryResponse.json +7 -0
  82. package/json-schema/api/ApiDocumentationConfig.json +7 -0
  83. package/json-schema/api/ApiEndpointRegistration.json +7 -0
  84. package/json-schema/api/ApiMetadata.json +7 -0
  85. package/json-schema/api/ApiParameter.json +7 -0
  86. package/json-schema/api/{GetViewResponse.json → ApiProtocolType.json} +2 -2
  87. package/json-schema/api/ApiRegistry.json +7 -0
  88. package/json-schema/api/{ListViewsRequest.json → ApiRegistryEntry.json} +2 -2
  89. package/json-schema/api/ApiResponse.json +7 -0
  90. package/json-schema/api/ApiTestCollection.json +7 -0
  91. package/json-schema/api/ApiTestRequest.json +7 -0
  92. package/json-schema/api/{DeleteViewResponse.json → ApiTestingUiConfig.json} +2 -2
  93. package/json-schema/api/ApiTestingUiType.json +7 -0
  94. package/json-schema/api/BuildStatusResponse.json +7 -0
  95. package/json-schema/api/CodeGenerationTemplate.json +7 -0
  96. package/json-schema/api/CompileManifestRequest.json +7 -0
  97. package/json-schema/api/CompileManifestResponse.json +7 -0
  98. package/json-schema/api/ConflictResolutionStrategy.json +7 -0
  99. package/json-schema/api/CreateSpaceRequest.json +7 -0
  100. package/json-schema/api/CreateTenantRequest.json +7 -0
  101. package/json-schema/api/GeneratedApiDocumentation.json +7 -0
  102. package/json-schema/api/GetBuildStatusRequest.json +7 -0
  103. package/json-schema/api/GetMarketplacePluginRequest.json +7 -0
  104. package/json-schema/api/GetPluginVersionsRequest.json +7 -0
  105. package/json-schema/api/GetPluginVersionsResponse.json +7 -0
  106. package/json-schema/api/HttpStatusCode.json +7 -0
  107. package/json-schema/api/HubHealthResponse.json +7 -0
  108. package/json-schema/api/HubMetricsResponse.json +7 -0
  109. package/json-schema/api/IssueLicenseRequest.json +7 -0
  110. package/json-schema/api/LicenseResponse.json +7 -0
  111. package/json-schema/api/ListLicensesRequest.json +7 -0
  112. package/json-schema/api/ListLicensesResponse.json +7 -0
  113. package/json-schema/api/ListMarketplaceRequest.json +7 -0
  114. package/json-schema/api/ListMarketplaceResponse.json +7 -0
  115. package/json-schema/api/ListSpacesRequest.json +7 -0
  116. package/json-schema/api/ListSpacesResponse.json +7 -0
  117. package/json-schema/api/ListTenantsRequest.json +7 -0
  118. package/json-schema/api/ListTenantsResponse.json +7 -0
  119. package/json-schema/api/MarketplacePluginResponse.json +7 -0
  120. package/json-schema/api/ObjectQLReference.json +7 -0
  121. package/json-schema/api/OpenApiSecurityScheme.json +7 -0
  122. package/json-schema/api/OpenApiServer.json +7 -0
  123. package/json-schema/api/OpenApiSpec.json +7 -0
  124. package/json-schema/api/PaginationRequest.json +7 -0
  125. package/json-schema/api/PaginationResponse.json +7 -0
  126. package/json-schema/api/PluginResponse.json +7 -0
  127. package/json-schema/api/PluginVersionInfo.json +7 -0
  128. package/json-schema/api/PublishPluginRequest.json +7 -0
  129. package/json-schema/api/RevokeLicenseRequest.json +7 -0
  130. package/json-schema/api/SchemaDefinition.json +7 -0
  131. package/json-schema/api/SearchPluginsRequest.json +7 -0
  132. package/json-schema/api/SearchPluginsResponse.json +7 -0
  133. package/json-schema/api/SpaceResponse.json +7 -0
  134. package/json-schema/api/TenantResponse.json +7 -0
  135. package/json-schema/api/UpdatePluginRequest.json +7 -0
  136. package/json-schema/api/UpdateSpaceRequest.json +7 -0
  137. package/json-schema/api/UpdateTenantRequest.json +7 -0
  138. package/json-schema/api/ValidateLicenseRequest.json +7 -0
  139. package/json-schema/api/ValidateLicenseResponse.json +7 -0
  140. package/json-schema/hub/DependencyConflict.json +7 -0
  141. package/json-schema/hub/DependencyGraph.json +7 -0
  142. package/json-schema/hub/DependencyGraphNode.json +7 -0
  143. package/json-schema/hub/DependencyResolutionResult.json +7 -0
  144. package/json-schema/hub/EdgeLocation.json +7 -0
  145. package/json-schema/hub/FederationTopology.json +7 -0
  146. package/json-schema/hub/GlobalRegistryEntry.json +7 -0
  147. package/json-schema/hub/HubInstance.json +7 -0
  148. package/json-schema/hub/PackageDependency.json +7 -0
  149. package/json-schema/hub/PluginProvenance.json +7 -0
  150. package/json-schema/hub/PluginTrustScore.json +7 -0
  151. package/json-schema/{api/SavedView.json → hub/Region.json} +2 -2
  152. package/json-schema/hub/ReplicationJob.json +7 -0
  153. package/json-schema/{api/ViewLayout.json → hub/SBOM.json} +2 -2
  154. package/json-schema/hub/SBOMEntry.json +7 -0
  155. package/json-schema/hub/SecurityPolicy.json +7 -0
  156. package/json-schema/hub/SecurityScanResult.json +7 -0
  157. package/json-schema/hub/SecurityVulnerability.json +7 -0
  158. package/json-schema/hub/TenantPlacementPolicy.json +7 -0
  159. package/json-schema/hub/VulnerabilitySeverity.json +7 -0
  160. package/json-schema/qa/TestAction.json +7 -0
  161. package/json-schema/qa/TestActionType.json +7 -0
  162. package/json-schema/qa/TestAssertion.json +7 -0
  163. package/json-schema/qa/TestAssertionType.json +7 -0
  164. package/json-schema/qa/TestContext.json +7 -0
  165. package/json-schema/qa/TestScenario.json +7 -0
  166. package/json-schema/qa/TestStep.json +7 -0
  167. package/json-schema/qa/TestSuite.json +7 -0
  168. package/json-schema/system/AddFieldOperation.json +7 -0
  169. package/json-schema/system/ChangeSet.json +7 -0
  170. package/json-schema/system/CreateObjectOperation.json +7 -0
  171. package/json-schema/system/DeleteObjectOperation.json +7 -0
  172. package/json-schema/system/ExecuteSqlOperation.json +7 -0
  173. package/json-schema/system/MigrationDependency.json +7 -0
  174. package/json-schema/system/MigrationOperation.json +7 -0
  175. package/json-schema/system/ModifyFieldOperation.json +7 -0
  176. package/json-schema/system/PluginCaching.json +7 -0
  177. package/json-schema/system/PluginCodeSplitting.json +7 -0
  178. package/json-schema/system/PluginDependencyResolution.json +7 -0
  179. package/json-schema/system/PluginDynamicImport.json +7 -0
  180. package/json-schema/system/PluginHotReload.json +7 -0
  181. package/json-schema/system/PluginInitialization.json +7 -0
  182. package/json-schema/system/PluginLoadingConfig.json +7 -0
  183. package/json-schema/system/PluginLoadingEvent.json +7 -0
  184. package/json-schema/system/PluginLoadingState.json +7 -0
  185. package/json-schema/system/PluginLoadingStrategy.json +7 -0
  186. package/json-schema/system/PluginPerformanceMonitoring.json +7 -0
  187. package/json-schema/system/PluginPreloadConfig.json +7 -0
  188. package/json-schema/system/PluginSandboxing.json +7 -0
  189. package/json-schema/system/RemoveFieldOperation.json +7 -0
  190. package/json-schema/system/RenameObjectOperation.json +7 -0
  191. package/package.json +1 -1
  192. package/dist/api/view-storage.zod.d.ts +0 -2054
  193. package/dist/api/view-storage.zod.d.ts.map +0 -1
  194. package/dist/api/view-storage.zod.js +0 -243
  195. package/json-schema/api/ListViewsResponse.json +0 -7
  196. package/json-schema/api/UpdateViewRequest.json +0 -7
  197. package/json-schema/api/ViewVisibility.json +0 -7
@@ -0,0 +1,764 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * # Hub Federation Protocol
4
+ *
5
+ * Enables distributed ObjectStack Hub deployments across multiple regions,
6
+ * data centers, or cloud providers. Supports:
7
+ * - Multi-region plugin distribution
8
+ * - Federated identity and tenant management
9
+ * - Cross-region data replication
10
+ * - Global load balancing
11
+ * - Disaster recovery
12
+ *
13
+ * Use cases:
14
+ * - Global SaaS deployments with regional data residency
15
+ * - Multi-cloud resilience
16
+ * - Edge computing with central management
17
+ * - Hybrid cloud deployments
18
+ */
19
+ /**
20
+ * Geographic Region
21
+ */
22
+ export declare const RegionSchema: z.ZodObject<{
23
+ id: z.ZodString;
24
+ name: z.ZodString;
25
+ location: z.ZodObject<{
26
+ continent: z.ZodEnum<{
27
+ NA: "NA";
28
+ SA: "SA";
29
+ EU: "EU";
30
+ AF: "AF";
31
+ AS: "AS";
32
+ OC: "OC";
33
+ AN: "AN";
34
+ }>;
35
+ country: z.ZodString;
36
+ city: z.ZodOptional<z.ZodString>;
37
+ latitude: z.ZodOptional<z.ZodNumber>;
38
+ longitude: z.ZodOptional<z.ZodNumber>;
39
+ }, z.core.$strip>;
40
+ provider: z.ZodOptional<z.ZodObject<{
41
+ name: z.ZodEnum<{
42
+ vercel: "vercel";
43
+ aws: "aws";
44
+ azure: "azure";
45
+ gcp: "gcp";
46
+ cloudflare: "cloudflare";
47
+ "self-hosted": "self-hosted";
48
+ }>;
49
+ region: z.ZodString;
50
+ }, z.core.$strip>>;
51
+ capabilities: z.ZodOptional<z.ZodObject<{
52
+ databases: z.ZodDefault<z.ZodArray<z.ZodEnum<{
53
+ mysql: "mysql";
54
+ mongodb: "mongodb";
55
+ redis: "redis";
56
+ postgres: "postgres";
57
+ }>>>;
58
+ storage: z.ZodDefault<z.ZodArray<z.ZodEnum<{
59
+ s3: "s3";
60
+ gcs: "gcs";
61
+ "azure-blob": "azure-blob";
62
+ }>>>;
63
+ compute: z.ZodDefault<z.ZodArray<z.ZodEnum<{
64
+ vm: "vm";
65
+ containers: "containers";
66
+ serverless: "serverless";
67
+ }>>>;
68
+ cdn: z.ZodDefault<z.ZodBoolean>;
69
+ }, z.core.$strip>>;
70
+ compliance: z.ZodDefault<z.ZodArray<z.ZodEnum<{
71
+ hipaa: "hipaa";
72
+ gdpr: "gdpr";
73
+ soc2: "soc2";
74
+ iso27001: "iso27001";
75
+ "pci-dss": "pci-dss";
76
+ }>>>;
77
+ status: z.ZodDefault<z.ZodEnum<{
78
+ deprecated: "deprecated";
79
+ active: "active";
80
+ "read-only": "read-only";
81
+ maintenance: "maintenance";
82
+ }>>;
83
+ limits: z.ZodOptional<z.ZodObject<{
84
+ maxSpaces: z.ZodOptional<z.ZodNumber>;
85
+ maxTenants: z.ZodOptional<z.ZodNumber>;
86
+ maxStorage: z.ZodOptional<z.ZodNumber>;
87
+ }, z.core.$strip>>;
88
+ }, z.core.$strip>;
89
+ export type Region = z.infer<typeof RegionSchema>;
90
+ /**
91
+ * Hub Instance
92
+ * Represents a single Hub deployment in a region
93
+ */
94
+ export declare const HubInstanceSchema: z.ZodObject<{
95
+ id: z.ZodString;
96
+ regionId: z.ZodString;
97
+ role: z.ZodEnum<{
98
+ primary: "primary";
99
+ secondary: "secondary";
100
+ edge: "edge";
101
+ }>;
102
+ endpoints: z.ZodObject<{
103
+ api: z.ZodString;
104
+ admin: z.ZodOptional<z.ZodString>;
105
+ grpc: z.ZodOptional<z.ZodString>;
106
+ }, z.core.$strip>;
107
+ replication: z.ZodOptional<z.ZodObject<{
108
+ primaryHubId: z.ZodOptional<z.ZodString>;
109
+ lagTolerance: z.ZodDefault<z.ZodNumber>;
110
+ mode: z.ZodDefault<z.ZodEnum<{
111
+ async: "async";
112
+ sync: "sync";
113
+ "semi-sync": "semi-sync";
114
+ }>>;
115
+ }, z.core.$strip>>;
116
+ health: z.ZodOptional<z.ZodObject<{
117
+ status: z.ZodEnum<{
118
+ healthy: "healthy";
119
+ degraded: "degraded";
120
+ unhealthy: "unhealthy";
121
+ }>;
122
+ lastCheck: z.ZodString;
123
+ uptime: z.ZodNumber;
124
+ }, z.core.$strip>>;
125
+ version: z.ZodString;
126
+ createdAt: z.ZodString;
127
+ updatedAt: z.ZodString;
128
+ }, z.core.$strip>;
129
+ export type HubInstance = z.infer<typeof HubInstanceSchema>;
130
+ /**
131
+ * Federation Topology
132
+ * Defines the global hub network architecture
133
+ */
134
+ export declare const FederationTopologySchema: z.ZodObject<{
135
+ id: z.ZodString;
136
+ name: z.ZodString;
137
+ regions: z.ZodArray<z.ZodObject<{
138
+ id: z.ZodString;
139
+ name: z.ZodString;
140
+ location: z.ZodObject<{
141
+ continent: z.ZodEnum<{
142
+ NA: "NA";
143
+ SA: "SA";
144
+ EU: "EU";
145
+ AF: "AF";
146
+ AS: "AS";
147
+ OC: "OC";
148
+ AN: "AN";
149
+ }>;
150
+ country: z.ZodString;
151
+ city: z.ZodOptional<z.ZodString>;
152
+ latitude: z.ZodOptional<z.ZodNumber>;
153
+ longitude: z.ZodOptional<z.ZodNumber>;
154
+ }, z.core.$strip>;
155
+ provider: z.ZodOptional<z.ZodObject<{
156
+ name: z.ZodEnum<{
157
+ vercel: "vercel";
158
+ aws: "aws";
159
+ azure: "azure";
160
+ gcp: "gcp";
161
+ cloudflare: "cloudflare";
162
+ "self-hosted": "self-hosted";
163
+ }>;
164
+ region: z.ZodString;
165
+ }, z.core.$strip>>;
166
+ capabilities: z.ZodOptional<z.ZodObject<{
167
+ databases: z.ZodDefault<z.ZodArray<z.ZodEnum<{
168
+ mysql: "mysql";
169
+ mongodb: "mongodb";
170
+ redis: "redis";
171
+ postgres: "postgres";
172
+ }>>>;
173
+ storage: z.ZodDefault<z.ZodArray<z.ZodEnum<{
174
+ s3: "s3";
175
+ gcs: "gcs";
176
+ "azure-blob": "azure-blob";
177
+ }>>>;
178
+ compute: z.ZodDefault<z.ZodArray<z.ZodEnum<{
179
+ vm: "vm";
180
+ containers: "containers";
181
+ serverless: "serverless";
182
+ }>>>;
183
+ cdn: z.ZodDefault<z.ZodBoolean>;
184
+ }, z.core.$strip>>;
185
+ compliance: z.ZodDefault<z.ZodArray<z.ZodEnum<{
186
+ hipaa: "hipaa";
187
+ gdpr: "gdpr";
188
+ soc2: "soc2";
189
+ iso27001: "iso27001";
190
+ "pci-dss": "pci-dss";
191
+ }>>>;
192
+ status: z.ZodDefault<z.ZodEnum<{
193
+ deprecated: "deprecated";
194
+ active: "active";
195
+ "read-only": "read-only";
196
+ maintenance: "maintenance";
197
+ }>>;
198
+ limits: z.ZodOptional<z.ZodObject<{
199
+ maxSpaces: z.ZodOptional<z.ZodNumber>;
200
+ maxTenants: z.ZodOptional<z.ZodNumber>;
201
+ maxStorage: z.ZodOptional<z.ZodNumber>;
202
+ }, z.core.$strip>>;
203
+ }, z.core.$strip>>;
204
+ hubs: z.ZodArray<z.ZodObject<{
205
+ id: z.ZodString;
206
+ regionId: z.ZodString;
207
+ role: z.ZodEnum<{
208
+ primary: "primary";
209
+ secondary: "secondary";
210
+ edge: "edge";
211
+ }>;
212
+ endpoints: z.ZodObject<{
213
+ api: z.ZodString;
214
+ admin: z.ZodOptional<z.ZodString>;
215
+ grpc: z.ZodOptional<z.ZodString>;
216
+ }, z.core.$strip>;
217
+ replication: z.ZodOptional<z.ZodObject<{
218
+ primaryHubId: z.ZodOptional<z.ZodString>;
219
+ lagTolerance: z.ZodDefault<z.ZodNumber>;
220
+ mode: z.ZodDefault<z.ZodEnum<{
221
+ async: "async";
222
+ sync: "sync";
223
+ "semi-sync": "semi-sync";
224
+ }>>;
225
+ }, z.core.$strip>>;
226
+ health: z.ZodOptional<z.ZodObject<{
227
+ status: z.ZodEnum<{
228
+ healthy: "healthy";
229
+ degraded: "degraded";
230
+ unhealthy: "unhealthy";
231
+ }>;
232
+ lastCheck: z.ZodString;
233
+ uptime: z.ZodNumber;
234
+ }, z.core.$strip>>;
235
+ version: z.ZodString;
236
+ createdAt: z.ZodString;
237
+ updatedAt: z.ZodString;
238
+ }, z.core.$strip>>;
239
+ routing: z.ZodObject<{
240
+ strategy: z.ZodDefault<z.ZodEnum<{
241
+ custom: "custom";
242
+ "geo-proximity": "geo-proximity";
243
+ "data-residency": "data-residency";
244
+ "least-loaded": "least-loaded";
245
+ }>>;
246
+ failover: z.ZodObject<{
247
+ enabled: z.ZodDefault<z.ZodBoolean>;
248
+ maxRetries: z.ZodDefault<z.ZodNumber>;
249
+ timeout: z.ZodDefault<z.ZodNumber>;
250
+ }, z.core.$strip>;
251
+ }, z.core.$strip>;
252
+ synchronization: z.ZodObject<{
253
+ scope: z.ZodObject<{
254
+ plugins: z.ZodDefault<z.ZodBoolean>;
255
+ tenants: z.ZodDefault<z.ZodBoolean>;
256
+ spaces: z.ZodDefault<z.ZodBoolean>;
257
+ licenses: z.ZodDefault<z.ZodBoolean>;
258
+ }, z.core.$strip>;
259
+ frequency: z.ZodDefault<z.ZodEnum<{
260
+ realtime: "realtime";
261
+ hourly: "hourly";
262
+ daily: "daily";
263
+ }>>;
264
+ conflictResolution: z.ZodDefault<z.ZodEnum<{
265
+ manual: "manual";
266
+ "last-write-wins": "last-write-wins";
267
+ "primary-wins": "primary-wins";
268
+ }>>;
269
+ }, z.core.$strip>;
270
+ }, z.core.$strip>;
271
+ export type FederationTopology = z.infer<typeof FederationTopologySchema>;
272
+ /**
273
+ * Tenant Placement Policy
274
+ * Determines where a tenant's data and runtime reside
275
+ */
276
+ export declare const TenantPlacementPolicySchema: z.ZodObject<{
277
+ tenantId: z.ZodString;
278
+ primaryRegion: z.ZodString;
279
+ replicaRegions: z.ZodDefault<z.ZodArray<z.ZodString>>;
280
+ dataResidency: z.ZodOptional<z.ZodObject<{
281
+ allowedRegions: z.ZodOptional<z.ZodArray<z.ZodString>>;
282
+ prohibitedRegions: z.ZodDefault<z.ZodArray<z.ZodString>>;
283
+ continent: z.ZodOptional<z.ZodEnum<{
284
+ NA: "NA";
285
+ SA: "SA";
286
+ EU: "EU";
287
+ AF: "AF";
288
+ AS: "AS";
289
+ OC: "OC";
290
+ AN: "AN";
291
+ }>>;
292
+ }, z.core.$strip>>;
293
+ failover: z.ZodOptional<z.ZodObject<{
294
+ enabled: z.ZodDefault<z.ZodBoolean>;
295
+ preferredOrder: z.ZodDefault<z.ZodArray<z.ZodString>>;
296
+ maxLatency: z.ZodDefault<z.ZodNumber>;
297
+ }, z.core.$strip>>;
298
+ latency: z.ZodOptional<z.ZodObject<{
299
+ maxPrimaryLatency: z.ZodDefault<z.ZodNumber>;
300
+ maxReplicaLatency: z.ZodDefault<z.ZodNumber>;
301
+ }, z.core.$strip>>;
302
+ }, z.core.$strip>;
303
+ export type TenantPlacementPolicy = z.infer<typeof TenantPlacementPolicySchema>;
304
+ /**
305
+ * Cross-Region Replication Job
306
+ */
307
+ export declare const ReplicationJobSchema: z.ZodObject<{
308
+ id: z.ZodString;
309
+ type: z.ZodEnum<{
310
+ "initial-sync": "initial-sync";
311
+ incremental: "incremental";
312
+ "conflict-resolution": "conflict-resolution";
313
+ }>;
314
+ sourceHubId: z.ZodString;
315
+ targetHubIds: z.ZodArray<z.ZodString>;
316
+ scope: z.ZodObject<{
317
+ resourceType: z.ZodEnum<{
318
+ all: "all";
319
+ license: "license";
320
+ plugin: "plugin";
321
+ tenant: "tenant";
322
+ space: "space";
323
+ }>;
324
+ resourceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
325
+ }, z.core.$strip>;
326
+ status: z.ZodEnum<{
327
+ pending: "pending";
328
+ completed: "completed";
329
+ failed: "failed";
330
+ running: "running";
331
+ cancelled: "cancelled";
332
+ }>;
333
+ progress: z.ZodOptional<z.ZodObject<{
334
+ total: z.ZodNumber;
335
+ completed: z.ZodNumber;
336
+ failed: z.ZodNumber;
337
+ }, z.core.$strip>>;
338
+ createdAt: z.ZodString;
339
+ startedAt: z.ZodOptional<z.ZodString>;
340
+ completedAt: z.ZodOptional<z.ZodString>;
341
+ errors: z.ZodDefault<z.ZodArray<z.ZodObject<{
342
+ timestamp: z.ZodString;
343
+ resourceId: z.ZodString;
344
+ error: z.ZodString;
345
+ }, z.core.$strip>>>;
346
+ }, z.core.$strip>;
347
+ export type ReplicationJob = z.infer<typeof ReplicationJobSchema>;
348
+ /**
349
+ * Global Registry Entry
350
+ * Tracks where a resource exists across regions
351
+ */
352
+ export declare const GlobalRegistryEntrySchema: z.ZodObject<{
353
+ resourceId: z.ZodString;
354
+ resourceType: z.ZodEnum<{
355
+ license: "license";
356
+ plugin: "plugin";
357
+ tenant: "tenant";
358
+ space: "space";
359
+ }>;
360
+ locations: z.ZodArray<z.ZodObject<{
361
+ regionId: z.ZodString;
362
+ hubId: z.ZodString;
363
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
364
+ lastSyncedAt: z.ZodOptional<z.ZodString>;
365
+ version: z.ZodOptional<z.ZodString>;
366
+ }, z.core.$strip>>;
367
+ versionVector: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
368
+ }, z.core.$strip>;
369
+ export type GlobalRegistryEntry = z.infer<typeof GlobalRegistryEntrySchema>;
370
+ /**
371
+ * Edge Location
372
+ * Represents a CDN/edge cache location
373
+ */
374
+ export declare const EdgeLocationSchema: z.ZodObject<{
375
+ id: z.ZodString;
376
+ regionId: z.ZodString;
377
+ location: z.ZodObject<{
378
+ continent: z.ZodEnum<{
379
+ NA: "NA";
380
+ SA: "SA";
381
+ EU: "EU";
382
+ AF: "AF";
383
+ AS: "AS";
384
+ OC: "OC";
385
+ AN: "AN";
386
+ }>;
387
+ country: z.ZodString;
388
+ city: z.ZodOptional<z.ZodString>;
389
+ latitude: z.ZodOptional<z.ZodNumber>;
390
+ longitude: z.ZodOptional<z.ZodNumber>;
391
+ }, z.core.$strip>;
392
+ cache: z.ZodObject<{
393
+ resources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
394
+ plugins: "plugins";
395
+ "static-assets": "static-assets";
396
+ "api-responses": "api-responses";
397
+ }>>>;
398
+ ttl: z.ZodDefault<z.ZodNumber>;
399
+ maxSize: z.ZodOptional<z.ZodNumber>;
400
+ }, z.core.$strip>;
401
+ status: z.ZodDefault<z.ZodEnum<{
402
+ active: "active";
403
+ inactive: "inactive";
404
+ }>>;
405
+ }, z.core.$strip>;
406
+ export type EdgeLocation = z.infer<typeof EdgeLocationSchema>;
407
+ export declare const HubFederationProtocol: {
408
+ readonly Region: z.ZodObject<{
409
+ id: z.ZodString;
410
+ name: z.ZodString;
411
+ location: z.ZodObject<{
412
+ continent: z.ZodEnum<{
413
+ NA: "NA";
414
+ SA: "SA";
415
+ EU: "EU";
416
+ AF: "AF";
417
+ AS: "AS";
418
+ OC: "OC";
419
+ AN: "AN";
420
+ }>;
421
+ country: z.ZodString;
422
+ city: z.ZodOptional<z.ZodString>;
423
+ latitude: z.ZodOptional<z.ZodNumber>;
424
+ longitude: z.ZodOptional<z.ZodNumber>;
425
+ }, z.core.$strip>;
426
+ provider: z.ZodOptional<z.ZodObject<{
427
+ name: z.ZodEnum<{
428
+ vercel: "vercel";
429
+ aws: "aws";
430
+ azure: "azure";
431
+ gcp: "gcp";
432
+ cloudflare: "cloudflare";
433
+ "self-hosted": "self-hosted";
434
+ }>;
435
+ region: z.ZodString;
436
+ }, z.core.$strip>>;
437
+ capabilities: z.ZodOptional<z.ZodObject<{
438
+ databases: z.ZodDefault<z.ZodArray<z.ZodEnum<{
439
+ mysql: "mysql";
440
+ mongodb: "mongodb";
441
+ redis: "redis";
442
+ postgres: "postgres";
443
+ }>>>;
444
+ storage: z.ZodDefault<z.ZodArray<z.ZodEnum<{
445
+ s3: "s3";
446
+ gcs: "gcs";
447
+ "azure-blob": "azure-blob";
448
+ }>>>;
449
+ compute: z.ZodDefault<z.ZodArray<z.ZodEnum<{
450
+ vm: "vm";
451
+ containers: "containers";
452
+ serverless: "serverless";
453
+ }>>>;
454
+ cdn: z.ZodDefault<z.ZodBoolean>;
455
+ }, z.core.$strip>>;
456
+ compliance: z.ZodDefault<z.ZodArray<z.ZodEnum<{
457
+ hipaa: "hipaa";
458
+ gdpr: "gdpr";
459
+ soc2: "soc2";
460
+ iso27001: "iso27001";
461
+ "pci-dss": "pci-dss";
462
+ }>>>;
463
+ status: z.ZodDefault<z.ZodEnum<{
464
+ deprecated: "deprecated";
465
+ active: "active";
466
+ "read-only": "read-only";
467
+ maintenance: "maintenance";
468
+ }>>;
469
+ limits: z.ZodOptional<z.ZodObject<{
470
+ maxSpaces: z.ZodOptional<z.ZodNumber>;
471
+ maxTenants: z.ZodOptional<z.ZodNumber>;
472
+ maxStorage: z.ZodOptional<z.ZodNumber>;
473
+ }, z.core.$strip>>;
474
+ }, z.core.$strip>;
475
+ readonly HubInstance: z.ZodObject<{
476
+ id: z.ZodString;
477
+ regionId: z.ZodString;
478
+ role: z.ZodEnum<{
479
+ primary: "primary";
480
+ secondary: "secondary";
481
+ edge: "edge";
482
+ }>;
483
+ endpoints: z.ZodObject<{
484
+ api: z.ZodString;
485
+ admin: z.ZodOptional<z.ZodString>;
486
+ grpc: z.ZodOptional<z.ZodString>;
487
+ }, z.core.$strip>;
488
+ replication: z.ZodOptional<z.ZodObject<{
489
+ primaryHubId: z.ZodOptional<z.ZodString>;
490
+ lagTolerance: z.ZodDefault<z.ZodNumber>;
491
+ mode: z.ZodDefault<z.ZodEnum<{
492
+ async: "async";
493
+ sync: "sync";
494
+ "semi-sync": "semi-sync";
495
+ }>>;
496
+ }, z.core.$strip>>;
497
+ health: z.ZodOptional<z.ZodObject<{
498
+ status: z.ZodEnum<{
499
+ healthy: "healthy";
500
+ degraded: "degraded";
501
+ unhealthy: "unhealthy";
502
+ }>;
503
+ lastCheck: z.ZodString;
504
+ uptime: z.ZodNumber;
505
+ }, z.core.$strip>>;
506
+ version: z.ZodString;
507
+ createdAt: z.ZodString;
508
+ updatedAt: z.ZodString;
509
+ }, z.core.$strip>;
510
+ readonly FederationTopology: z.ZodObject<{
511
+ id: z.ZodString;
512
+ name: z.ZodString;
513
+ regions: z.ZodArray<z.ZodObject<{
514
+ id: z.ZodString;
515
+ name: z.ZodString;
516
+ location: z.ZodObject<{
517
+ continent: z.ZodEnum<{
518
+ NA: "NA";
519
+ SA: "SA";
520
+ EU: "EU";
521
+ AF: "AF";
522
+ AS: "AS";
523
+ OC: "OC";
524
+ AN: "AN";
525
+ }>;
526
+ country: z.ZodString;
527
+ city: z.ZodOptional<z.ZodString>;
528
+ latitude: z.ZodOptional<z.ZodNumber>;
529
+ longitude: z.ZodOptional<z.ZodNumber>;
530
+ }, z.core.$strip>;
531
+ provider: z.ZodOptional<z.ZodObject<{
532
+ name: z.ZodEnum<{
533
+ vercel: "vercel";
534
+ aws: "aws";
535
+ azure: "azure";
536
+ gcp: "gcp";
537
+ cloudflare: "cloudflare";
538
+ "self-hosted": "self-hosted";
539
+ }>;
540
+ region: z.ZodString;
541
+ }, z.core.$strip>>;
542
+ capabilities: z.ZodOptional<z.ZodObject<{
543
+ databases: z.ZodDefault<z.ZodArray<z.ZodEnum<{
544
+ mysql: "mysql";
545
+ mongodb: "mongodb";
546
+ redis: "redis";
547
+ postgres: "postgres";
548
+ }>>>;
549
+ storage: z.ZodDefault<z.ZodArray<z.ZodEnum<{
550
+ s3: "s3";
551
+ gcs: "gcs";
552
+ "azure-blob": "azure-blob";
553
+ }>>>;
554
+ compute: z.ZodDefault<z.ZodArray<z.ZodEnum<{
555
+ vm: "vm";
556
+ containers: "containers";
557
+ serverless: "serverless";
558
+ }>>>;
559
+ cdn: z.ZodDefault<z.ZodBoolean>;
560
+ }, z.core.$strip>>;
561
+ compliance: z.ZodDefault<z.ZodArray<z.ZodEnum<{
562
+ hipaa: "hipaa";
563
+ gdpr: "gdpr";
564
+ soc2: "soc2";
565
+ iso27001: "iso27001";
566
+ "pci-dss": "pci-dss";
567
+ }>>>;
568
+ status: z.ZodDefault<z.ZodEnum<{
569
+ deprecated: "deprecated";
570
+ active: "active";
571
+ "read-only": "read-only";
572
+ maintenance: "maintenance";
573
+ }>>;
574
+ limits: z.ZodOptional<z.ZodObject<{
575
+ maxSpaces: z.ZodOptional<z.ZodNumber>;
576
+ maxTenants: z.ZodOptional<z.ZodNumber>;
577
+ maxStorage: z.ZodOptional<z.ZodNumber>;
578
+ }, z.core.$strip>>;
579
+ }, z.core.$strip>>;
580
+ hubs: z.ZodArray<z.ZodObject<{
581
+ id: z.ZodString;
582
+ regionId: z.ZodString;
583
+ role: z.ZodEnum<{
584
+ primary: "primary";
585
+ secondary: "secondary";
586
+ edge: "edge";
587
+ }>;
588
+ endpoints: z.ZodObject<{
589
+ api: z.ZodString;
590
+ admin: z.ZodOptional<z.ZodString>;
591
+ grpc: z.ZodOptional<z.ZodString>;
592
+ }, z.core.$strip>;
593
+ replication: z.ZodOptional<z.ZodObject<{
594
+ primaryHubId: z.ZodOptional<z.ZodString>;
595
+ lagTolerance: z.ZodDefault<z.ZodNumber>;
596
+ mode: z.ZodDefault<z.ZodEnum<{
597
+ async: "async";
598
+ sync: "sync";
599
+ "semi-sync": "semi-sync";
600
+ }>>;
601
+ }, z.core.$strip>>;
602
+ health: z.ZodOptional<z.ZodObject<{
603
+ status: z.ZodEnum<{
604
+ healthy: "healthy";
605
+ degraded: "degraded";
606
+ unhealthy: "unhealthy";
607
+ }>;
608
+ lastCheck: z.ZodString;
609
+ uptime: z.ZodNumber;
610
+ }, z.core.$strip>>;
611
+ version: z.ZodString;
612
+ createdAt: z.ZodString;
613
+ updatedAt: z.ZodString;
614
+ }, z.core.$strip>>;
615
+ routing: z.ZodObject<{
616
+ strategy: z.ZodDefault<z.ZodEnum<{
617
+ custom: "custom";
618
+ "geo-proximity": "geo-proximity";
619
+ "data-residency": "data-residency";
620
+ "least-loaded": "least-loaded";
621
+ }>>;
622
+ failover: z.ZodObject<{
623
+ enabled: z.ZodDefault<z.ZodBoolean>;
624
+ maxRetries: z.ZodDefault<z.ZodNumber>;
625
+ timeout: z.ZodDefault<z.ZodNumber>;
626
+ }, z.core.$strip>;
627
+ }, z.core.$strip>;
628
+ synchronization: z.ZodObject<{
629
+ scope: z.ZodObject<{
630
+ plugins: z.ZodDefault<z.ZodBoolean>;
631
+ tenants: z.ZodDefault<z.ZodBoolean>;
632
+ spaces: z.ZodDefault<z.ZodBoolean>;
633
+ licenses: z.ZodDefault<z.ZodBoolean>;
634
+ }, z.core.$strip>;
635
+ frequency: z.ZodDefault<z.ZodEnum<{
636
+ realtime: "realtime";
637
+ hourly: "hourly";
638
+ daily: "daily";
639
+ }>>;
640
+ conflictResolution: z.ZodDefault<z.ZodEnum<{
641
+ manual: "manual";
642
+ "last-write-wins": "last-write-wins";
643
+ "primary-wins": "primary-wins";
644
+ }>>;
645
+ }, z.core.$strip>;
646
+ }, z.core.$strip>;
647
+ readonly TenantPlacementPolicy: z.ZodObject<{
648
+ tenantId: z.ZodString;
649
+ primaryRegion: z.ZodString;
650
+ replicaRegions: z.ZodDefault<z.ZodArray<z.ZodString>>;
651
+ dataResidency: z.ZodOptional<z.ZodObject<{
652
+ allowedRegions: z.ZodOptional<z.ZodArray<z.ZodString>>;
653
+ prohibitedRegions: z.ZodDefault<z.ZodArray<z.ZodString>>;
654
+ continent: z.ZodOptional<z.ZodEnum<{
655
+ NA: "NA";
656
+ SA: "SA";
657
+ EU: "EU";
658
+ AF: "AF";
659
+ AS: "AS";
660
+ OC: "OC";
661
+ AN: "AN";
662
+ }>>;
663
+ }, z.core.$strip>>;
664
+ failover: z.ZodOptional<z.ZodObject<{
665
+ enabled: z.ZodDefault<z.ZodBoolean>;
666
+ preferredOrder: z.ZodDefault<z.ZodArray<z.ZodString>>;
667
+ maxLatency: z.ZodDefault<z.ZodNumber>;
668
+ }, z.core.$strip>>;
669
+ latency: z.ZodOptional<z.ZodObject<{
670
+ maxPrimaryLatency: z.ZodDefault<z.ZodNumber>;
671
+ maxReplicaLatency: z.ZodDefault<z.ZodNumber>;
672
+ }, z.core.$strip>>;
673
+ }, z.core.$strip>;
674
+ readonly ReplicationJob: z.ZodObject<{
675
+ id: z.ZodString;
676
+ type: z.ZodEnum<{
677
+ "initial-sync": "initial-sync";
678
+ incremental: "incremental";
679
+ "conflict-resolution": "conflict-resolution";
680
+ }>;
681
+ sourceHubId: z.ZodString;
682
+ targetHubIds: z.ZodArray<z.ZodString>;
683
+ scope: z.ZodObject<{
684
+ resourceType: z.ZodEnum<{
685
+ all: "all";
686
+ license: "license";
687
+ plugin: "plugin";
688
+ tenant: "tenant";
689
+ space: "space";
690
+ }>;
691
+ resourceIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
692
+ }, z.core.$strip>;
693
+ status: z.ZodEnum<{
694
+ pending: "pending";
695
+ completed: "completed";
696
+ failed: "failed";
697
+ running: "running";
698
+ cancelled: "cancelled";
699
+ }>;
700
+ progress: z.ZodOptional<z.ZodObject<{
701
+ total: z.ZodNumber;
702
+ completed: z.ZodNumber;
703
+ failed: z.ZodNumber;
704
+ }, z.core.$strip>>;
705
+ createdAt: z.ZodString;
706
+ startedAt: z.ZodOptional<z.ZodString>;
707
+ completedAt: z.ZodOptional<z.ZodString>;
708
+ errors: z.ZodDefault<z.ZodArray<z.ZodObject<{
709
+ timestamp: z.ZodString;
710
+ resourceId: z.ZodString;
711
+ error: z.ZodString;
712
+ }, z.core.$strip>>>;
713
+ }, z.core.$strip>;
714
+ readonly GlobalRegistryEntry: z.ZodObject<{
715
+ resourceId: z.ZodString;
716
+ resourceType: z.ZodEnum<{
717
+ license: "license";
718
+ plugin: "plugin";
719
+ tenant: "tenant";
720
+ space: "space";
721
+ }>;
722
+ locations: z.ZodArray<z.ZodObject<{
723
+ regionId: z.ZodString;
724
+ hubId: z.ZodString;
725
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
726
+ lastSyncedAt: z.ZodOptional<z.ZodString>;
727
+ version: z.ZodOptional<z.ZodString>;
728
+ }, z.core.$strip>>;
729
+ versionVector: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
730
+ }, z.core.$strip>;
731
+ readonly EdgeLocation: z.ZodObject<{
732
+ id: z.ZodString;
733
+ regionId: z.ZodString;
734
+ location: z.ZodObject<{
735
+ continent: z.ZodEnum<{
736
+ NA: "NA";
737
+ SA: "SA";
738
+ EU: "EU";
739
+ AF: "AF";
740
+ AS: "AS";
741
+ OC: "OC";
742
+ AN: "AN";
743
+ }>;
744
+ country: z.ZodString;
745
+ city: z.ZodOptional<z.ZodString>;
746
+ latitude: z.ZodOptional<z.ZodNumber>;
747
+ longitude: z.ZodOptional<z.ZodNumber>;
748
+ }, z.core.$strip>;
749
+ cache: z.ZodObject<{
750
+ resources: z.ZodDefault<z.ZodArray<z.ZodEnum<{
751
+ plugins: "plugins";
752
+ "static-assets": "static-assets";
753
+ "api-responses": "api-responses";
754
+ }>>>;
755
+ ttl: z.ZodDefault<z.ZodNumber>;
756
+ maxSize: z.ZodOptional<z.ZodNumber>;
757
+ }, z.core.$strip>;
758
+ status: z.ZodDefault<z.ZodEnum<{
759
+ active: "active";
760
+ inactive: "inactive";
761
+ }>>;
762
+ }, z.core.$strip>;
763
+ };
764
+ //# sourceMappingURL=hub-federation.zod.d.ts.map