@spacefast/common 0.0.2

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 (202) hide show
  1. package/README.md +42 -0
  2. package/dist/brand.d.ts +15 -0
  3. package/dist/brand.js +24 -0
  4. package/dist/config/domains.d.ts +30 -0
  5. package/dist/config/domains.js +75 -0
  6. package/dist/config/index.d.ts +1 -0
  7. package/dist/config/index.js +3 -0
  8. package/dist/contracts/abuse.d.ts +93 -0
  9. package/dist/contracts/abuse.js +50 -0
  10. package/dist/contracts/access.d.ts +409 -0
  11. package/dist/contracts/access.js +396 -0
  12. package/dist/contracts/account.d.ts +28 -0
  13. package/dist/contracts/account.js +54 -0
  14. package/dist/contracts/activity.d.ts +118 -0
  15. package/dist/contracts/activity.js +180 -0
  16. package/dist/contracts/analytics.d.ts +56 -0
  17. package/dist/contracts/analytics.js +91 -0
  18. package/dist/contracts/annotations.d.ts +327 -0
  19. package/dist/contracts/annotations.js +234 -0
  20. package/dist/contracts/api-keys.d.ts +517 -0
  21. package/dist/contracts/api-keys.js +235 -0
  22. package/dist/contracts/archives.d.ts +332 -0
  23. package/dist/contracts/archives.js +120 -0
  24. package/dist/contracts/auth.d.ts +86 -0
  25. package/dist/contracts/auth.js +82 -0
  26. package/dist/contracts/beta.d.ts +106 -0
  27. package/dist/contracts/beta.js +104 -0
  28. package/dist/contracts/billing.d.ts +328 -0
  29. package/dist/contracts/billing.js +203 -0
  30. package/dist/contracts/builds.d.ts +504 -0
  31. package/dist/contracts/builds.js +248 -0
  32. package/dist/contracts/channels.d.ts +49 -0
  33. package/dist/contracts/channels.js +51 -0
  34. package/dist/contracts/common.d.ts +238 -0
  35. package/dist/contracts/common.js +175 -0
  36. package/dist/contracts/deployments.d.ts +574 -0
  37. package/dist/contracts/deployments.js +97 -0
  38. package/dist/contracts/device-auth.d.ts +194 -0
  39. package/dist/contracts/device-auth.js +162 -0
  40. package/dist/contracts/domains.d.ts +6115 -0
  41. package/dist/contracts/domains.js +1435 -0
  42. package/dist/contracts/enums.d.ts +196 -0
  43. package/dist/contracts/enums.js +211 -0
  44. package/dist/contracts/error-code-meta.d.ts +1560 -0
  45. package/dist/contracts/error-code-meta.js +400 -0
  46. package/dist/contracts/error-codes.d.ts +13 -0
  47. package/dist/contracts/error-codes.js +416 -0
  48. package/dist/contracts/events.d.ts +398 -0
  49. package/dist/contracts/events.js +320 -0
  50. package/dist/contracts/fast-domain-search.d.ts +19 -0
  51. package/dist/contracts/fast-domain-search.js +22 -0
  52. package/dist/contracts/features.d.ts +240 -0
  53. package/dist/contracts/features.js +406 -0
  54. package/dist/contracts/git.d.ts +288 -0
  55. package/dist/contracts/git.js +116 -0
  56. package/dist/contracts/ids.d.ts +35 -0
  57. package/dist/contracts/ids.js +45 -0
  58. package/dist/contracts/intercom.d.ts +6 -0
  59. package/dist/contracts/intercom.js +5 -0
  60. package/dist/contracts/internal.d.ts +103 -0
  61. package/dist/contracts/internal.js +92 -0
  62. package/dist/contracts/mcp.d.ts +788 -0
  63. package/dist/contracts/mcp.js +161 -0
  64. package/dist/contracts/me.d.ts +81 -0
  65. package/dist/contracts/me.js +104 -0
  66. package/dist/contracts/oauth-resources.d.ts +30 -0
  67. package/dist/contracts/oauth-resources.js +61 -0
  68. package/dist/contracts/operations.d.ts +54 -0
  69. package/dist/contracts/operations.js +14 -0
  70. package/dist/contracts/plan-policy.d.ts +85 -0
  71. package/dist/contracts/plan-policy.js +75 -0
  72. package/dist/contracts/platform.d.ts +359 -0
  73. package/dist/contracts/platform.js +216 -0
  74. package/dist/contracts/push-new.d.ts +156 -0
  75. package/dist/contracts/push-new.js +52 -0
  76. package/dist/contracts/quotas.d.ts +16 -0
  77. package/dist/contracts/quotas.js +36 -0
  78. package/dist/contracts/repository-connections.d.ts +231 -0
  79. package/dist/contracts/repository-connections.js +106 -0
  80. package/dist/contracts/resources.d.ts +529 -0
  81. package/dist/contracts/resources.js +209 -0
  82. package/dist/contracts/routes.d.ts +45 -0
  83. package/dist/contracts/routes.js +31 -0
  84. package/dist/contracts/runtime-api.d.ts +449 -0
  85. package/dist/contracts/runtime-api.js +513 -0
  86. package/dist/contracts/sites.d.ts +393 -0
  87. package/dist/contracts/sites.js +121 -0
  88. package/dist/contracts/slugs.d.ts +31 -0
  89. package/dist/contracts/slugs.js +47 -0
  90. package/dist/contracts/space-config.d.ts +216 -0
  91. package/dist/contracts/space-config.js +237 -0
  92. package/dist/contracts/space-theme.d.ts +25 -0
  93. package/dist/contracts/space-theme.js +49 -0
  94. package/dist/contracts/spaces.d.ts +2760 -0
  95. package/dist/contracts/spaces.js +589 -0
  96. package/dist/contracts/superadmin-activity.d.ts +205 -0
  97. package/dist/contracts/superadmin-activity.js +107 -0
  98. package/dist/contracts/superadmin-emails.d.ts +212 -0
  99. package/dist/contracts/superadmin-emails.js +112 -0
  100. package/dist/contracts/superadmin-queues.d.ts +414 -0
  101. package/dist/contracts/superadmin-queues.js +202 -0
  102. package/dist/contracts/superadmin-runtime.d.ts +27 -0
  103. package/dist/contracts/superadmin-runtime.js +38 -0
  104. package/dist/contracts/superadmin-spaces.d.ts +429 -0
  105. package/dist/contracts/superadmin-spaces.js +82 -0
  106. package/dist/contracts/superadmin-tenants.d.ts +180 -0
  107. package/dist/contracts/superadmin-tenants.js +117 -0
  108. package/dist/contracts/superadmin.d.ts +654 -0
  109. package/dist/contracts/superadmin.js +309 -0
  110. package/dist/contracts/tags.d.ts +1140 -0
  111. package/dist/contracts/tags.js +1050 -0
  112. package/dist/contracts/teams.d.ts +233 -0
  113. package/dist/contracts/teams.js +174 -0
  114. package/dist/contracts/telemetry.d.ts +2 -0
  115. package/dist/contracts/telemetry.js +1 -0
  116. package/dist/contracts/transfers.d.ts +105 -0
  117. package/dist/contracts/transfers.js +48 -0
  118. package/dist/contracts/variables.d.ts +189 -0
  119. package/dist/contracts/variables.js +82 -0
  120. package/dist/contracts/webhooks.d.ts +159 -0
  121. package/dist/contracts/webhooks.js +59 -0
  122. package/dist/contracts/zero.d.ts +1538 -0
  123. package/dist/contracts/zero.js +755 -0
  124. package/dist/docs/agent-prose.d.ts +35 -0
  125. package/dist/docs/agent-prose.js +153 -0
  126. package/dist/docs/agent-setup.d.ts +6 -0
  127. package/dist/docs/agent-setup.js +164 -0
  128. package/dist/docs/agent-solutions.d.ts +110 -0
  129. package/dist/docs/agent-solutions.js +181 -0
  130. package/dist/docs/error-docs.d.ts +12 -0
  131. package/dist/docs/error-docs.js +1601 -0
  132. package/dist/docs/skill-distribution.d.ts +12 -0
  133. package/dist/docs/skill-distribution.js +18 -0
  134. package/dist/domain-exploration.d.ts +108 -0
  135. package/dist/domain-exploration.js +488 -0
  136. package/dist/domain-normalize.d.ts +1 -0
  137. package/dist/domain-normalize.js +14 -0
  138. package/dist/domain-zones.d.ts +1 -0
  139. package/dist/domain-zones.js +5272 -0
  140. package/dist/index.d.ts +1 -0
  141. package/dist/index.js +1 -0
  142. package/dist/utils/access-policy.d.ts +39 -0
  143. package/dist/utils/access-policy.js +232 -0
  144. package/dist/utils/api.d.ts +4 -0
  145. package/dist/utils/api.js +13 -0
  146. package/dist/utils/auth-redirect.d.ts +1 -0
  147. package/dist/utils/auth-redirect.js +48 -0
  148. package/dist/utils/auth.d.ts +5 -0
  149. package/dist/utils/auth.js +13 -0
  150. package/dist/utils/build-settings.d.ts +49 -0
  151. package/dist/utils/build-settings.js +366 -0
  152. package/dist/utils/claim-token.d.ts +1 -0
  153. package/dist/utils/claim-token.js +9 -0
  154. package/dist/utils/collections.d.ts +1 -0
  155. package/dist/utils/collections.js +5 -0
  156. package/dist/utils/concurrency.d.ts +1 -0
  157. package/dist/utils/concurrency.js +18 -0
  158. package/dist/utils/content-type.d.ts +10 -0
  159. package/dist/utils/content-type.js +145 -0
  160. package/dist/utils/error-display.d.ts +7 -0
  161. package/dist/utils/error-display.js +42 -0
  162. package/dist/utils/error.d.ts +1 -0
  163. package/dist/utils/error.js +3 -0
  164. package/dist/utils/generate-space-name.d.ts +14 -0
  165. package/dist/utils/generate-space-name.js +95 -0
  166. package/dist/utils/git-repository.d.ts +5 -0
  167. package/dist/utils/git-repository.js +99 -0
  168. package/dist/utils/guards.d.ts +1 -0
  169. package/dist/utils/guards.js +3 -0
  170. package/dist/utils/publish-detection.d.ts +10 -0
  171. package/dist/utils/publish-detection.js +118 -0
  172. package/dist/utils/publish-policy.d.ts +69 -0
  173. package/dist/utils/publish-policy.js +429 -0
  174. package/dist/utils/query-client.d.ts +7 -0
  175. package/dist/utils/query-client.js +21 -0
  176. package/dist/utils/query-keys.d.ts +75 -0
  177. package/dist/utils/query-keys.js +78 -0
  178. package/dist/utils/runtime-paths.d.ts +7 -0
  179. package/dist/utils/runtime-paths.js +28 -0
  180. package/dist/utils/runtime-upload.d.ts +19 -0
  181. package/dist/utils/runtime-upload.js +27 -0
  182. package/dist/utils/slug.d.ts +5 -0
  183. package/dist/utils/slug.js +13 -0
  184. package/dist/utils/space-config.d.ts +75 -0
  185. package/dist/utils/space-config.js +415 -0
  186. package/dist/utils/space-theme.d.ts +16 -0
  187. package/dist/utils/space-theme.js +89 -0
  188. package/dist/utils/static-runtime-policy.d.ts +17 -0
  189. package/dist/utils/static-runtime-policy.js +103 -0
  190. package/dist/utils/upload-session.d.ts +34 -0
  191. package/dist/utils/upload-session.js +69 -0
  192. package/dist/utils/urls.d.ts +2 -0
  193. package/dist/utils/urls.js +7 -0
  194. package/dist/utils/version-path.d.ts +6 -0
  195. package/dist/utils/version-path.js +51 -0
  196. package/dist/utils/wpcom-auth-redirects.d.ts +14 -0
  197. package/dist/utils/wpcom-auth-redirects.js +49 -0
  198. package/dist/utils/zero-realtime-signature.d.ts +12 -0
  199. package/dist/utils/zero-realtime-signature.js +45 -0
  200. package/dist/vocabulary.d.ts +230 -0
  201. package/dist/vocabulary.js +218 -0
  202. package/package.json +58 -0
