@spacefast/common 0.0.3 → 0.0.6
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 +133 -0
- package/dist/agents/connect-targets.js +224 -0
- package/dist/brand.d.ts +1 -0
- package/dist/brand.js +5 -0
- package/dist/config/domains.d.ts +12 -6
- package/dist/config/domains.js +30 -38
- package/dist/contracts/access.d.ts +829 -129
- package/dist/contracts/access.js +771 -148
- package/dist/contracts/activity.d.ts +5 -5
- package/dist/contracts/activity.js +28 -2
- package/dist/contracts/annotations.d.ts +3 -5
- package/dist/contracts/api-keys.d.ts +9 -10
- package/dist/contracts/api-keys.js +9 -6
- package/dist/contracts/archives.d.ts +22 -16
- package/dist/contracts/archives.js +11 -4
- package/dist/contracts/billing.d.ts +21 -30
- package/dist/contracts/builds.d.ts +21 -17
- package/dist/contracts/builds.js +12 -0
- package/dist/contracts/channels.d.ts +2 -2
- package/dist/contracts/common.d.ts +7 -5
- package/dist/contracts/common.js +4 -0
- package/dist/contracts/continuation.d.ts +63 -0
- package/dist/contracts/continuation.js +91 -0
- package/dist/contracts/countries.d.ts +2 -0
- package/dist/contracts/countries.js +261 -0
- package/dist/contracts/deployments.d.ts +34 -34
- package/dist/contracts/device-auth.d.ts +4 -11
- package/dist/contracts/device-auth.js +4 -0
- package/dist/contracts/docs.d.ts +119 -0
- package/dist/contracts/docs.js +51 -0
- package/dist/contracts/domains.d.ts +295 -253
- package/dist/contracts/domains.js +26 -4
- package/dist/contracts/enums.d.ts +17 -18
- package/dist/contracts/enums.js +25 -14
- package/dist/contracts/error-code-meta.d.ts +84 -0
- package/dist/contracts/error-code-meta.js +99 -10
- package/dist/contracts/error-codes.d.ts +1 -1
- package/dist/contracts/error-codes.js +17 -0
- package/dist/contracts/events.d.ts +13 -13
- package/dist/contracts/features.d.ts +93 -23
- package/dist/contracts/features.js +178 -13
- package/dist/contracts/git.d.ts +3 -9
- package/dist/contracts/ids.d.ts +5 -0
- package/dist/contracts/ids.js +5 -0
- package/dist/contracts/internal.d.ts +3 -3
- package/dist/contracts/mcp.d.ts +34 -36
- package/dist/contracts/me.d.ts +8 -8
- package/dist/contracts/me.js +1 -1
- package/dist/contracts/oauth-resources.d.ts +19 -8
- package/dist/contracts/oauth-resources.js +44 -13
- package/dist/contracts/operations.d.ts +2 -2
- package/dist/contracts/plan-policy.d.ts +4 -4
- package/dist/contracts/platform.d.ts +3 -105
- package/dist/contracts/platform.js +0 -50
- package/dist/contracts/push-new.d.ts +4 -4
- package/dist/contracts/quotas.d.ts +2 -0
- package/dist/contracts/quotas.js +8 -0
- package/dist/contracts/repository-connections.d.ts +1 -3
- package/dist/contracts/resources.d.ts +112 -28
- package/dist/contracts/resources.js +26 -2
- package/dist/contracts/routes.d.ts +0 -2
- package/dist/contracts/runtime-api.d.ts +365 -43
- package/dist/contracts/runtime-api.js +275 -6
- package/dist/contracts/sites.d.ts +45 -28
- package/dist/contracts/sites.js +21 -0
- package/dist/contracts/space-config.d.ts +201 -2
- package/dist/contracts/space-config.js +135 -5
- package/dist/contracts/spaces.d.ts +423 -162
- package/dist/contracts/spaces.js +94 -8
- package/dist/contracts/superadmin-emails.d.ts +7 -5
- package/dist/contracts/superadmin-emails.js +8 -0
- package/dist/contracts/superadmin-queues.d.ts +32 -32
- package/dist/contracts/superadmin-spaces.d.ts +418 -24
- package/dist/contracts/superadmin-spaces.js +24 -0
- package/dist/contracts/superadmin-tenants.d.ts +8 -8
- package/dist/contracts/superadmin.d.ts +17 -104
- package/dist/contracts/superadmin.js +6 -14
- package/dist/contracts/tags.d.ts +42 -41
- package/dist/contracts/tags.js +2 -1
- package/dist/contracts/teams.d.ts +40 -23
- package/dist/contracts/teams.js +20 -1
- package/dist/contracts/theme-json.d.ts +30 -0
- package/dist/contracts/theme-json.js +48 -0
- package/dist/contracts/transfers.d.ts +9 -9
- package/dist/contracts/variables.d.ts +14 -16
- package/dist/contracts/variables.js +0 -5
- package/dist/contracts/webhooks.d.ts +6 -4
- package/dist/contracts/webhooks.js +1 -1
- package/dist/contracts/zero.d.ts +13 -18
- package/dist/docs/agent-prose.d.ts +43 -3
- package/dist/docs/agent-prose.js +153 -10
- package/dist/docs/agent-setup.js +48 -15
- package/dist/docs/agent-solutions.d.ts +5 -5
- package/dist/docs/agent-solutions.js +2 -2
- package/dist/docs/catalog.d.ts +650 -0
- package/dist/docs/catalog.js +758 -0
- package/dist/docs/error-docs.d.ts +0 -2
- package/dist/docs/error-docs.js +89 -35
- package/dist/docs/index-build.d.ts +17 -0
- package/dist/docs/index-build.js +24 -0
- package/dist/docs/search.d.ts +54 -0
- package/dist/docs/search.js +96 -0
- package/dist/docs/skill-distribution.d.ts +5 -3
- package/dist/docs/skill-distribution.js +8 -8
- package/dist/utils/access-match.d.ts +39 -0
- package/dist/utils/access-match.js +296 -0
- package/dist/utils/auth-redirect.d.ts +3 -1
- package/dist/utils/auth-redirect.js +21 -1
- package/dist/utils/build-settings.d.ts +6 -0
- package/dist/utils/build-settings.js +429 -46
- package/dist/utils/claim-token.d.ts +8 -0
- package/dist/utils/claim-token.js +23 -2
- package/dist/utils/content-type.d.ts +1 -0
- package/dist/utils/content-type.js +1 -1
- package/dist/utils/credential-policy.d.ts +54 -0
- package/dist/utils/{access-policy.js → credential-policy.js} +28 -2
- package/dist/utils/gate-theme.d.ts +61 -0
- package/dist/utils/gate-theme.js +217 -0
- package/dist/utils/git-repository.d.ts +0 -1
- package/dist/utils/git-repository.js +0 -3
- package/dist/utils/id-hints.d.ts +8 -0
- package/dist/utils/id-hints.js +61 -0
- package/dist/utils/local-space-state.d.ts +91 -0
- package/dist/utils/local-space-state.js +251 -0
- package/dist/utils/oauth-signed-query.d.ts +8 -0
- package/dist/utils/oauth-signed-query.js +26 -0
- package/dist/utils/publish-detection.d.ts +0 -8
- package/dist/utils/publish-detection.js +0 -93
- package/dist/utils/publish-policy.d.ts +6 -5
- package/dist/utils/publish-policy.js +71 -7
- package/dist/utils/query-keys.d.ts +17 -6
- package/dist/utils/query-keys.js +27 -4
- package/dist/utils/runtime-paths.d.ts +0 -1
- package/dist/utils/runtime-paths.js +0 -1
- package/dist/utils/runtime-upload-batch.d.ts +18 -0
- package/dist/utils/runtime-upload-batch.js +90 -0
- package/dist/utils/runtime-upload.d.ts +2 -0
- package/dist/utils/runtime-upload.js +5 -0
- package/dist/utils/space-config.d.ts +4 -0
- package/dist/utils/space-config.js +10 -1
- package/dist/utils/space-theme.d.ts +2 -0
- package/dist/utils/space-theme.js +9 -0
- package/dist/utils/static-runtime-policy.d.ts +1 -1
- package/dist/utils/static-runtime-policy.js +47 -15
- package/dist/utils/upload-session.d.ts +1 -1
- package/dist/utils/wpcom-auth-redirects.d.ts +32 -2
- package/dist/utils/wpcom-auth-redirects.js +26 -10
- package/dist/vocabulary.d.ts +130 -30
- package/dist/vocabulary.js +77 -36
- package/package.json +16 -1
- package/dist/contracts/account.d.ts +0 -28
- package/dist/contracts/account.js +0 -54
- package/dist/contracts/intercom.d.ts +0 -6
- package/dist/contracts/intercom.js +0 -5
- package/dist/contracts/telemetry.d.ts +0 -2
- package/dist/contracts/telemetry.js +0 -1
- package/dist/utils/access-policy.d.ts +0 -39
- package/dist/utils/error-display.d.ts +0 -7
- package/dist/utils/error-display.js +0 -42
|
@@ -2,39 +2,47 @@ import { z } from "zod";
|
|
|
2
2
|
export declare const PLAN_CODES: readonly ["free", "personal", "work", "enterprise", "internal"];
|
|
3
3
|
export declare const planCodeSchema: z.ZodEnum<{
|
|
4
4
|
free: "free";
|
|
5
|
-
|
|
5
|
+
internal: "internal";
|
|
6
6
|
work: "work";
|
|
7
|
+
personal: "personal";
|
|
7
8
|
enterprise: "enterprise";
|
|
8
|
-
internal: "internal";
|
|
9
9
|
}>;
|
|
10
10
|
export type PlanCode = z.infer<typeof planCodeSchema>;
|
|
11
11
|
export declare const DEFAULT_PLAN_CODE: PlanCode;
|
|
12
|
-
export declare const FEATURE_KEYS: readonly ["plans.paid.available", "anonymous.publishing", "beta.enrollment_gate", "domains.search", "domains.registration", "domains.dns_management", "domains.proxy_bindings", "annotations.preview_loader", "annotations.comments", "annotations.anonymous_reviewers", "annotations.cli", "annotations.notices", "annotations.
|
|
12
|
+
export declare const FEATURE_KEYS: readonly ["plans.paid.available", "anonymous.publishing", "beta.enrollment_gate", "domains.search", "domains.registration", "domains.dns_management", "domains.wpcom_dns", "domains.domain_connect", "domains.proxy_bindings", "annotations.preview_loader", "annotations.comments", "annotations.anonymous_reviewers", "annotations.cli", "annotations.notices", "annotations.published_comments", "sites.dedicated_runtime", "shelf", "tags", "zero", "access.share_links", "access.invites", "access.firewall_card", "access.sso_connections", "access.byo_issuers", "access.views_panel", "pages.white_label"];
|
|
13
13
|
export declare const featureKeySchema: z.ZodEnum<{
|
|
14
|
+
zero: "zero";
|
|
14
15
|
"plans.paid.available": "plans.paid.available";
|
|
15
16
|
"anonymous.publishing": "anonymous.publishing";
|
|
16
17
|
"beta.enrollment_gate": "beta.enrollment_gate";
|
|
17
18
|
"domains.search": "domains.search";
|
|
18
19
|
"domains.registration": "domains.registration";
|
|
19
20
|
"domains.dns_management": "domains.dns_management";
|
|
21
|
+
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
22
|
+
"domains.domain_connect": "domains.domain_connect";
|
|
20
23
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
21
24
|
"annotations.preview_loader": "annotations.preview_loader";
|
|
22
25
|
"annotations.comments": "annotations.comments";
|
|
23
26
|
"annotations.anonymous_reviewers": "annotations.anonymous_reviewers";
|
|
24
27
|
"annotations.cli": "annotations.cli";
|
|
25
28
|
"annotations.notices": "annotations.notices";
|
|
26
|
-
"annotations.spacefast_token": "annotations.spacefast_token";
|
|
27
29
|
"annotations.published_comments": "annotations.published_comments";
|
|
28
30
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
29
31
|
shelf: "shelf";
|
|
30
32
|
tags: "tags";
|
|
31
|
-
|
|
33
|
+
"access.share_links": "access.share_links";
|
|
34
|
+
"access.invites": "access.invites";
|
|
35
|
+
"access.firewall_card": "access.firewall_card";
|
|
36
|
+
"access.sso_connections": "access.sso_connections";
|
|
37
|
+
"access.byo_issuers": "access.byo_issuers";
|
|
38
|
+
"access.views_panel": "access.views_panel";
|
|
39
|
+
"pages.white_label": "pages.white_label";
|
|
32
40
|
}>;
|
|
33
41
|
export type FeatureKey = z.infer<typeof featureKeySchema>;
|
|
34
42
|
export declare const FEATURE_OVERRIDE_STATES: readonly ["enabled", "disabled", "kill_switch"];
|
|
35
43
|
export declare const featureOverrideStateSchema: z.ZodEnum<{
|
|
36
|
-
enabled: "enabled";
|
|
37
44
|
disabled: "disabled";
|
|
45
|
+
enabled: "enabled";
|
|
38
46
|
kill_switch: "kill_switch";
|
|
39
47
|
}>;
|
|
40
48
|
export type FeatureOverrideState = z.infer<typeof featureOverrideStateSchema>;
|
|
@@ -56,15 +64,24 @@ export declare const planLimitsSchema: z.ZodObject<{
|
|
|
56
64
|
buildAccessLogRetentionHours: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
57
65
|
buildsDeploysMonthly: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
58
66
|
analyticsRetentionDays: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
67
|
+
cloudRulesPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
68
|
+
shareLinksPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
69
|
+
invitesPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
70
|
+
inviteEmailsPerSpaceDaily: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
71
|
+
inviteEmailsPerAccountDaily: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
72
|
+
pendingAccessRequestsPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
73
|
+
serviceTokensPerTeam: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
74
|
+
connectionsPerTeam: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
75
|
+
teamDefaultRules: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
59
76
|
}, z.core.$strip>;
|
|
60
77
|
export type PlanLimits = z.infer<typeof planLimitsSchema>;
|
|
61
78
|
export declare const teamEntitlementsSchema: z.ZodObject<{
|
|
62
79
|
planCode: z.ZodEnum<{
|
|
63
80
|
free: "free";
|
|
64
|
-
|
|
81
|
+
internal: "internal";
|
|
65
82
|
work: "work";
|
|
83
|
+
personal: "personal";
|
|
66
84
|
enterprise: "enterprise";
|
|
67
|
-
internal: "internal";
|
|
68
85
|
}>;
|
|
69
86
|
limits: z.ZodObject<{
|
|
70
87
|
storageBytes: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
@@ -82,9 +99,22 @@ export declare const teamEntitlementsSchema: z.ZodObject<{
|
|
|
82
99
|
buildAccessLogRetentionHours: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
83
100
|
buildsDeploysMonthly: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
84
101
|
analyticsRetentionDays: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
102
|
+
cloudRulesPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
103
|
+
shareLinksPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
104
|
+
invitesPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
105
|
+
inviteEmailsPerSpaceDaily: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
106
|
+
inviteEmailsPerAccountDaily: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
107
|
+
pendingAccessRequestsPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
108
|
+
serviceTokensPerTeam: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
109
|
+
connectionsPerTeam: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
110
|
+
teamDefaultRules: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
85
111
|
}, z.core.$strip>;
|
|
86
112
|
headersBasicAuth: z.ZodBoolean;
|
|
87
113
|
externalProxy: z.ZodBoolean;
|
|
114
|
+
dedicatedRuntime: z.ZodBoolean;
|
|
115
|
+
pagesWhiteLabel: z.ZodBoolean;
|
|
116
|
+
pagesCustomHtml: z.ZodBoolean;
|
|
117
|
+
pagesAdvancedTheming: z.ZodBoolean;
|
|
88
118
|
runtimePhpWorkers: z.ZodNumber;
|
|
89
119
|
analyticsHourlyGranularity: z.ZodBoolean;
|
|
90
120
|
versionDiagnosticsIncluded: z.ZodBoolean;
|
|
@@ -93,20 +123,24 @@ export type TeamEntitlements = z.infer<typeof teamEntitlementsSchema>;
|
|
|
93
123
|
export declare const teamEntitlementsResponseSchema: z.ZodObject<{
|
|
94
124
|
planCode: z.ZodEnum<{
|
|
95
125
|
free: "free";
|
|
96
|
-
|
|
126
|
+
internal: "internal";
|
|
97
127
|
work: "work";
|
|
128
|
+
personal: "personal";
|
|
98
129
|
enterprise: "enterprise";
|
|
99
|
-
internal: "internal";
|
|
100
130
|
}>;
|
|
101
131
|
headersBasicAuth: z.ZodBoolean;
|
|
102
132
|
externalProxy: z.ZodBoolean;
|
|
133
|
+
dedicatedRuntime: z.ZodBoolean;
|
|
134
|
+
pagesWhiteLabel: z.ZodBoolean;
|
|
135
|
+
pagesCustomHtml: z.ZodBoolean;
|
|
136
|
+
pagesAdvancedTheming: z.ZodBoolean;
|
|
103
137
|
runtimePhpWorkers: z.ZodNumber;
|
|
104
138
|
analyticsHourlyGranularity: z.ZodBoolean;
|
|
105
139
|
versionDiagnosticsIncluded: z.ZodBoolean;
|
|
106
140
|
limits: z.ZodObject<{
|
|
107
|
-
storageBytes: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
108
141
|
teamMembers: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
109
142
|
subTeams: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
143
|
+
storageBytes: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
110
144
|
externalDomainGroups: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
111
145
|
publicImmutableVersionWindowDays: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
112
146
|
maxFileBytes: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
@@ -116,9 +150,17 @@ export declare const teamEntitlementsResponseSchema: z.ZodObject<{
|
|
|
116
150
|
buildAccessLogRetentionHours: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
117
151
|
buildsDeploysMonthly: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
118
152
|
analyticsRetentionDays: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
153
|
+
cloudRulesPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
154
|
+
shareLinksPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
155
|
+
invitesPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
156
|
+
inviteEmailsPerSpaceDaily: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
157
|
+
inviteEmailsPerAccountDaily: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
158
|
+
pendingAccessRequestsPerSpace: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
159
|
+
serviceTokensPerTeam: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
160
|
+
connectionsPerTeam: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
161
|
+
teamDefaultRules: z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"unlimited">]>;
|
|
119
162
|
}, z.core.$strip>;
|
|
120
163
|
}, z.core.$strip>;
|
|
121
|
-
export type TeamEntitlementsResponse = z.infer<typeof teamEntitlementsResponseSchema>;
|
|
122
164
|
export type PlanDefinition = {
|
|
123
165
|
code: PlanCode;
|
|
124
166
|
name: string;
|
|
@@ -126,6 +168,10 @@ export type PlanDefinition = {
|
|
|
126
168
|
limits: PlanLimits;
|
|
127
169
|
headersBasicAuth: boolean;
|
|
128
170
|
externalProxy: boolean;
|
|
171
|
+
dedicatedRuntime: boolean;
|
|
172
|
+
pagesWhiteLabel: boolean;
|
|
173
|
+
pagesCustomHtml: boolean;
|
|
174
|
+
pagesAdvancedTheming: boolean;
|
|
129
175
|
runtimePhpWorkers: number;
|
|
130
176
|
analyticsHourlyGranularity: boolean;
|
|
131
177
|
};
|
|
@@ -142,93 +188,117 @@ export declare const PLAN_DEFINITIONS: Record<PlanCode, PlanDefinition>;
|
|
|
142
188
|
export declare const FEATURE_DEFINITIONS: Record<FeatureKey, FeatureDefinition>;
|
|
143
189
|
export declare const featureStateSourceSchema: z.ZodEnum<{
|
|
144
190
|
default: "default";
|
|
191
|
+
override: "override";
|
|
145
192
|
kill_switch: "kill_switch";
|
|
146
193
|
env: "env";
|
|
147
|
-
override: "override";
|
|
148
194
|
}>;
|
|
149
195
|
export declare const FeatureStateSchema: z.ZodObject<{
|
|
150
196
|
key: z.ZodEnum<{
|
|
197
|
+
zero: "zero";
|
|
151
198
|
"plans.paid.available": "plans.paid.available";
|
|
152
199
|
"anonymous.publishing": "anonymous.publishing";
|
|
153
200
|
"beta.enrollment_gate": "beta.enrollment_gate";
|
|
154
201
|
"domains.search": "domains.search";
|
|
155
202
|
"domains.registration": "domains.registration";
|
|
156
203
|
"domains.dns_management": "domains.dns_management";
|
|
204
|
+
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
205
|
+
"domains.domain_connect": "domains.domain_connect";
|
|
157
206
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
158
207
|
"annotations.preview_loader": "annotations.preview_loader";
|
|
159
208
|
"annotations.comments": "annotations.comments";
|
|
160
209
|
"annotations.anonymous_reviewers": "annotations.anonymous_reviewers";
|
|
161
210
|
"annotations.cli": "annotations.cli";
|
|
162
211
|
"annotations.notices": "annotations.notices";
|
|
163
|
-
"annotations.spacefast_token": "annotations.spacefast_token";
|
|
164
212
|
"annotations.published_comments": "annotations.published_comments";
|
|
165
213
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
166
214
|
shelf: "shelf";
|
|
167
215
|
tags: "tags";
|
|
168
|
-
|
|
216
|
+
"access.share_links": "access.share_links";
|
|
217
|
+
"access.invites": "access.invites";
|
|
218
|
+
"access.firewall_card": "access.firewall_card";
|
|
219
|
+
"access.sso_connections": "access.sso_connections";
|
|
220
|
+
"access.byo_issuers": "access.byo_issuers";
|
|
221
|
+
"access.views_panel": "access.views_panel";
|
|
222
|
+
"pages.white_label": "pages.white_label";
|
|
169
223
|
}>;
|
|
170
224
|
enabled: z.ZodBoolean;
|
|
171
225
|
source: z.ZodEnum<{
|
|
172
226
|
default: "default";
|
|
227
|
+
override: "override";
|
|
173
228
|
kill_switch: "kill_switch";
|
|
174
229
|
env: "env";
|
|
175
|
-
override: "override";
|
|
176
230
|
}>;
|
|
177
231
|
}, z.core.$strip>;
|
|
178
232
|
export declare const FeatureStateResponseSchema: z.ZodObject<{
|
|
179
233
|
planCode: z.ZodEnum<{
|
|
180
234
|
free: "free";
|
|
181
|
-
|
|
235
|
+
internal: "internal";
|
|
182
236
|
work: "work";
|
|
237
|
+
personal: "personal";
|
|
183
238
|
enterprise: "enterprise";
|
|
184
|
-
internal: "internal";
|
|
185
239
|
}>;
|
|
186
240
|
features: z.ZodRecord<z.ZodEnum<{
|
|
241
|
+
zero: "zero";
|
|
187
242
|
"plans.paid.available": "plans.paid.available";
|
|
188
243
|
"anonymous.publishing": "anonymous.publishing";
|
|
189
244
|
"beta.enrollment_gate": "beta.enrollment_gate";
|
|
190
245
|
"domains.search": "domains.search";
|
|
191
246
|
"domains.registration": "domains.registration";
|
|
192
247
|
"domains.dns_management": "domains.dns_management";
|
|
248
|
+
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
249
|
+
"domains.domain_connect": "domains.domain_connect";
|
|
193
250
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
194
251
|
"annotations.preview_loader": "annotations.preview_loader";
|
|
195
252
|
"annotations.comments": "annotations.comments";
|
|
196
253
|
"annotations.anonymous_reviewers": "annotations.anonymous_reviewers";
|
|
197
254
|
"annotations.cli": "annotations.cli";
|
|
198
255
|
"annotations.notices": "annotations.notices";
|
|
199
|
-
"annotations.spacefast_token": "annotations.spacefast_token";
|
|
200
256
|
"annotations.published_comments": "annotations.published_comments";
|
|
201
257
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
202
258
|
shelf: "shelf";
|
|
203
259
|
tags: "tags";
|
|
204
|
-
|
|
260
|
+
"access.share_links": "access.share_links";
|
|
261
|
+
"access.invites": "access.invites";
|
|
262
|
+
"access.firewall_card": "access.firewall_card";
|
|
263
|
+
"access.sso_connections": "access.sso_connections";
|
|
264
|
+
"access.byo_issuers": "access.byo_issuers";
|
|
265
|
+
"access.views_panel": "access.views_panel";
|
|
266
|
+
"pages.white_label": "pages.white_label";
|
|
205
267
|
}>, z.ZodObject<{
|
|
206
268
|
key: z.ZodEnum<{
|
|
269
|
+
zero: "zero";
|
|
207
270
|
"plans.paid.available": "plans.paid.available";
|
|
208
271
|
"anonymous.publishing": "anonymous.publishing";
|
|
209
272
|
"beta.enrollment_gate": "beta.enrollment_gate";
|
|
210
273
|
"domains.search": "domains.search";
|
|
211
274
|
"domains.registration": "domains.registration";
|
|
212
275
|
"domains.dns_management": "domains.dns_management";
|
|
276
|
+
"domains.wpcom_dns": "domains.wpcom_dns";
|
|
277
|
+
"domains.domain_connect": "domains.domain_connect";
|
|
213
278
|
"domains.proxy_bindings": "domains.proxy_bindings";
|
|
214
279
|
"annotations.preview_loader": "annotations.preview_loader";
|
|
215
280
|
"annotations.comments": "annotations.comments";
|
|
216
281
|
"annotations.anonymous_reviewers": "annotations.anonymous_reviewers";
|
|
217
282
|
"annotations.cli": "annotations.cli";
|
|
218
283
|
"annotations.notices": "annotations.notices";
|
|
219
|
-
"annotations.spacefast_token": "annotations.spacefast_token";
|
|
220
284
|
"annotations.published_comments": "annotations.published_comments";
|
|
221
285
|
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
222
286
|
shelf: "shelf";
|
|
223
287
|
tags: "tags";
|
|
224
|
-
|
|
288
|
+
"access.share_links": "access.share_links";
|
|
289
|
+
"access.invites": "access.invites";
|
|
290
|
+
"access.firewall_card": "access.firewall_card";
|
|
291
|
+
"access.sso_connections": "access.sso_connections";
|
|
292
|
+
"access.byo_issuers": "access.byo_issuers";
|
|
293
|
+
"access.views_panel": "access.views_panel";
|
|
294
|
+
"pages.white_label": "pages.white_label";
|
|
225
295
|
}>;
|
|
226
296
|
enabled: z.ZodBoolean;
|
|
227
297
|
source: z.ZodEnum<{
|
|
228
298
|
default: "default";
|
|
299
|
+
override: "override";
|
|
229
300
|
kill_switch: "kill_switch";
|
|
230
301
|
env: "env";
|
|
231
|
-
override: "override";
|
|
232
302
|
}>;
|
|
233
303
|
}, z.core.$strip>>;
|
|
234
304
|
}, z.core.$strip>;
|
|
@@ -11,18 +11,31 @@ export const FEATURE_KEYS = [
|
|
|
11
11
|
"domains.search",
|
|
12
12
|
"domains.registration",
|
|
13
13
|
"domains.dns_management",
|
|
14
|
+
"domains.wpcom_dns",
|
|
15
|
+
"domains.domain_connect",
|
|
14
16
|
"domains.proxy_bindings",
|
|
15
17
|
"annotations.preview_loader",
|
|
16
18
|
"annotations.comments",
|
|
17
19
|
"annotations.anonymous_reviewers",
|
|
18
20
|
"annotations.cli",
|
|
19
21
|
"annotations.notices",
|
|
20
|
-
"annotations.spacefast_token",
|
|
21
22
|
"annotations.published_comments",
|
|
22
23
|
"sites.dedicated_runtime",
|
|
23
24
|
"shelf",
|
|
24
25
|
"tags",
|
|
25
26
|
"zero",
|
|
27
|
+
// Access product phases (access-plan §7, X-42): every phase ships behind its
|
|
28
|
+
// own dot-namespaced key, born internal-only. The lifecycle registry
|
|
29
|
+
// (stage/docsSlug per internal-docs/feature-lifecycle-plan.html) is not
|
|
30
|
+
// implemented yet — these use the existing FeatureDefinition shape with
|
|
31
|
+
// internal-only defaults until it lands.
|
|
32
|
+
"access.share_links",
|
|
33
|
+
"access.invites",
|
|
34
|
+
"access.firewall_card",
|
|
35
|
+
"access.sso_connections",
|
|
36
|
+
"access.byo_issuers",
|
|
37
|
+
"access.views_panel",
|
|
38
|
+
"pages.white_label",
|
|
26
39
|
];
|
|
27
40
|
export const featureKeySchema = z.enum(FEATURE_KEYS).describe("Feature flag key.");
|
|
28
41
|
// Feature override states (env `SPACEFAST_FLAG_*` and the feature_overrides
|
|
@@ -66,6 +79,27 @@ export const planLimitsSchema = z
|
|
|
66
79
|
// Queryable analytics history window. Storage retains rollups for everyone
|
|
67
80
|
// (env-bounded); this only clamps how far back the analytics API serves.
|
|
68
81
|
analyticsRetentionDays: planLimitValueSchema,
|
|
82
|
+
// Access-surface abuse ceilings (access-plan §5.1, X-40): generous by
|
|
83
|
+
// default, enterprise unlimited — never upsell levers. Per-plan tightening
|
|
84
|
+
// (if ever) happens here, never as constants in route code.
|
|
85
|
+
// Cloud-lane rules per space (incl. TTL'd blocks; managed blocks excluded
|
|
86
|
+
// from the count).
|
|
87
|
+
cloudRulesPerSpace: planLimitValueSchema,
|
|
88
|
+
// Active (non-revoked, non-expired) share links per space.
|
|
89
|
+
shareLinksPerSpace: planLimitValueSchema,
|
|
90
|
+
// Active invites per space (§5.3 — enforced when invites land).
|
|
91
|
+
invitesPerSpace: planLimitValueSchema,
|
|
92
|
+
// Invite emails per space / per account, daily (§5.3 abuse posture).
|
|
93
|
+
inviteEmailsPerSpaceDaily: planLimitValueSchema,
|
|
94
|
+
inviteEmailsPerAccountDaily: planLimitValueSchema,
|
|
95
|
+
// Pending access requests per space (§5.4).
|
|
96
|
+
pendingAccessRequestsPerSpace: planLimitValueSchema,
|
|
97
|
+
// Service tokens per team (§5.5).
|
|
98
|
+
serviceTokensPerTeam: planLimitValueSchema,
|
|
99
|
+
// OIDC + external issuer connections per team (§6).
|
|
100
|
+
connectionsPerTeam: planLimitValueSchema,
|
|
101
|
+
// Team-default rules (X-24).
|
|
102
|
+
teamDefaultRules: planLimitValueSchema,
|
|
69
103
|
})
|
|
70
104
|
.describe("Named plan limit table.");
|
|
71
105
|
// Resolved team entitlements: plan limits after add-on grants plus the
|
|
@@ -79,6 +113,16 @@ export const teamEntitlementsSchema = z
|
|
|
79
113
|
.boolean()
|
|
80
114
|
.describe("Whether `_headers` Basic-Auth rules compile on this plan."),
|
|
81
115
|
externalProxy: z.boolean().describe("Whether external proxy upstreams compile on this plan."),
|
|
116
|
+
dedicatedRuntime: z.boolean().describe("Whether the team can use dedicated runtime sites."),
|
|
117
|
+
pagesWhiteLabel: z
|
|
118
|
+
.boolean()
|
|
119
|
+
.describe("Whether the pages.white_label tier compiles (Spacefast branding removed from gate pages)."),
|
|
120
|
+
pagesCustomHtml: z
|
|
121
|
+
.boolean()
|
|
122
|
+
.describe("Whether custom gate-page HTML compiles (401.html/403.html slot overrides and .spacefast/templates/layout.html chrome, access-plan §8/§9 paid tier 1)."),
|
|
123
|
+
pagesAdvancedTheming: z
|
|
124
|
+
.boolean()
|
|
125
|
+
.describe("Whether the sf.theme.jsonc escape-hatch theme tier compiles (access-plan §8/§9 paid tier 1); theme.json and pages.theme basics stay free."),
|
|
82
126
|
runtimePhpWorkers: z.number().int().describe("PHP workers per serving site."),
|
|
83
127
|
analyticsHourlyGranularity: z
|
|
84
128
|
.boolean()
|
|
@@ -120,6 +164,29 @@ const UNLIMITED_LIMITS = {
|
|
|
120
164
|
buildAccessLogRetentionHours: "unlimited",
|
|
121
165
|
buildsDeploysMonthly: "unlimited",
|
|
122
166
|
analyticsRetentionDays: "unlimited",
|
|
167
|
+
cloudRulesPerSpace: "unlimited",
|
|
168
|
+
shareLinksPerSpace: "unlimited",
|
|
169
|
+
invitesPerSpace: "unlimited",
|
|
170
|
+
inviteEmailsPerSpaceDaily: "unlimited",
|
|
171
|
+
inviteEmailsPerAccountDaily: "unlimited",
|
|
172
|
+
pendingAccessRequestsPerSpace: "unlimited",
|
|
173
|
+
serviceTokensPerTeam: "unlimited",
|
|
174
|
+
connectionsPerTeam: "unlimited",
|
|
175
|
+
teamDefaultRules: "unlimited",
|
|
176
|
+
};
|
|
177
|
+
// The §5.1 access abuse-ceiling table (X-40): applied verbatim to every
|
|
178
|
+
// self-serve plan; enterprise/internal stay unlimited. These sit far above
|
|
179
|
+
// honest use — they are abuse ceilings, not upsell levers.
|
|
180
|
+
const ACCESS_QUOTA_DEFAULTS = {
|
|
181
|
+
cloudRulesPerSpace: 200,
|
|
182
|
+
shareLinksPerSpace: 100,
|
|
183
|
+
invitesPerSpace: 500,
|
|
184
|
+
inviteEmailsPerSpaceDaily: 200,
|
|
185
|
+
inviteEmailsPerAccountDaily: 500,
|
|
186
|
+
pendingAccessRequestsPerSpace: 100,
|
|
187
|
+
serviceTokensPerTeam: 50,
|
|
188
|
+
connectionsPerTeam: 10,
|
|
189
|
+
teamDefaultRules: 50,
|
|
123
190
|
};
|
|
124
191
|
export const PLAN_DEFINITIONS = {
|
|
125
192
|
free: {
|
|
@@ -130,7 +197,7 @@ export const PLAN_DEFINITIONS = {
|
|
|
130
197
|
storageBytes: 5 * GB,
|
|
131
198
|
teamMembers: 3,
|
|
132
199
|
subTeams: 0,
|
|
133
|
-
externalDomainGroups:
|
|
200
|
+
externalDomainGroups: 3,
|
|
134
201
|
publicImmutableVersionWindowDays: 7,
|
|
135
202
|
versionRetentionDays: 30, // included full-retention window (charter A3)
|
|
136
203
|
versionGatedKeepDays: 183, // kept gated ~6 months from readyAt, then deleted
|
|
@@ -142,9 +209,14 @@ export const PLAN_DEFINITIONS = {
|
|
|
142
209
|
buildAccessLogRetentionHours: 48,
|
|
143
210
|
buildsDeploysMonthly: 100,
|
|
144
211
|
analyticsRetentionDays: 30,
|
|
212
|
+
...ACCESS_QUOTA_DEFAULTS,
|
|
145
213
|
},
|
|
146
214
|
headersBasicAuth: false,
|
|
147
215
|
externalProxy: false,
|
|
216
|
+
dedicatedRuntime: false,
|
|
217
|
+
pagesWhiteLabel: false,
|
|
218
|
+
pagesCustomHtml: false,
|
|
219
|
+
pagesAdvancedTheming: false,
|
|
148
220
|
runtimePhpWorkers: 2,
|
|
149
221
|
analyticsHourlyGranularity: false,
|
|
150
222
|
},
|
|
@@ -164,9 +236,14 @@ export const PLAN_DEFINITIONS = {
|
|
|
164
236
|
buildAccessLogRetentionHours: MONTH_HOURS,
|
|
165
237
|
buildsDeploysMonthly: 1000,
|
|
166
238
|
analyticsRetentionDays: 365,
|
|
239
|
+
...ACCESS_QUOTA_DEFAULTS,
|
|
167
240
|
},
|
|
168
241
|
headersBasicAuth: true,
|
|
169
242
|
externalProxy: true,
|
|
243
|
+
dedicatedRuntime: false,
|
|
244
|
+
pagesWhiteLabel: false,
|
|
245
|
+
pagesCustomHtml: true,
|
|
246
|
+
pagesAdvancedTheming: true,
|
|
170
247
|
runtimePhpWorkers: 4,
|
|
171
248
|
analyticsHourlyGranularity: true,
|
|
172
249
|
},
|
|
@@ -182,9 +259,14 @@ export const PLAN_DEFINITIONS = {
|
|
|
182
259
|
// "unlimited" limits, so this must stay numeric.
|
|
183
260
|
teamMembers: 15,
|
|
184
261
|
subTeams: 0,
|
|
262
|
+
...ACCESS_QUOTA_DEFAULTS,
|
|
185
263
|
},
|
|
186
264
|
headersBasicAuth: true,
|
|
187
265
|
externalProxy: true,
|
|
266
|
+
dedicatedRuntime: false,
|
|
267
|
+
pagesWhiteLabel: true,
|
|
268
|
+
pagesCustomHtml: true,
|
|
269
|
+
pagesAdvancedTheming: true,
|
|
188
270
|
runtimePhpWorkers: 4,
|
|
189
271
|
analyticsHourlyGranularity: true,
|
|
190
272
|
},
|
|
@@ -196,6 +278,10 @@ export const PLAN_DEFINITIONS = {
|
|
|
196
278
|
limits: { ...UNLIMITED_LIMITS },
|
|
197
279
|
headersBasicAuth: true,
|
|
198
280
|
externalProxy: true,
|
|
281
|
+
dedicatedRuntime: true,
|
|
282
|
+
pagesWhiteLabel: true,
|
|
283
|
+
pagesCustomHtml: true,
|
|
284
|
+
pagesAdvancedTheming: true,
|
|
199
285
|
runtimePhpWorkers: 4,
|
|
200
286
|
analyticsHourlyGranularity: true,
|
|
201
287
|
},
|
|
@@ -206,6 +292,10 @@ export const PLAN_DEFINITIONS = {
|
|
|
206
292
|
limits: { ...UNLIMITED_LIMITS },
|
|
207
293
|
headersBasicAuth: true,
|
|
208
294
|
externalProxy: true,
|
|
295
|
+
dedicatedRuntime: true,
|
|
296
|
+
pagesWhiteLabel: true,
|
|
297
|
+
pagesCustomHtml: true,
|
|
298
|
+
pagesAdvancedTheming: true,
|
|
209
299
|
runtimePhpWorkers: 4,
|
|
210
300
|
analyticsHourlyGranularity: true,
|
|
211
301
|
},
|
|
@@ -264,6 +354,22 @@ export const FEATURE_DEFINITIONS = {
|
|
|
264
354
|
enabledForA8c: true,
|
|
265
355
|
planDefaults: {},
|
|
266
356
|
},
|
|
357
|
+
"domains.wpcom_dns": {
|
|
358
|
+
key: "domains.wpcom_dns",
|
|
359
|
+
name: "WordPress.com DNS automation",
|
|
360
|
+
description: "Manage a domain's DNS through the owner's WordPress.com account.",
|
|
361
|
+
defaultEnabled: false,
|
|
362
|
+
enabledForA8c: true,
|
|
363
|
+
planDefaults: {},
|
|
364
|
+
},
|
|
365
|
+
"domains.domain_connect": {
|
|
366
|
+
key: "domains.domain_connect",
|
|
367
|
+
name: "Domain Connect",
|
|
368
|
+
description: "One-click DNS setup at providers that implement Domain Connect.",
|
|
369
|
+
defaultEnabled: false,
|
|
370
|
+
enabledForA8c: true,
|
|
371
|
+
planDefaults: {},
|
|
372
|
+
},
|
|
267
373
|
"domains.proxy_bindings": {
|
|
268
374
|
key: "domains.proxy_bindings",
|
|
269
375
|
name: "Domain proxy bindings",
|
|
@@ -317,23 +423,14 @@ export const FEATURE_DEFINITIONS = {
|
|
|
317
423
|
enabledForA8c: true,
|
|
318
424
|
planDefaults: {},
|
|
319
425
|
},
|
|
320
|
-
"annotations.spacefast_token": {
|
|
321
|
-
key: "annotations.spacefast_token",
|
|
322
|
-
name: "Spacefast-native annotation tokens",
|
|
323
|
-
description: "Mints collaboration tokens as Spacefast EdDSA access tokens (dedicated Cast kid) instead of the legacy HS256 path; the Spacefast-native auth cutover.",
|
|
324
|
-
defaultEnabled: false,
|
|
325
|
-
enabledInDevelopment: true,
|
|
326
|
-
enabledForA8c: true,
|
|
327
|
-
planDefaults: {},
|
|
328
|
-
},
|
|
329
426
|
"annotations.published_comments": {
|
|
330
427
|
key: "annotations.published_comments",
|
|
331
428
|
name: "Published host annotation comments",
|
|
332
429
|
description: "Allows the annotation overlay to mount comments on a space's live/published host, not just immutable preview URLs.",
|
|
333
430
|
defaultEnabled: false,
|
|
334
431
|
// ON in local dev so the Spacefast-native published path is exercised end-to-end
|
|
335
|
-
// alongside annotations.comments
|
|
336
|
-
//
|
|
432
|
+
// alongside annotations.comments (which already defaults on in dev).
|
|
433
|
+
// Production stays gated behind the per-space toggle.
|
|
337
434
|
enabledInDevelopment: true,
|
|
338
435
|
enabledForA8c: true,
|
|
339
436
|
planDefaults: {},
|
|
@@ -373,6 +470,74 @@ export const FEATURE_DEFINITIONS = {
|
|
|
373
470
|
enabledForA8c: true,
|
|
374
471
|
planDefaults: {},
|
|
375
472
|
},
|
|
473
|
+
// Access product phases (access-plan §7, X-42). Shipped surfaces default on;
|
|
474
|
+
// later-stage identity-provider pieces stay override-gated until they are
|
|
475
|
+
// ready for the main product path. When the lifecycle registry (stage +
|
|
476
|
+
// docsSlug, internal-docs/feature-lifecycle-plan.html) lands, these migrate
|
|
477
|
+
// onto it.
|
|
478
|
+
"access.share_links": {
|
|
479
|
+
key: "access.share_links",
|
|
480
|
+
name: "Share links",
|
|
481
|
+
description: "Enables the Share modal's sharing projection, the general-access selector, and share-link create/copy/revoke (access-plan §5.1/§5.2).",
|
|
482
|
+
defaultEnabled: true,
|
|
483
|
+
enabledInDevelopment: true,
|
|
484
|
+
enabledForA8c: true,
|
|
485
|
+
planDefaults: {},
|
|
486
|
+
},
|
|
487
|
+
"access.invites": {
|
|
488
|
+
key: "access.invites",
|
|
489
|
+
name: "Space invites",
|
|
490
|
+
description: "Enables account-less viewer invites with magic-link accept and the request-access loop (access-plan §5.3/§5.4).",
|
|
491
|
+
defaultEnabled: false,
|
|
492
|
+
enabledInDevelopment: true,
|
|
493
|
+
enabledForA8c: true,
|
|
494
|
+
planDefaults: {},
|
|
495
|
+
},
|
|
496
|
+
"access.firewall_card": {
|
|
497
|
+
key: "access.firewall_card",
|
|
498
|
+
name: "Firewall card",
|
|
499
|
+
description: "Enables the managed firewall block card (country/IP/bot rules) in space access settings (access-plan §5.6).",
|
|
500
|
+
defaultEnabled: true,
|
|
501
|
+
enabledInDevelopment: true,
|
|
502
|
+
enabledForA8c: true,
|
|
503
|
+
planDefaults: {},
|
|
504
|
+
},
|
|
505
|
+
"access.sso_connections": {
|
|
506
|
+
key: "access.sso_connections",
|
|
507
|
+
name: "Company SSO connections",
|
|
508
|
+
description: "Enables team-level OIDC connections minted at the authorize endpoint (access-plan §6.2, X-18).",
|
|
509
|
+
defaultEnabled: false,
|
|
510
|
+
enabledInDevelopment: true,
|
|
511
|
+
enabledForA8c: true,
|
|
512
|
+
planDefaults: {},
|
|
513
|
+
},
|
|
514
|
+
"access.byo_issuers": {
|
|
515
|
+
key: "access.byo_issuers",
|
|
516
|
+
name: "Bring-your-own issuers",
|
|
517
|
+
description: "Enables owner-held external token issuers with ext:-namespace binding (access-plan §6.3, X-19).",
|
|
518
|
+
defaultEnabled: false,
|
|
519
|
+
enabledInDevelopment: true,
|
|
520
|
+
enabledForA8c: true,
|
|
521
|
+
planDefaults: {},
|
|
522
|
+
},
|
|
523
|
+
"access.views_panel": {
|
|
524
|
+
key: "access.views_panel",
|
|
525
|
+
name: "Views panel",
|
|
526
|
+
description: "Enables the identified who-viewed-what panel riding the analytics tiers (access-plan §5.6b, X-28).",
|
|
527
|
+
defaultEnabled: true,
|
|
528
|
+
enabledInDevelopment: true,
|
|
529
|
+
enabledForA8c: true,
|
|
530
|
+
planDefaults: {},
|
|
531
|
+
},
|
|
532
|
+
"pages.white_label": {
|
|
533
|
+
key: "pages.white_label",
|
|
534
|
+
name: "White-label platform pages",
|
|
535
|
+
description: "Removes Spacefast branding from the challenge/deny page tier between theme tokens and full custom pages (access-plan §5.7, X-16).",
|
|
536
|
+
defaultEnabled: false,
|
|
537
|
+
enabledInDevelopment: true,
|
|
538
|
+
enabledForA8c: true,
|
|
539
|
+
planDefaults: {},
|
|
540
|
+
},
|
|
376
541
|
};
|
|
377
542
|
export const featureStateSourceSchema = z
|
|
378
543
|
.enum(["kill_switch", "env", "override", "default"])
|
package/dist/contracts/git.d.ts
CHANGED
|
@@ -6,15 +6,15 @@ export declare const buildTarget: z.ZodEnum<{
|
|
|
6
6
|
preview: "preview";
|
|
7
7
|
}>;
|
|
8
8
|
export declare const buildTrigger: z.ZodEnum<{
|
|
9
|
-
retry: "retry";
|
|
10
9
|
push: "push";
|
|
11
|
-
pull_request: "pull_request";
|
|
12
10
|
manual: "manual";
|
|
11
|
+
pull_request: "pull_request";
|
|
12
|
+
retry: "retry";
|
|
13
13
|
}>;
|
|
14
14
|
export declare const buildEnvironmentScopeValues: readonly ["runtime", "build", "build:production", "build:preview"];
|
|
15
15
|
export declare const buildEnvironmentScope: z.ZodEnum<{
|
|
16
|
-
runtime: "runtime";
|
|
17
16
|
build: "build";
|
|
17
|
+
runtime: "runtime";
|
|
18
18
|
"build:production": "build:production";
|
|
19
19
|
"build:preview": "build:preview";
|
|
20
20
|
}>;
|
|
@@ -279,10 +279,4 @@ export declare const githubRepositorySchema: z.ZodObject<{
|
|
|
279
279
|
private: z.ZodBoolean;
|
|
280
280
|
}, z.core.$strip>;
|
|
281
281
|
export type BuildTarget = z.infer<typeof buildTarget>;
|
|
282
|
-
export type BuildTrigger = z.infer<typeof buildTrigger>;
|
|
283
|
-
export type BuildEnvironmentScope = z.infer<typeof buildEnvironmentScope>;
|
|
284
282
|
export type GitBuildSettings = z.infer<typeof gitBuildSettingsSchema>;
|
|
285
|
-
export type GitConnection = z.infer<typeof gitConnectionSchema>;
|
|
286
|
-
export type GitConnectionCreate = z.infer<typeof gitConnectionCreateSchema>;
|
|
287
|
-
export type GitConnectionPatch = z.infer<typeof gitConnectionPatchSchema>;
|
|
288
|
-
export type GitConnectionAnalyzeResponse = z.infer<typeof gitConnectionAnalyzeResponseSchema>;
|
package/dist/contracts/ids.d.ts
CHANGED
|
@@ -26,6 +26,11 @@ export declare const ID_PREFIXES: {
|
|
|
26
26
|
readonly tga: "TagRuntimeArtifact";
|
|
27
27
|
readonly tgp: "TagPreviewSession";
|
|
28
28
|
readonly bhk: "BuildHook";
|
|
29
|
+
readonly lnk: "ShareLink";
|
|
30
|
+
readonly sin: "SpaceInvite";
|
|
31
|
+
readonly arq: "AccessRequest";
|
|
32
|
+
readonly stk: "ServiceToken";
|
|
33
|
+
readonly acn: "AccessConnection";
|
|
29
34
|
};
|
|
30
35
|
export type IdPrefix = keyof typeof ID_PREFIXES;
|
|
31
36
|
/** Any registered public resource id, e.g. `spc_…` or `ver_…`. */
|
package/dist/contracts/ids.js
CHANGED
|
@@ -34,6 +34,11 @@ export const ID_PREFIXES = {
|
|
|
34
34
|
tgp: "TagPreviewSession",
|
|
35
35
|
// Reserved for the deferred build-hook surface; never minted yet.
|
|
36
36
|
bhk: "BuildHook",
|
|
37
|
+
lnk: "ShareLink",
|
|
38
|
+
sin: "SpaceInvite",
|
|
39
|
+
arq: "AccessRequest",
|
|
40
|
+
stk: "ServiceToken",
|
|
41
|
+
acn: "AccessConnection",
|
|
37
42
|
};
|
|
38
43
|
// The main Stattic tenant every self-serve team/user/resource lives under. A
|
|
39
44
|
// well-known CONSTANT, never configuration: grammatically a normal tenant id with
|