@spacefast/common 0.0.10 → 0.0.12
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.
- package/dist/agents/connect-targets.d.ts +4 -4
- package/dist/agents/connect-targets.js +3 -3
- package/dist/agents/private-key-oauth.d.ts +37 -0
- package/dist/agents/private-key-oauth.js +158 -0
- package/dist/config/domains.js +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +1 -0
- package/dist/config/postgres-budget.d.ts +126 -0
- package/dist/config/postgres-budget.js +135 -0
- package/dist/config/postgres-budget.json +50 -0
- package/dist/contracts/access.d.ts +42 -24
- package/dist/contracts/access.js +73 -34
- package/dist/contracts/activity.d.ts +1 -1
- package/dist/contracts/activity.js +5 -5
- package/dist/contracts/api-keys.d.ts +53 -45
- package/dist/contracts/api-keys.js +1 -0
- package/dist/contracts/archives.d.ts +8 -8
- package/dist/contracts/builds.d.ts +8 -8
- package/dist/contracts/builds.js +28 -48
- package/dist/contracts/channels.js +1 -2
- package/dist/contracts/comments.d.ts +55 -19
- package/dist/contracts/comments.js +56 -17
- package/dist/contracts/common.d.ts +4 -3
- package/dist/contracts/common.js +2 -0
- package/dist/contracts/deployments.d.ts +3 -3
- package/dist/contracts/device-auth.d.ts +14 -12
- package/dist/contracts/docs.d.ts +5 -5
- package/dist/contracts/domains.d.ts +261 -1330
- package/dist/contracts/domains.js +39 -301
- package/dist/contracts/email-preferences.d.ts +50 -0
- package/dist/contracts/email-preferences.js +44 -0
- package/dist/contracts/enums.d.ts +1 -1
- package/dist/contracts/error-code-meta.d.ts +84 -15
- package/dist/contracts/error-code-meta.js +28 -4
- package/dist/contracts/error-codes.d.ts +1 -1
- package/dist/contracts/error-codes.js +24 -6
- package/dist/contracts/events.d.ts +13 -13
- package/dist/contracts/feature-lifecycle.d.ts +644 -2
- package/dist/contracts/feature-lifecycle.js +685 -2
- package/dist/contracts/features.d.ts +236 -24
- package/dist/contracts/features.js +3 -272
- package/dist/contracts/ids.d.ts +1 -2
- package/dist/contracts/ids.js +1 -2
- package/dist/contracts/internal.d.ts +3 -3
- package/dist/contracts/mcp.d.ts +6 -6
- package/dist/contracts/me.js +1 -1
- package/dist/contracts/mounts.d.ts +142 -0
- package/dist/contracts/mounts.js +56 -0
- package/dist/contracts/oauth-resources.d.ts +5 -5
- package/dist/contracts/oauth-resources.js +1 -0
- package/dist/contracts/operations.d.ts +2 -2
- package/dist/contracts/pages.d.ts +2 -2
- package/dist/contracts/pages.js +8 -3
- package/dist/contracts/plan-policy.d.ts +1 -1
- package/dist/contracts/platform.d.ts +3 -3
- package/dist/contracts/resources.d.ts +12 -20
- package/dist/contracts/resources.js +13 -37
- package/dist/contracts/runtime-api.d.ts +330 -16
- package/dist/contracts/runtime-api.js +58 -14
- package/dist/contracts/sf-config-v1.js +1 -1
- package/dist/contracts/sites.d.ts +12 -12
- package/dist/contracts/sites.js +18 -11
- package/dist/contracts/space-config.d.ts +2 -3
- package/dist/contracts/space-config.js +3 -1
- package/dist/contracts/spaces.d.ts +143 -102
- package/dist/contracts/spaces.js +109 -43
- package/dist/contracts/superadmin-emails.d.ts +25 -1
- package/dist/contracts/superadmin-emails.js +10 -15
- package/dist/contracts/superadmin-runtime.d.ts +2 -2
- package/dist/contracts/superadmin-spaces.d.ts +6 -14
- package/dist/contracts/tags.d.ts +43 -13
- package/dist/contracts/tags.js +195 -11
- package/dist/contracts/transfers.d.ts +1 -1
- package/dist/contracts/variables.d.ts +4 -4
- package/dist/contracts/variables.js +4 -3
- package/dist/contracts/webhooks.d.ts +2 -2
- package/dist/contracts/zero.d.ts +329 -7
- package/dist/contracts/zero.js +121 -2
- package/dist/dashboard-paths/index.d.ts +1 -1
- package/dist/docs/agent-setup.d.ts +4 -2
- package/dist/docs/agent-setup.js +15 -7
- package/dist/docs/agent-solutions.js +1 -1
- package/dist/docs/catalog.d.ts +8 -10
- package/dist/docs/catalog.js +8 -10
- package/dist/docs/error-docs.js +86 -18
- package/dist/utils/access-grant.d.ts +14 -0
- package/dist/utils/access-grant.js +88 -0
- package/dist/utils/access-match.d.ts +7 -0
- package/dist/utils/access-match.fixtures.json +513 -0
- package/dist/utils/access-match.js +32 -16
- package/dist/utils/access-verdict.fixtures.json +421 -0
- package/dist/utils/credential-policy.d.ts +1 -1
- package/dist/utils/dns-instructions.d.ts +29 -0
- package/dist/utils/dns-instructions.js +78 -0
- package/dist/utils/domain-diagnostics.d.ts +29 -0
- package/dist/utils/domain-diagnostics.js +63 -0
- package/dist/utils/egress-policy.fixtures.json +51 -0
- package/dist/utils/id-hints.d.ts +1 -0
- package/dist/utils/id-hints.js +55 -13
- package/dist/utils/page-colors.d.ts +50 -0
- package/dist/utils/page-colors.js +167 -0
- package/dist/utils/page-fonts.d.ts +2 -0
- package/dist/utils/page-fonts.js +4 -0
- package/dist/utils/pages.d.ts +8 -1
- package/dist/utils/pages.js +123 -37
- package/dist/utils/production-runtime.d.ts +18 -0
- package/dist/utils/production-runtime.js +28 -0
- package/dist/utils/query-keys.d.ts +6 -7
- package/dist/utils/query-keys.js +11 -12
- package/dist/utils/sf-config-v1.fixtures.json +9 -0
- package/dist/utils/sf-config-v1.js +28 -19
- package/dist/utils/source-archive-policy.d.ts +2 -0
- package/dist/utils/source-archive-policy.js +2 -0
- package/dist/utils/static-runtime-policy.fixtures.json +57 -0
- package/dist/utils/static-runtime-policy.js +1 -1
- package/package.json +5 -4
- package/dist/contracts/annotations.d.ts +0 -327
- package/dist/contracts/annotations.js +0 -235
- package/dist/contracts/generated-feature-launch-entries.d.ts +0 -2
- package/dist/contracts/generated-feature-launch-entries.js +0 -518
- package/dist/contracts/publishes.d.ts +0 -135
- package/dist/contracts/publishes.js +0 -162
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { type RuntimeFeatureDefinition, type RuntimeFeatureKey } from "./feature-lifecycle.js";
|
|
2
3
|
export declare const PLAN_CODES: readonly ["free", "personal", "work", "enterprise", "internal"];
|
|
3
4
|
export declare const planCodeSchema: z.ZodEnum<{
|
|
4
5
|
free: "free";
|
|
@@ -9,7 +10,7 @@ export declare const planCodeSchema: z.ZodEnum<{
|
|
|
9
10
|
}>;
|
|
10
11
|
export type PlanCode = z.infer<typeof planCodeSchema>;
|
|
11
12
|
export declare const DEFAULT_PLAN_CODE: PlanCode;
|
|
12
|
-
export declare const FEATURE_KEYS: readonly
|
|
13
|
+
export declare const FEATURE_KEYS: readonly ("zero" | "plans.paid.available" | "anonymous.publishing" | "beta.enrollment_gate" | "domains.search" | "domains.registration" | "domains.dns_management" | "domains.wpcom_dns" | "domains.domain_connect" | "domains.proxy_bindings" | "collab.comments" | "collab.anonymous_commenters" | "collab.notices" | "collab.published_comments" | "collab.drawing" | "sites.dedicated_runtime" | "shelf" | "tags" | "access.invites" | "access.firewall_card" | "access.sso_connections" | "access.byo_issuers" | "access.views_panel")[];
|
|
13
14
|
export declare const featureKeySchema: z.ZodEnum<{
|
|
14
15
|
zero: "zero";
|
|
15
16
|
"plans.paid.available": "plans.paid.available";
|
|
@@ -21,24 +22,21 @@ export declare const featureKeySchema: z.ZodEnum<{
|
|
|
21
22
|
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
22
23
|
"domains.domain_connect": "domains.domain_connect";
|
|
23
24
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
24
|
-
"collab.preview_loader": "collab.preview_loader";
|
|
25
25
|
"collab.comments": "collab.comments";
|
|
26
26
|
"collab.anonymous_commenters": "collab.anonymous_commenters";
|
|
27
|
-
"collab.cli": "collab.cli";
|
|
28
27
|
"collab.notices": "collab.notices";
|
|
29
28
|
"collab.published_comments": "collab.published_comments";
|
|
30
29
|
"collab.drawing": "collab.drawing";
|
|
31
30
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
32
31
|
shelf: "shelf";
|
|
33
32
|
tags: "tags";
|
|
34
|
-
"access.share_links": "access.share_links";
|
|
35
33
|
"access.invites": "access.invites";
|
|
36
34
|
"access.firewall_card": "access.firewall_card";
|
|
37
35
|
"access.sso_connections": "access.sso_connections";
|
|
38
36
|
"access.byo_issuers": "access.byo_issuers";
|
|
39
37
|
"access.views_panel": "access.views_panel";
|
|
40
38
|
}>;
|
|
41
|
-
export type FeatureKey =
|
|
39
|
+
export type FeatureKey = RuntimeFeatureKey;
|
|
42
40
|
export declare const FEATURE_OVERRIDE_STATES: readonly ["enabled", "disabled", "kill_switch"];
|
|
43
41
|
export declare const featureOverrideStateSchema: z.ZodEnum<{
|
|
44
42
|
disabled: "disabled";
|
|
@@ -174,17 +172,240 @@ export type PlanDefinition = {
|
|
|
174
172
|
runtimePhpWorkers: number;
|
|
175
173
|
analyticsHourlyGranularity: boolean;
|
|
176
174
|
};
|
|
177
|
-
export type FeatureDefinition =
|
|
178
|
-
key: FeatureKey;
|
|
179
|
-
name: string;
|
|
180
|
-
description: string;
|
|
181
|
-
defaultEnabled: boolean;
|
|
182
|
-
enabledInDevelopment?: boolean;
|
|
183
|
-
enabledForA8c: boolean;
|
|
184
|
-
planDefaults: Partial<Record<PlanCode, boolean>>;
|
|
185
|
-
};
|
|
175
|
+
export type FeatureDefinition = RuntimeFeatureDefinition;
|
|
186
176
|
export declare const PLAN_DEFINITIONS: Record<PlanCode, PlanDefinition>;
|
|
187
|
-
export declare const FEATURE_DEFINITIONS:
|
|
177
|
+
export declare const FEATURE_DEFINITIONS: Readonly<{
|
|
178
|
+
readonly zero: {
|
|
179
|
+
readonly key: "zero";
|
|
180
|
+
readonly name: string;
|
|
181
|
+
readonly description: string;
|
|
182
|
+
readonly defaultEnabled: boolean;
|
|
183
|
+
} & {
|
|
184
|
+
readonly enabledInDevelopment?: boolean;
|
|
185
|
+
readonly enabledForA8c: boolean;
|
|
186
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
187
|
+
};
|
|
188
|
+
readonly "plans.paid.available": {
|
|
189
|
+
readonly key: "plans.paid.available";
|
|
190
|
+
readonly name: string;
|
|
191
|
+
readonly description: string;
|
|
192
|
+
readonly defaultEnabled: boolean;
|
|
193
|
+
} & {
|
|
194
|
+
readonly enabledInDevelopment?: boolean;
|
|
195
|
+
readonly enabledForA8c: boolean;
|
|
196
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
197
|
+
};
|
|
198
|
+
readonly "anonymous.publishing": {
|
|
199
|
+
readonly key: "anonymous.publishing";
|
|
200
|
+
readonly name: string;
|
|
201
|
+
readonly description: string;
|
|
202
|
+
readonly defaultEnabled: boolean;
|
|
203
|
+
} & {
|
|
204
|
+
readonly enabledInDevelopment?: boolean;
|
|
205
|
+
readonly enabledForA8c: boolean;
|
|
206
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
207
|
+
};
|
|
208
|
+
readonly "beta.enrollment_gate": {
|
|
209
|
+
readonly key: "beta.enrollment_gate";
|
|
210
|
+
readonly name: string;
|
|
211
|
+
readonly description: string;
|
|
212
|
+
readonly defaultEnabled: boolean;
|
|
213
|
+
} & {
|
|
214
|
+
readonly enabledInDevelopment?: boolean;
|
|
215
|
+
readonly enabledForA8c: boolean;
|
|
216
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
217
|
+
};
|
|
218
|
+
readonly "domains.search": {
|
|
219
|
+
readonly key: "domains.search";
|
|
220
|
+
readonly name: string;
|
|
221
|
+
readonly description: string;
|
|
222
|
+
readonly defaultEnabled: boolean;
|
|
223
|
+
} & {
|
|
224
|
+
readonly enabledInDevelopment?: boolean;
|
|
225
|
+
readonly enabledForA8c: boolean;
|
|
226
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
227
|
+
};
|
|
228
|
+
readonly "domains.registration": {
|
|
229
|
+
readonly key: "domains.registration";
|
|
230
|
+
readonly name: string;
|
|
231
|
+
readonly description: string;
|
|
232
|
+
readonly defaultEnabled: boolean;
|
|
233
|
+
} & {
|
|
234
|
+
readonly enabledInDevelopment?: boolean;
|
|
235
|
+
readonly enabledForA8c: boolean;
|
|
236
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
237
|
+
};
|
|
238
|
+
readonly "domains.dns_management": {
|
|
239
|
+
readonly key: "domains.dns_management";
|
|
240
|
+
readonly name: string;
|
|
241
|
+
readonly description: string;
|
|
242
|
+
readonly defaultEnabled: boolean;
|
|
243
|
+
} & {
|
|
244
|
+
readonly enabledInDevelopment?: boolean;
|
|
245
|
+
readonly enabledForA8c: boolean;
|
|
246
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
247
|
+
};
|
|
248
|
+
readonly "domains.wpcom_dns": {
|
|
249
|
+
readonly key: "domains.wpcom_dns";
|
|
250
|
+
readonly name: string;
|
|
251
|
+
readonly description: string;
|
|
252
|
+
readonly defaultEnabled: boolean;
|
|
253
|
+
} & {
|
|
254
|
+
readonly enabledInDevelopment?: boolean;
|
|
255
|
+
readonly enabledForA8c: boolean;
|
|
256
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
257
|
+
};
|
|
258
|
+
readonly "domains.domain_connect": {
|
|
259
|
+
readonly key: "domains.domain_connect";
|
|
260
|
+
readonly name: string;
|
|
261
|
+
readonly description: string;
|
|
262
|
+
readonly defaultEnabled: boolean;
|
|
263
|
+
} & {
|
|
264
|
+
readonly enabledInDevelopment?: boolean;
|
|
265
|
+
readonly enabledForA8c: boolean;
|
|
266
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
267
|
+
};
|
|
268
|
+
readonly "domains.proxy_bindings": {
|
|
269
|
+
readonly key: "domains.proxy_bindings";
|
|
270
|
+
readonly name: string;
|
|
271
|
+
readonly description: string;
|
|
272
|
+
readonly defaultEnabled: boolean;
|
|
273
|
+
} & {
|
|
274
|
+
readonly enabledInDevelopment?: boolean;
|
|
275
|
+
readonly enabledForA8c: boolean;
|
|
276
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
277
|
+
};
|
|
278
|
+
readonly "collab.comments": {
|
|
279
|
+
readonly key: "collab.comments";
|
|
280
|
+
readonly name: string;
|
|
281
|
+
readonly description: string;
|
|
282
|
+
readonly defaultEnabled: boolean;
|
|
283
|
+
} & {
|
|
284
|
+
readonly enabledInDevelopment?: boolean;
|
|
285
|
+
readonly enabledForA8c: boolean;
|
|
286
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
287
|
+
};
|
|
288
|
+
readonly "collab.anonymous_commenters": {
|
|
289
|
+
readonly key: "collab.anonymous_commenters";
|
|
290
|
+
readonly name: string;
|
|
291
|
+
readonly description: string;
|
|
292
|
+
readonly defaultEnabled: boolean;
|
|
293
|
+
} & {
|
|
294
|
+
readonly enabledInDevelopment?: boolean;
|
|
295
|
+
readonly enabledForA8c: boolean;
|
|
296
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
297
|
+
};
|
|
298
|
+
readonly "collab.notices": {
|
|
299
|
+
readonly key: "collab.notices";
|
|
300
|
+
readonly name: string;
|
|
301
|
+
readonly description: string;
|
|
302
|
+
readonly defaultEnabled: boolean;
|
|
303
|
+
} & {
|
|
304
|
+
readonly enabledInDevelopment?: boolean;
|
|
305
|
+
readonly enabledForA8c: boolean;
|
|
306
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
307
|
+
};
|
|
308
|
+
readonly "collab.published_comments": {
|
|
309
|
+
readonly key: "collab.published_comments";
|
|
310
|
+
readonly name: string;
|
|
311
|
+
readonly description: string;
|
|
312
|
+
readonly defaultEnabled: boolean;
|
|
313
|
+
} & {
|
|
314
|
+
readonly enabledInDevelopment?: boolean;
|
|
315
|
+
readonly enabledForA8c: boolean;
|
|
316
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
317
|
+
};
|
|
318
|
+
readonly "collab.drawing": {
|
|
319
|
+
readonly key: "collab.drawing";
|
|
320
|
+
readonly name: string;
|
|
321
|
+
readonly description: string;
|
|
322
|
+
readonly defaultEnabled: boolean;
|
|
323
|
+
} & {
|
|
324
|
+
readonly enabledInDevelopment?: boolean;
|
|
325
|
+
readonly enabledForA8c: boolean;
|
|
326
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
327
|
+
};
|
|
328
|
+
readonly "sites.dedicated_runtime": {
|
|
329
|
+
readonly key: "sites.dedicated_runtime";
|
|
330
|
+
readonly name: string;
|
|
331
|
+
readonly description: string;
|
|
332
|
+
readonly defaultEnabled: boolean;
|
|
333
|
+
} & {
|
|
334
|
+
readonly enabledInDevelopment?: boolean;
|
|
335
|
+
readonly enabledForA8c: boolean;
|
|
336
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
337
|
+
};
|
|
338
|
+
readonly shelf: {
|
|
339
|
+
readonly key: "shelf";
|
|
340
|
+
readonly name: string;
|
|
341
|
+
readonly description: string;
|
|
342
|
+
readonly defaultEnabled: boolean;
|
|
343
|
+
} & {
|
|
344
|
+
readonly enabledInDevelopment?: boolean;
|
|
345
|
+
readonly enabledForA8c: boolean;
|
|
346
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
347
|
+
};
|
|
348
|
+
readonly tags: {
|
|
349
|
+
readonly key: "tags";
|
|
350
|
+
readonly name: string;
|
|
351
|
+
readonly description: string;
|
|
352
|
+
readonly defaultEnabled: boolean;
|
|
353
|
+
} & {
|
|
354
|
+
readonly enabledInDevelopment?: boolean;
|
|
355
|
+
readonly enabledForA8c: boolean;
|
|
356
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
357
|
+
};
|
|
358
|
+
readonly "access.invites": {
|
|
359
|
+
readonly key: "access.invites";
|
|
360
|
+
readonly name: string;
|
|
361
|
+
readonly description: string;
|
|
362
|
+
readonly defaultEnabled: boolean;
|
|
363
|
+
} & {
|
|
364
|
+
readonly enabledInDevelopment?: boolean;
|
|
365
|
+
readonly enabledForA8c: boolean;
|
|
366
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
367
|
+
};
|
|
368
|
+
readonly "access.firewall_card": {
|
|
369
|
+
readonly key: "access.firewall_card";
|
|
370
|
+
readonly name: string;
|
|
371
|
+
readonly description: string;
|
|
372
|
+
readonly defaultEnabled: boolean;
|
|
373
|
+
} & {
|
|
374
|
+
readonly enabledInDevelopment?: boolean;
|
|
375
|
+
readonly enabledForA8c: boolean;
|
|
376
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
377
|
+
};
|
|
378
|
+
readonly "access.sso_connections": {
|
|
379
|
+
readonly key: "access.sso_connections";
|
|
380
|
+
readonly name: string;
|
|
381
|
+
readonly description: string;
|
|
382
|
+
readonly defaultEnabled: boolean;
|
|
383
|
+
} & {
|
|
384
|
+
readonly enabledInDevelopment?: boolean;
|
|
385
|
+
readonly enabledForA8c: boolean;
|
|
386
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
387
|
+
};
|
|
388
|
+
readonly "access.byo_issuers": {
|
|
389
|
+
readonly key: "access.byo_issuers";
|
|
390
|
+
readonly name: string;
|
|
391
|
+
readonly description: string;
|
|
392
|
+
readonly defaultEnabled: boolean;
|
|
393
|
+
} & {
|
|
394
|
+
readonly enabledInDevelopment?: boolean;
|
|
395
|
+
readonly enabledForA8c: boolean;
|
|
396
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
397
|
+
};
|
|
398
|
+
readonly "access.views_panel": {
|
|
399
|
+
readonly key: "access.views_panel";
|
|
400
|
+
readonly name: string;
|
|
401
|
+
readonly description: string;
|
|
402
|
+
readonly defaultEnabled: boolean;
|
|
403
|
+
} & {
|
|
404
|
+
readonly enabledInDevelopment?: boolean;
|
|
405
|
+
readonly enabledForA8c: boolean;
|
|
406
|
+
readonly planDefaults: Readonly<Partial<Record<PlanCode, boolean>>>;
|
|
407
|
+
};
|
|
408
|
+
}>;
|
|
188
409
|
export declare const featureStateSourceSchema: z.ZodEnum<{
|
|
189
410
|
default: "default";
|
|
190
411
|
override: "override";
|
|
@@ -203,17 +424,14 @@ export declare const FeatureStateSchema: z.ZodObject<{
|
|
|
203
424
|
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
204
425
|
"domains.domain_connect": "domains.domain_connect";
|
|
205
426
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
206
|
-
"collab.preview_loader": "collab.preview_loader";
|
|
207
427
|
"collab.comments": "collab.comments";
|
|
208
428
|
"collab.anonymous_commenters": "collab.anonymous_commenters";
|
|
209
|
-
"collab.cli": "collab.cli";
|
|
210
429
|
"collab.notices": "collab.notices";
|
|
211
430
|
"collab.published_comments": "collab.published_comments";
|
|
212
431
|
"collab.drawing": "collab.drawing";
|
|
213
432
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
214
433
|
shelf: "shelf";
|
|
215
434
|
tags: "tags";
|
|
216
|
-
"access.share_links": "access.share_links";
|
|
217
435
|
"access.invites": "access.invites";
|
|
218
436
|
"access.firewall_card": "access.firewall_card";
|
|
219
437
|
"access.sso_connections": "access.sso_connections";
|
|
@@ -247,17 +465,14 @@ export declare const FeatureStateResponseSchema: z.ZodObject<{
|
|
|
247
465
|
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
248
466
|
"domains.domain_connect": "domains.domain_connect";
|
|
249
467
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
250
|
-
"collab.preview_loader": "collab.preview_loader";
|
|
251
468
|
"collab.comments": "collab.comments";
|
|
252
469
|
"collab.anonymous_commenters": "collab.anonymous_commenters";
|
|
253
|
-
"collab.cli": "collab.cli";
|
|
254
470
|
"collab.notices": "collab.notices";
|
|
255
471
|
"collab.published_comments": "collab.published_comments";
|
|
256
472
|
"collab.drawing": "collab.drawing";
|
|
257
473
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
258
474
|
shelf: "shelf";
|
|
259
475
|
tags: "tags";
|
|
260
|
-
"access.share_links": "access.share_links";
|
|
261
476
|
"access.invites": "access.invites";
|
|
262
477
|
"access.firewall_card": "access.firewall_card";
|
|
263
478
|
"access.sso_connections": "access.sso_connections";
|
|
@@ -275,17 +490,14 @@ export declare const FeatureStateResponseSchema: z.ZodObject<{
|
|
|
275
490
|
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
276
491
|
"domains.domain_connect": "domains.domain_connect";
|
|
277
492
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
278
|
-
"collab.preview_loader": "collab.preview_loader";
|
|
279
493
|
"collab.comments": "collab.comments";
|
|
280
494
|
"collab.anonymous_commenters": "collab.anonymous_commenters";
|
|
281
|
-
"collab.cli": "collab.cli";
|
|
282
495
|
"collab.notices": "collab.notices";
|
|
283
496
|
"collab.published_comments": "collab.published_comments";
|
|
284
497
|
"collab.drawing": "collab.drawing";
|
|
285
498
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
286
499
|
shelf: "shelf";
|
|
287
500
|
tags: "tags";
|
|
288
|
-
"access.share_links": "access.share_links";
|
|
289
501
|
"access.invites": "access.invites";
|
|
290
502
|
"access.firewall_card": "access.firewall_card";
|
|
291
503
|
"access.sso_connections": "access.sso_connections";
|
|
@@ -1,42 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { FEATURE_RUNTIME_DEFINITIONS, FEATURE_RUNTIME_KEYS, } from "./feature-lifecycle.js";
|
|
2
3
|
// Spec plan vocabulary (internal-docs/platform.md "Plans And Limits").
|
|
3
4
|
// `enterprise` and `internal` are named plans without self-serve pricing.
|
|
4
5
|
export const PLAN_CODES = ["free", "personal", "work", "enterprise", "internal"];
|
|
5
6
|
export const planCodeSchema = z.enum(PLAN_CODES).describe("Plan code.");
|
|
6
7
|
export const DEFAULT_PLAN_CODE = "free";
|
|
7
|
-
export const FEATURE_KEYS =
|
|
8
|
-
"plans.paid.available",
|
|
9
|
-
"anonymous.publishing",
|
|
10
|
-
"beta.enrollment_gate",
|
|
11
|
-
"domains.search",
|
|
12
|
-
"domains.registration",
|
|
13
|
-
"domains.dns_management",
|
|
14
|
-
"domains.wpcom_dns",
|
|
15
|
-
"domains.domain_connect",
|
|
16
|
-
"domains.proxy_bindings",
|
|
17
|
-
"collab.preview_loader",
|
|
18
|
-
"collab.comments",
|
|
19
|
-
"collab.anonymous_commenters",
|
|
20
|
-
"collab.cli",
|
|
21
|
-
"collab.notices",
|
|
22
|
-
"collab.published_comments",
|
|
23
|
-
"collab.drawing",
|
|
24
|
-
"sites.dedicated_runtime",
|
|
25
|
-
"shelf",
|
|
26
|
-
"tags",
|
|
27
|
-
"zero",
|
|
28
|
-
// Access product phases (access-plan §7, X-42): every phase ships behind its
|
|
29
|
-
// own dot-namespaced key, born internal-only. The lifecycle registry
|
|
30
|
-
// (stage/docsSlug per internal-docs/feature-lifecycle-plan.html) is not
|
|
31
|
-
// implemented yet — these use the existing FeatureDefinition shape with
|
|
32
|
-
// internal-only defaults until it lands.
|
|
33
|
-
"access.share_links",
|
|
34
|
-
"access.invites",
|
|
35
|
-
"access.firewall_card",
|
|
36
|
-
"access.sso_connections",
|
|
37
|
-
"access.byo_issuers",
|
|
38
|
-
"access.views_panel",
|
|
39
|
-
];
|
|
8
|
+
export const FEATURE_KEYS = FEATURE_RUNTIME_KEYS;
|
|
40
9
|
export const featureKeySchema = z.enum(FEATURE_KEYS).describe("Feature flag key.");
|
|
41
10
|
// Feature override states (env `SPACEFAST_FLAG_*` and the feature_overrides
|
|
42
11
|
// table). `kill_switch` short-circuits every other resolution layer.
|
|
@@ -292,245 +261,7 @@ export const PLAN_DEFINITIONS = {
|
|
|
292
261
|
analyticsHourlyGranularity: true,
|
|
293
262
|
},
|
|
294
263
|
};
|
|
295
|
-
export const FEATURE_DEFINITIONS =
|
|
296
|
-
"plans.paid.available": {
|
|
297
|
-
key: "plans.paid.available",
|
|
298
|
-
name: "Paid plans available",
|
|
299
|
-
description: "Controls whether paid plan upgrade and management surfaces are available.",
|
|
300
|
-
defaultEnabled: false,
|
|
301
|
-
enabledForA8c: true,
|
|
302
|
-
planDefaults: {},
|
|
303
|
-
},
|
|
304
|
-
"anonymous.publishing": {
|
|
305
|
-
key: "anonymous.publishing",
|
|
306
|
-
name: "Anonymous publishing",
|
|
307
|
-
description: "Allows unauthenticated space creation and publishing.",
|
|
308
|
-
defaultEnabled: true,
|
|
309
|
-
enabledForA8c: true,
|
|
310
|
-
planDefaults: {},
|
|
311
|
-
},
|
|
312
|
-
// Flipped in prod via env (`SPACEFAST_FLAG_BETA_ENROLLMENT_GATE`), so launch
|
|
313
|
-
// day is an env flip, not a deploy — exact precedent of anonymous.publishing.
|
|
314
|
-
"beta.enrollment_gate": {
|
|
315
|
-
key: "beta.enrollment_gate",
|
|
316
|
-
name: "Beta enrollment gate",
|
|
317
|
-
description: "Gates the whole API behind private-beta enrollment; non-enrolled credentials get 403 not_enrolled.",
|
|
318
|
-
defaultEnabled: false,
|
|
319
|
-
enabledForA8c: true,
|
|
320
|
-
planDefaults: {},
|
|
321
|
-
},
|
|
322
|
-
"domains.search": {
|
|
323
|
-
key: "domains.search",
|
|
324
|
-
name: "Domain search",
|
|
325
|
-
description: "Allows domain availability search and suggestion surfaces.",
|
|
326
|
-
defaultEnabled: false,
|
|
327
|
-
enabledInDevelopment: true,
|
|
328
|
-
enabledForA8c: true,
|
|
329
|
-
planDefaults: {},
|
|
330
|
-
},
|
|
331
|
-
"domains.registration": {
|
|
332
|
-
key: "domains.registration",
|
|
333
|
-
name: "Domain registration",
|
|
334
|
-
description: "Allows domain registration, purchase, and transfer-in surfaces.",
|
|
335
|
-
defaultEnabled: false,
|
|
336
|
-
enabledInDevelopment: true,
|
|
337
|
-
enabledForA8c: true,
|
|
338
|
-
planDefaults: {},
|
|
339
|
-
},
|
|
340
|
-
"domains.dns_management": {
|
|
341
|
-
key: "domains.dns_management",
|
|
342
|
-
name: "DNS management",
|
|
343
|
-
description: "Allows customer DNS zone, nameserver, and record-management surfaces.",
|
|
344
|
-
defaultEnabled: false,
|
|
345
|
-
enabledInDevelopment: true,
|
|
346
|
-
enabledForA8c: true,
|
|
347
|
-
planDefaults: {},
|
|
348
|
-
},
|
|
349
|
-
"domains.wpcom_dns": {
|
|
350
|
-
key: "domains.wpcom_dns",
|
|
351
|
-
name: "WordPress.com DNS automation",
|
|
352
|
-
description: "Manage a domain's DNS through the owner's WordPress.com account.",
|
|
353
|
-
defaultEnabled: false,
|
|
354
|
-
enabledForA8c: true,
|
|
355
|
-
planDefaults: {},
|
|
356
|
-
},
|
|
357
|
-
"domains.domain_connect": {
|
|
358
|
-
key: "domains.domain_connect",
|
|
359
|
-
name: "Domain Connect",
|
|
360
|
-
description: "One-click DNS setup at providers that implement Domain Connect.",
|
|
361
|
-
defaultEnabled: false,
|
|
362
|
-
enabledForA8c: true,
|
|
363
|
-
planDefaults: {},
|
|
364
|
-
},
|
|
365
|
-
"domains.proxy_bindings": {
|
|
366
|
-
key: "domains.proxy_bindings",
|
|
367
|
-
name: "Domain proxy bindings",
|
|
368
|
-
description: "Allow a team to proxy custom-domain traffic to an external HTTP upstream.",
|
|
369
|
-
defaultEnabled: false,
|
|
370
|
-
enabledForA8c: true,
|
|
371
|
-
planDefaults: {
|
|
372
|
-
internal: true,
|
|
373
|
-
},
|
|
374
|
-
},
|
|
375
|
-
"collab.preview_loader": {
|
|
376
|
-
key: "collab.preview_loader",
|
|
377
|
-
name: "Collab preview loader",
|
|
378
|
-
description: "Allows immutable version URLs to receive a no-secret preview overlay configuration.",
|
|
379
|
-
defaultEnabled: false,
|
|
380
|
-
enabledInDevelopment: true,
|
|
381
|
-
enabledForA8c: true,
|
|
382
|
-
planDefaults: {},
|
|
383
|
-
},
|
|
384
|
-
"collab.comments": {
|
|
385
|
-
key: "collab.comments",
|
|
386
|
-
name: "Comments",
|
|
387
|
-
description: "Enables Cast-backed comments on eligible immutable version URLs.",
|
|
388
|
-
defaultEnabled: false,
|
|
389
|
-
enabledInDevelopment: true,
|
|
390
|
-
enabledForA8c: true,
|
|
391
|
-
planDefaults: {},
|
|
392
|
-
},
|
|
393
|
-
"collab.anonymous_commenters": {
|
|
394
|
-
key: "collab.anonymous_commenters",
|
|
395
|
-
name: "Anonymous commenters",
|
|
396
|
-
description: "Allows anyone with the link to comment when space policy allows it.",
|
|
397
|
-
defaultEnabled: false,
|
|
398
|
-
enabledForA8c: true,
|
|
399
|
-
planDefaults: {},
|
|
400
|
-
},
|
|
401
|
-
"collab.cli": {
|
|
402
|
-
key: "collab.cli",
|
|
403
|
-
name: "Comments CLI access",
|
|
404
|
-
description: "Enables scriptable comment read, export, reply, and archive operations.",
|
|
405
|
-
defaultEnabled: false,
|
|
406
|
-
enabledInDevelopment: true,
|
|
407
|
-
enabledForA8c: true,
|
|
408
|
-
planDefaults: {},
|
|
409
|
-
},
|
|
410
|
-
"collab.notices": {
|
|
411
|
-
key: "collab.notices",
|
|
412
|
-
name: "Realtime notices",
|
|
413
|
-
description: "Reserved kill-switch for future realtime preview notices.",
|
|
414
|
-
defaultEnabled: false,
|
|
415
|
-
enabledForA8c: true,
|
|
416
|
-
planDefaults: {},
|
|
417
|
-
},
|
|
418
|
-
"collab.published_comments": {
|
|
419
|
-
key: "collab.published_comments",
|
|
420
|
-
name: "Published host comments",
|
|
421
|
-
description: "Allows the Collab overlay to mount comments on a space's live/published host, not just immutable preview URLs.",
|
|
422
|
-
defaultEnabled: false,
|
|
423
|
-
// ON in local dev so the Spacefast-native published path is exercised end-to-end
|
|
424
|
-
// alongside collab.comments (which already defaults on in dev).
|
|
425
|
-
// Production stays gated behind the per-space toggle.
|
|
426
|
-
enabledInDevelopment: true,
|
|
427
|
-
enabledForA8c: true,
|
|
428
|
-
planDefaults: {},
|
|
429
|
-
},
|
|
430
|
-
"collab.drawing": {
|
|
431
|
-
key: "collab.drawing",
|
|
432
|
-
name: "Collab drawing",
|
|
433
|
-
description: "Enables drawing feedback in the Collab overlay.",
|
|
434
|
-
defaultEnabled: true,
|
|
435
|
-
enabledInDevelopment: true,
|
|
436
|
-
enabledForA8c: true,
|
|
437
|
-
planDefaults: {},
|
|
438
|
-
},
|
|
439
|
-
"sites.dedicated_runtime": {
|
|
440
|
-
key: "sites.dedicated_runtime",
|
|
441
|
-
name: "Dedicated runtime sites",
|
|
442
|
-
description: "Allows teams to create dedicated WP.Cloud sites and place team spaces on them.",
|
|
443
|
-
defaultEnabled: false,
|
|
444
|
-
enabledInDevelopment: true,
|
|
445
|
-
enabledForA8c: true,
|
|
446
|
-
planDefaults: {},
|
|
447
|
-
},
|
|
448
|
-
shelf: {
|
|
449
|
-
key: "shelf",
|
|
450
|
-
name: "Shelf",
|
|
451
|
-
description: "Exposes the per-user artifact shelf: dashboard curation and public /shelf/{handle} pages.",
|
|
452
|
-
defaultEnabled: false,
|
|
453
|
-
enabledInDevelopment: true,
|
|
454
|
-
enabledForA8c: true,
|
|
455
|
-
planDefaults: {},
|
|
456
|
-
},
|
|
457
|
-
tags: {
|
|
458
|
-
key: "tags",
|
|
459
|
-
name: "Spacefast Tag Manager",
|
|
460
|
-
description: "Enables Spacefast Tag Manager command surfaces, SDK configuration, and governed tag workflows.",
|
|
461
|
-
defaultEnabled: false,
|
|
462
|
-
enabledInDevelopment: true,
|
|
463
|
-
enabledForA8c: true,
|
|
464
|
-
planDefaults: {},
|
|
465
|
-
},
|
|
466
|
-
zero: {
|
|
467
|
-
key: "zero",
|
|
468
|
-
name: "Spacefast Zero",
|
|
469
|
-
description: "Enables Spacefast Zero command surfaces and hosted Zero app workflows.",
|
|
470
|
-
defaultEnabled: false,
|
|
471
|
-
enabledForA8c: true,
|
|
472
|
-
planDefaults: {},
|
|
473
|
-
},
|
|
474
|
-
// Access product phases (access-plan §7, X-42). Shipped surfaces default on;
|
|
475
|
-
// later-stage identity-provider pieces stay override-gated until they are
|
|
476
|
-
// ready for the main product path. When the lifecycle registry (stage +
|
|
477
|
-
// docsSlug, internal-docs/feature-lifecycle-plan.html) lands, these migrate
|
|
478
|
-
// onto it.
|
|
479
|
-
"access.share_links": {
|
|
480
|
-
key: "access.share_links",
|
|
481
|
-
name: "Share links",
|
|
482
|
-
description: "Enables the Share modal's sharing projection, the general-access selector, and share-link create/copy/revoke (access-plan §5.1/§5.2).",
|
|
483
|
-
defaultEnabled: true,
|
|
484
|
-
enabledInDevelopment: true,
|
|
485
|
-
enabledForA8c: true,
|
|
486
|
-
planDefaults: {},
|
|
487
|
-
},
|
|
488
|
-
"access.invites": {
|
|
489
|
-
key: "access.invites",
|
|
490
|
-
name: "Space invites",
|
|
491
|
-
description: "Enables account-less viewer invites with magic-link accept and the request-access loop (access-plan §5.3/§5.4).",
|
|
492
|
-
defaultEnabled: false,
|
|
493
|
-
enabledInDevelopment: true,
|
|
494
|
-
enabledForA8c: true,
|
|
495
|
-
planDefaults: {},
|
|
496
|
-
},
|
|
497
|
-
"access.firewall_card": {
|
|
498
|
-
key: "access.firewall_card",
|
|
499
|
-
name: "Firewall card",
|
|
500
|
-
description: "Enables the managed firewall block card (country/IP/bot rules) in space access settings (access-plan §5.6).",
|
|
501
|
-
defaultEnabled: true,
|
|
502
|
-
enabledInDevelopment: true,
|
|
503
|
-
enabledForA8c: true,
|
|
504
|
-
planDefaults: {},
|
|
505
|
-
},
|
|
506
|
-
"access.sso_connections": {
|
|
507
|
-
key: "access.sso_connections",
|
|
508
|
-
name: "Company SSO connections",
|
|
509
|
-
description: "Enables team-level OIDC connections minted at the authorize endpoint (access-plan §6.2, X-18).",
|
|
510
|
-
defaultEnabled: false,
|
|
511
|
-
enabledInDevelopment: true,
|
|
512
|
-
enabledForA8c: true,
|
|
513
|
-
planDefaults: {},
|
|
514
|
-
},
|
|
515
|
-
"access.byo_issuers": {
|
|
516
|
-
key: "access.byo_issuers",
|
|
517
|
-
name: "Bring-your-own issuers",
|
|
518
|
-
description: "Enables owner-held external token issuers with ext:-namespace binding (access-plan §6.3, X-19).",
|
|
519
|
-
defaultEnabled: false,
|
|
520
|
-
enabledInDevelopment: true,
|
|
521
|
-
enabledForA8c: true,
|
|
522
|
-
planDefaults: {},
|
|
523
|
-
},
|
|
524
|
-
"access.views_panel": {
|
|
525
|
-
key: "access.views_panel",
|
|
526
|
-
name: "Views panel",
|
|
527
|
-
description: "Enables the identified who-viewed-what panel riding the analytics tiers (access-plan §5.6b, X-28).",
|
|
528
|
-
defaultEnabled: true,
|
|
529
|
-
enabledInDevelopment: true,
|
|
530
|
-
enabledForA8c: true,
|
|
531
|
-
planDefaults: {},
|
|
532
|
-
},
|
|
533
|
-
};
|
|
264
|
+
export const FEATURE_DEFINITIONS = FEATURE_RUNTIME_DEFINITIONS;
|
|
534
265
|
export const featureStateSourceSchema = z
|
|
535
266
|
.enum(["kill_switch", "env", "override", "default"])
|
|
536
267
|
.describe("Layer that decided the flag: kill_switch (emergency off), env (SPACEFAST_FLAG_* variable), " +
|
package/dist/contracts/ids.d.ts
CHANGED
|
@@ -7,8 +7,6 @@ export declare const ID_PREFIXES: {
|
|
|
7
7
|
readonly cmt: "CommentThread";
|
|
8
8
|
readonly bld: "Build";
|
|
9
9
|
readonly dom: "Domain";
|
|
10
|
-
readonly dbn: "DomainBinding";
|
|
11
|
-
readonly sda: "SiteDomainAssignment";
|
|
12
10
|
readonly key: "ApiKey";
|
|
13
11
|
readonly upl: "UploadSession";
|
|
14
12
|
readonly psh: "PushNewSession";
|
|
@@ -33,6 +31,7 @@ export declare const ID_PREFIXES: {
|
|
|
33
31
|
readonly arq: "AccessRequest";
|
|
34
32
|
readonly stk: "ServiceToken";
|
|
35
33
|
readonly acn: "AccessConnection";
|
|
34
|
+
readonly mnt: "StaticMount";
|
|
36
35
|
};
|
|
37
36
|
export type IdPrefix = keyof typeof ID_PREFIXES;
|
|
38
37
|
/** Any registered public resource id, e.g. `spc_…` or `ver_…`. */
|
package/dist/contracts/ids.js
CHANGED
|
@@ -14,8 +14,6 @@ export const ID_PREFIXES = {
|
|
|
14
14
|
cmt: "CommentThread",
|
|
15
15
|
bld: "Build",
|
|
16
16
|
dom: "Domain",
|
|
17
|
-
dbn: "DomainBinding",
|
|
18
|
-
sda: "SiteDomainAssignment",
|
|
19
17
|
key: "ApiKey",
|
|
20
18
|
upl: "UploadSession",
|
|
21
19
|
psh: "PushNewSession",
|
|
@@ -41,6 +39,7 @@ export const ID_PREFIXES = {
|
|
|
41
39
|
arq: "AccessRequest",
|
|
42
40
|
stk: "ServiceToken",
|
|
43
41
|
acn: "AccessConnection",
|
|
42
|
+
mnt: "StaticMount",
|
|
44
43
|
};
|
|
45
44
|
/** Validate an id belonging to one registered public resource family. */
|
|
46
45
|
export function registeredIdSchema(prefix) {
|