@@ -0,0 +1,309 @@
1
+ import { z } from "zod";
2
+ import { makeOffsetListSchema } from "./common.js";
3
+ import { buildStatus } from "./enums.js";
4
+ // Operator-only offset pagination. The platform API uses opaque cursors exclusively
5
+ // (contracts/common.ts); the superadmin surface is the one sanctioned exception.
6
+ export const superadminPaginationSchema = z.object({
7
+ count: z.number().int().nonnegative(),
8
+ next: z.number().int().nonnegative().nullable(),
9
+ prev: z.number().int().nonnegative().nullable(),
10
+ });
11
+ export const SuperadminAccessSchema = z.object({
12
+ allowed: z.boolean(),
13
+ userId: z.string().nullable(),
14
+ role: z.string().nullable(),
15
+ });
16
+ export const SuperadminUserProfileSchema = z.object({
17
+ tenantId: z.string(),
18
+ analyticsId: z.string(),
19
+ image: z.string().nullable(),
20
+ username: z.string().nullable(),
21
+ displayUsername: z.string().nullable(),
22
+ emailVerified: z.boolean(),
23
+ isAutomattician: z.boolean(),
24
+ wpcom: z.boolean(),
25
+ betaEnrolledAt: z.string().datetime().nullable(),
26
+ stripeCustomerId: z.string().nullable(),
27
+ twoFactorEnabled: z.boolean(),
28
+ theme: z.string(),
29
+ wpcomProfileJson: z.record(z.string(), z.unknown()).nullable(),
30
+ });
31
+ export const SuperadminUserTeamSchema = z.object({
32
+ membershipId: z.string(),
33
+ membershipRole: z.string(),
34
+ membershipCreatedAt: z.string().datetime(),
35
+ teamId: z.string(),
36
+ teamSlug: z.string(),
37
+ teamName: z.string(),
38
+ teamTenantId: z.string(),
39
+ teamCreatedAt: z.string().datetime(),
40
+ });
41
+ export const SuperadminUserSchema = z.object({
42
+ id: z.string(),
43
+ name: z.string(),
44
+ email: z.string().email(),
45
+ role: z.string().nullable(),
46
+ banned: z.boolean(),
47
+ banReason: z.string().nullable(),
48
+ banExpires: z.string().datetime().nullable(),
49
+ createdAt: z.string().datetime(),
50
+ updatedAt: z.string().datetime(),
51
+ profile: SuperadminUserProfileSchema,
52
+ teams: z.array(SuperadminUserTeamSchema),
53
+ });
54
+ export const superadminUserListQuerySchema = z.object({
55
+ limit: z.coerce.number().int().min(1).max(100).default(25),
56
+ offset: z.coerce.number().int().min(0).default(0),
57
+ search: z.string().trim().optional(),
58
+ });
59
+ export const SuperadminUserListSchema = makeOffsetListSchema("users", SuperadminUserSchema, superadminPaginationSchema);
60
+ export const superadminUserRoleUpdateSchema = z.object({
61
+ role: z.union([z.string().min(1), z.array(z.string().min(1)).min(1)]),
62
+ });
63
+ export const superadminUserBanSchema = z.object({
64
+ banReason: z.string().trim().optional(),
65
+ banExpiresInSeconds: z.number().int().positive().optional(),
66
+ });
67
+ export const superadminBuildInventoryQuerySchema = z.object({
68
+ status: z.union([z.literal("all"), buildStatus]).default("all"),
69
+ driver: z.enum(["all", "e2b", "local"]).default("all"),
70
+ repository: z.string().trim().optional(),
71
+ });
72
+ export const SuperadminBuildInventoryItemSchema = z.object({
73
+ id: z.string(),
74
+ ref: z.string(),
75
+ status: z.string(),
76
+ spaceId: z.string(),
77
+ spaceSlug: z.string().nullable(),
78
+ teamId: z.string().nullable(),
79
+ repository: z.string().nullable(),
80
+ branch: z.string().nullable(),
81
+ pullRequestNumber: z.number().int().positive().nullable(),
82
+ commitSha: z.string().nullable(),
83
+ driver: z.string().nullable(),
84
+ sandboxId: z.string().nullable(),
85
+ runnerJobId: z.string().nullable(),
86
+ region: z.string().nullable(),
87
+ executionMetadataKeys: z.array(z.string()),
88
+ e2bTemplateId: z.string().nullable(),
89
+ failureCode: z.string().nullable(),
90
+ failureMessage: z.string().nullable(),
91
+ durationMs: z.number().nullable(),
92
+ outputBytes: z.number().nullable(),
93
+ updatedAt: z.string().datetime(),
94
+ });
95
+ export const SuperadminWebhookDeliverySchema = z.object({
96
+ id: z.string(),
97
+ deliveryId: z.string(),
98
+ eventName: z.string(),
99
+ action: z.string().nullable(),
100
+ repositoryFullName: z.string().nullable(),
101
+ status: z.string(),
102
+ statusMessage: z.string().nullable(),
103
+ createdAt: z.string().datetime(),
104
+ updatedAt: z.string().datetime(),
105
+ });
106
+ export const SuperadminBuildInventorySchema = z.object({
107
+ builds: z.array(SuperadminBuildInventoryItemSchema),
108
+ webhookDeliveries: z.array(SuperadminWebhookDeliverySchema),
109
+ });
110
+ // Superadmin-assigned subscriptions ("plan grants"): operator-issued plan
111
+ // entitlements with no payment provider and no transactions behind them.
112
+ export const superadminPlanGrantCreateSchema = z.object({
113
+ team: z.string().trim().min(1).describe("Team id or slug."),
114
+ plan: z.enum(["personal", "work", "enterprise", "internal"]),
115
+ note: z.string().trim().max(500).optional(),
116
+ /** Omit for a non-expiring grant. */
117
+ expiresAt: z.string().datetime().optional(),
118
+ });
119
+ export const SuperadminPlanGrantSchema = z.object({
120
+ id: z.string(),
121
+ teamId: z.string(),
122
+ teamSlug: z.string().nullable(),
123
+ teamName: z.string().nullable(),
124
+ planCode: z.string(),
125
+ note: z.string().nullable(),
126
+ grantedBy: z.string(),
127
+ expiresAt: z.string().datetime().nullable(),
128
+ revokedAt: z.string().datetime().nullable(),
129
+ revokedBy: z.string().nullable(),
130
+ active: z.boolean(),
131
+ createdAt: z.string().datetime(),
132
+ });
133
+ export const superadminPlanGrantListQuerySchema = z.object({
134
+ limit: z.coerce.number().int().min(1).max(100).default(25),
135
+ offset: z.coerce.number().int().min(0).default(0),
136
+ team: z.string().trim().optional().describe("Filter by team id or slug."),
137
+ includeInactive: z.coerce.boolean().default(false),
138
+ });
139
+ export const SuperadminPlanGrantListSchema = makeOffsetListSchema("grants", SuperadminPlanGrantSchema, superadminPaginationSchema);
140
+ // Entitlement add-ons: extra seats / storage / domain groups on top of the
141
+ // plan. Operator-assigned ones carry no payment; Stripe-paid ones land in the
142
+ // same ledger via webhook sync.
143
+ export const superadminAddonCreateSchema = z.object({
144
+ team: z.string().trim().min(1).describe("Team id or slug."),
145
+ limit: z.enum(["teamMembers", "subTeams", "storageBytes", "externalDomainGroups"]),
146
+ amount: z.number().int().positive().describe("Additive amount (seats count, bytes, ...)."),
147
+ note: z.string().trim().max(500).optional(),
148
+ expiresAt: z.string().datetime().optional(),
149
+ });
150
+ export const SuperadminAddonSchema = z.object({
151
+ id: z.string(),
152
+ teamId: z.string(),
153
+ teamSlug: z.string().nullable(),
154
+ teamName: z.string().nullable(),
155
+ limitKey: z.string(),
156
+ amount: z.number(),
157
+ quantity: z.number().int(),
158
+ source: z.enum(["grant", "stripe"]),
159
+ reference: z.string().nullable(),
160
+ note: z.string().nullable(),
161
+ grantedBy: z.string().nullable(),
162
+ expiresAt: z.string().datetime().nullable(),
163
+ revokedAt: z.string().datetime().nullable(),
164
+ active: z.boolean(),
165
+ createdAt: z.string().datetime(),
166
+ });
167
+ export const superadminAddonListQuerySchema = z.object({
168
+ limit: z.coerce.number().int().min(1).max(100).default(25),
169
+ offset: z.coerce.number().int().min(0).default(0),
170
+ team: z.string().trim().optional(),
171
+ includeInactive: z.coerce.boolean().default(false),
172
+ });
173
+ export const SuperadminAddonListSchema = makeOffsetListSchema("addons", SuperadminAddonSchema, superadminPaginationSchema);
174
+ // Transaction ledger rows: actual paid amounts in micros of `currency`,
175
+ // negative for refunds, with provider discount identifiers verbatim.
176
+ export const SuperadminBillingTransactionSchema = z.object({
177
+ id: z.string(),
178
+ teamId: z.string().nullable(),
179
+ teamSlug: z.string().nullable(),
180
+ teamName: z.string().nullable(),
181
+ provider: z.enum(["stripe", "app_store", "google_play"]),
182
+ kind: z.enum(["purchase", "renewal", "refund", "adjustment"]),
183
+ scope: z.enum(["plan", "seats", "domain", "other"]),
184
+ planCode: z.string().nullable(),
185
+ productId: z.string().nullable(),
186
+ providerReference: z.string(),
187
+ amountMicros: z.number().nullable(),
188
+ currency: z.string().nullable(),
189
+ offerId: z.string().nullable(),
190
+ offerType: z.string().nullable(),
191
+ discountAmountMicros: z.number().nullable(),
192
+ occurredAt: z.string().datetime().nullable(),
193
+ createdAt: z.string().datetime(),
194
+ });
195
+ export const superadminBillingTransactionListQuerySchema = z.object({
196
+ limit: z.coerce.number().int().min(1).max(100).default(25),
197
+ offset: z.coerce.number().int().min(0).default(0),
198
+ team: z.string().trim().optional(),
199
+ });
200
+ export const SuperadminBillingTransactionListSchema = makeOffsetListSchema("transactions", SuperadminBillingTransactionSchema, superadminPaginationSchema);
201
+ export const SuperadminTeamBillingOverviewSchema = z.object({
202
+ team: z.object({
203
+ id: z.string(),
204
+ slug: z.string(),
205
+ name: z.string(),
206
+ }),
207
+ planCode: z.string(),
208
+ sources: z.array(z.object({
209
+ provider: z.enum(["stripe", "app_store", "google_play", "grant"]),
210
+ planCode: z.string(),
211
+ active: z.boolean(),
212
+ detail: z.string(),
213
+ expiresAt: z.string().datetime().nullable(),
214
+ })),
215
+ cacheNote: z.string(),
216
+ });
217
+ export const SuperadminWpCloudSiteSchema = z.object({
218
+ providerSiteId: z.string(),
219
+ placementId: z.string().nullable(),
220
+ placementKind: z.enum(["anonymous_pool", "shared_org", "dedicated_space"]).nullable(),
221
+ placementState: z.string().nullable().optional(),
222
+ placementStatus: z.string().nullable().optional(),
223
+ placementPrimaryHostname: z.string().nullable(),
224
+ placementDatacenterId: z.string().nullable().optional(),
225
+ placementRegion: z.string().nullable().optional(),
226
+ placementGeoAffinity: z.string().nullable(),
227
+ anonymousPoolId: z.string().nullable(),
228
+ anonymousPoolState: z.enum(["active", "draining", "disabled"]).nullable(),
229
+ anonymousPoolAssignedSpaceCount: z.number().int().nonnegative().nullable(),
230
+ assignedSpaceCount: z.number().int().nonnegative(),
231
+ assignedSpaces: z.array(z.object({
232
+ id: z.string(),
233
+ title: z.string(),
234
+ slug: z.string(),
235
+ status: z.string(),
236
+ teamId: z.string().nullable(),
237
+ teamSlug: z.string().nullable(),
238
+ teamName: z.string().nullable(),
239
+ liveHostname: z.string().nullable(),
240
+ })),
241
+ domainName: z.string().nullable(),
242
+ createdAt: z.string().nullable(),
243
+ spaceUsed: z.number().nullable(),
244
+ orphaned: z.boolean(),
245
+ routingStatus: z.enum([
246
+ "in_sync",
247
+ "assigned_missing_meta",
248
+ "assigned_out_of_sync",
249
+ "foreign_environment",
250
+ "orphaned_stale_meta",
251
+ "provider_orphaned",
252
+ ]),
253
+ needsAttention: z.boolean(),
254
+ issueCount: z.number().int().nonnegative(),
255
+ localTargetId: z.string().nullable(),
256
+ localTargetState: z.string().nullable(),
257
+ localPrimaryHostname: z.string().nullable(),
258
+ spaceId: z.string().nullable(),
259
+ spaceSlug: z.string().nullable(),
260
+ spaceTitle: z.string().nullable(),
261
+ spaceState: z.string().nullable(),
262
+ teamId: z.string().nullable(),
263
+ teamSlug: z.string().nullable(),
264
+ teamName: z.string().nullable(),
265
+ metaTargetId: z.string().nullable(),
266
+ metaSlug: z.string().nullable(),
267
+ metaTitle: z.string().nullable(),
268
+ metaPrimaryHostname: z.string().nullable(),
269
+ metaEnvironment: z.string().nullable(),
270
+ metaControlPlaneUrl: z.string().nullable(),
271
+ metaProviderClientName: z.string().nullable(),
272
+ });
273
+ export const SuperadminWpCloudSiteListSchema = z.object({
274
+ sites: z.array(SuperadminWpCloudSiteSchema),
275
+ pagination: superadminPaginationSchema,
276
+ });
277
+ export const SuperadminAnonymousPoolSchema = z.object({
278
+ id: z.string(),
279
+ providerSiteId: z.string(),
280
+ datacenterId: z.string(),
281
+ geoAffinity: z.string().nullable(),
282
+ state: z.enum(["active", "draining", "disabled"]),
283
+ assignedSpaceCount: z.number().int().nonnegative(),
284
+ createdAt: z.string(),
285
+ updatedAt: z.string(),
286
+ placementId: z.string().nullable(),
287
+ placementState: z.string().nullable(),
288
+ primaryHostname: z.string().nullable(),
289
+ providerDomainName: z.string().nullable(),
290
+ providerCreatedAt: z.string().nullable(),
291
+ providerSpaceUsed: z.number().nullable(),
292
+ providerPresent: z.boolean(),
293
+ });
294
+ export const SuperadminAnonymousPoolSummarySchema = z.object({
295
+ totalPools: z.number().int().nonnegative(),
296
+ activePools: z.number().int().nonnegative(),
297
+ drainingPools: z.number().int().nonnegative(),
298
+ disabledPools: z.number().int().nonnegative(),
299
+ missingPlacements: z.number().int().nonnegative(),
300
+ missingProviderSites: z.number().int().nonnegative(),
301
+ assignedSpaces: z.number().int().nonnegative(),
302
+ });
303
+ export const SuperadminAnonymousPoolListSchema = z.object({
304
+ pools: z.array(SuperadminAnonymousPoolSchema),
305
+ summary: SuperadminAnonymousPoolSummarySchema,
306
+ });
307
+ export const superadminWpCloudAssignSchema = z.object({
308
+ spaceId: z.string().min(1),
309
+ });