@spacefast/common 0.0.26 → 0.2.1

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 (302) hide show
  1. package/dist/agents/connect-targets.d.ts +6 -146
  2. package/dist/agents/connect-targets.js +63 -295
  3. package/dist/agents/private-key-oauth.d.ts +31 -1
  4. package/dist/agents/private-key-oauth.js +124 -33
  5. package/dist/agents/registry/core.d.ts +292 -0
  6. package/dist/agents/registry/core.js +1388 -0
  7. package/dist/agents/registry/deeplink-probes.d.ts +23 -0
  8. package/dist/agents/registry/deeplink-probes.js +18 -0
  9. package/dist/agents/registry/node.d.ts +56 -0
  10. package/dist/agents/registry/node.js +339 -0
  11. package/dist/brand-assets-build.js +1 -2
  12. package/dist/brand-assets.js +4 -7
  13. package/dist/brand.d.ts +17 -0
  14. package/dist/brand.js +24 -4
  15. package/dist/config/domains.d.ts +55 -28
  16. package/dist/config/domains.js +85 -41
  17. package/dist/config/index.js +1 -2
  18. package/dist/contracts/abuse.js +9 -24
  19. package/dist/contracts/access-profiles.d.ts +86 -0
  20. package/dist/contracts/access-profiles.js +89 -0
  21. package/dist/contracts/access.d.ts +21 -27
  22. package/dist/contracts/access.js +33 -64
  23. package/dist/contracts/activity.d.ts +18 -1
  24. package/dist/contracts/activity.js +70 -26
  25. package/dist/contracts/analytics.js +8 -10
  26. package/dist/contracts/api-keys.d.ts +77 -52
  27. package/dist/contracts/api-keys.js +44 -24
  28. package/dist/contracts/application-journal.d.ts +216 -0
  29. package/dist/contracts/application-journal.js +167 -0
  30. package/dist/contracts/auth.d.ts +90 -17
  31. package/dist/contracts/auth.js +86 -17
  32. package/dist/contracts/beta.d.ts +9 -4
  33. package/dist/contracts/beta.js +20 -16
  34. package/dist/contracts/billing.js +7 -11
  35. package/dist/contracts/bootstrap.d.ts +791 -0
  36. package/dist/contracts/bootstrap.js +51 -0
  37. package/dist/contracts/builds.d.ts +186 -7
  38. package/dist/contracts/builds.js +75 -21
  39. package/dist/contracts/channels.d.ts +43 -0
  40. package/dist/contracts/channels.js +25 -9
  41. package/dist/contracts/cli.d.ts +7 -0
  42. package/dist/contracts/cli.js +6 -0
  43. package/dist/contracts/collab-public.d.ts +1 -1
  44. package/dist/contracts/collab-public.js +5 -8
  45. package/dist/contracts/comments.d.ts +45 -35
  46. package/dist/contracts/comments.js +107 -77
  47. package/dist/contracts/commerce.d.ts +165 -0
  48. package/dist/contracts/commerce.js +146 -0
  49. package/dist/contracts/common.d.ts +3 -3
  50. package/dist/contracts/common.js +18 -29
  51. package/dist/contracts/content-contract-verification.d.ts +521 -0
  52. package/dist/contracts/content-contract-verification.js +320 -0
  53. package/dist/contracts/content-platform-fixture.d.ts +1278 -0
  54. package/dist/contracts/content-platform-fixture.js +44 -0
  55. package/dist/contracts/content-program.d.ts +994 -0
  56. package/dist/contracts/content-program.js +658 -0
  57. package/dist/contracts/content-sync.d.ts +290 -0
  58. package/dist/contracts/content-sync.js +167 -0
  59. package/dist/contracts/content.d.ts +432 -0
  60. package/dist/contracts/content.js +303 -0
  61. package/dist/contracts/continuation.d.ts +17 -1
  62. package/dist/contracts/continuation.js +23 -23
  63. package/dist/contracts/countries.js +3 -4
  64. package/dist/contracts/crons.d.ts +17 -0
  65. package/dist/contracts/crons.js +33 -15
  66. package/dist/contracts/dashboard-prefs.d.ts +56 -0
  67. package/dist/contracts/dashboard-prefs.js +51 -0
  68. package/dist/contracts/device-auth.d.ts +234 -37
  69. package/dist/contracts/device-auth.js +267 -53
  70. package/dist/contracts/docs.d.ts +6 -10
  71. package/dist/contracts/docs.js +5 -13
  72. package/dist/contracts/domains.d.ts +499 -102
  73. package/dist/contracts/domains.js +169 -58
  74. package/dist/contracts/email-preferences.d.ts +3 -3
  75. package/dist/contracts/email-preferences.js +6 -7
  76. package/dist/contracts/enums.d.ts +26 -26
  77. package/dist/contracts/enums.js +61 -54
  78. package/dist/contracts/error-code-meta.d.ts +269 -7
  79. package/dist/contracts/error-code-meta.js +80 -5
  80. package/dist/contracts/error-codes.d.ts +5 -5
  81. package/dist/contracts/error-codes.js +78 -16
  82. package/dist/contracts/events.d.ts +100 -20
  83. package/dist/contracts/events.js +107 -20
  84. package/dist/contracts/execution.d.ts +47 -66
  85. package/dist/contracts/execution.js +51 -64
  86. package/dist/contracts/feature-lifecycle.d.ts +70 -14
  87. package/dist/contracts/feature-lifecycle.js +86 -15
  88. package/dist/contracts/features.d.ts +100 -37
  89. package/dist/contracts/features.js +21 -27
  90. package/dist/contracts/fixtures/content-platform-v1.json +1108 -0
  91. package/dist/contracts/frame-session.d.ts +192 -0
  92. package/dist/contracts/frame-session.js +164 -0
  93. package/dist/contracts/functions.d.ts +218 -211
  94. package/dist/contracts/functions.js +273 -260
  95. package/dist/contracts/grant-copy.d.ts +43 -0
  96. package/dist/contracts/grant-copy.js +44 -0
  97. package/dist/contracts/grants.d.ts +64 -56
  98. package/dist/contracts/grants.js +124 -23
  99. package/dist/contracts/ids.d.ts +4 -1
  100. package/dist/contracts/ids.js +4 -1
  101. package/dist/contracts/internal.d.ts +5 -4
  102. package/dist/contracts/internal.js +12 -3
  103. package/dist/contracts/mcp.d.ts +17 -0
  104. package/dist/contracts/mcp.js +23 -0
  105. package/dist/contracts/me.d.ts +6 -1
  106. package/dist/contracts/me.js +12 -6
  107. package/dist/contracts/notifications.d.ts +27 -29
  108. package/dist/contracts/notifications.js +9 -4
  109. package/dist/contracts/oauth-resources.d.ts +112 -10
  110. package/dist/contracts/oauth-resources.js +116 -11
  111. package/dist/contracts/oauth-scope-actions.d.ts +90 -0
  112. package/dist/contracts/oauth-scope-actions.js +126 -0
  113. package/dist/contracts/operations.d.ts +27 -4
  114. package/dist/contracts/operations.js +11 -5
  115. package/dist/contracts/pages.d.ts +29 -5
  116. package/dist/contracts/pages.js +22 -5
  117. package/dist/contracts/partner-notifications.d.ts +3 -0
  118. package/dist/contracts/partner-notifications.js +65 -0
  119. package/dist/contracts/{platform.d.ts → partner.d.ts} +29 -42
  120. package/dist/contracts/{platform.js → partner.js} +27 -40
  121. package/dist/contracts/plan-policy.d.ts +1 -1
  122. package/dist/contracts/principal-assertion.d.ts +43 -0
  123. package/dist/contracts/principal-assertion.js +67 -0
  124. package/dist/contracts/principals.d.ts +73 -0
  125. package/dist/contracts/principals.js +59 -0
  126. package/dist/contracts/privacy.d.ts +11 -0
  127. package/dist/contracts/privacy.js +17 -0
  128. package/dist/contracts/problem-document.js +3 -4
  129. package/dist/contracts/publish-archive.d.ts +116 -18
  130. package/dist/contracts/publish-archive.js +6 -3
  131. package/dist/contracts/push-new.d.ts +4 -4
  132. package/dist/contracts/quotas.js +3 -3
  133. package/dist/contracts/realtime.d.ts +52 -0
  134. package/dist/contracts/realtime.js +54 -0
  135. package/dist/contracts/repository-connections.d.ts +1 -1
  136. package/dist/contracts/repository-connections.js +6 -2
  137. package/dist/contracts/resources.d.ts +105 -14
  138. package/dist/contracts/resources.js +145 -21
  139. package/dist/contracts/route-inventory.d.ts +358 -0
  140. package/dist/contracts/route-inventory.js +141 -0
  141. package/dist/contracts/runtime-api.d.ts +112 -35
  142. package/dist/contracts/runtime-api.js +86 -66
  143. package/dist/contracts/runtime-app.d.ts +11 -21
  144. package/dist/contracts/runtime-app.js +39 -24
  145. package/dist/contracts/runtime-components.d.ts +143 -0
  146. package/dist/contracts/runtime-components.js +199 -0
  147. package/dist/contracts/runtime-db.d.ts +45 -19
  148. package/dist/contracts/runtime-db.js +85 -20
  149. package/dist/contracts/runtime-purge.js +3 -5
  150. package/dist/contracts/runtime-services.d.ts +43 -75
  151. package/dist/contracts/runtime-services.js +29 -49
  152. package/dist/contracts/runtime-storage.d.ts +14 -14
  153. package/dist/contracts/runtime-storage.js +28 -13
  154. package/dist/contracts/sf-config-v1.d.ts +14 -18
  155. package/dist/contracts/slugs.js +13 -4
  156. package/dist/contracts/space-config.d.ts +235 -28
  157. package/dist/contracts/space-config.js +246 -91
  158. package/dist/contracts/spaces.d.ts +360 -255
  159. package/dist/contracts/spaces.js +190 -122
  160. package/dist/contracts/superadmin-activity.d.ts +3 -43
  161. package/dist/contracts/superadmin-activity.js +6 -30
  162. package/dist/contracts/superadmin-emails.d.ts +1 -0
  163. package/dist/contracts/superadmin-emails.js +17 -1
  164. package/dist/contracts/superadmin-runtime.d.ts +199 -0
  165. package/dist/contracts/superadmin-runtime.js +141 -0
  166. package/dist/contracts/superadmin-search.d.ts +22 -2
  167. package/dist/contracts/superadmin-search.js +14 -6
  168. package/dist/contracts/superadmin-spaces.d.ts +435 -186
  169. package/dist/contracts/superadmin-spaces.js +131 -25
  170. package/dist/contracts/superadmin-teams.d.ts +3 -0
  171. package/dist/contracts/superadmin-teams.js +1 -2
  172. package/dist/contracts/superadmin-tenants.d.ts +627 -6
  173. package/dist/contracts/superadmin-tenants.js +32 -7
  174. package/dist/contracts/superadmin.d.ts +98 -16
  175. package/dist/contracts/superadmin.js +63 -10
  176. package/dist/contracts/tags.d.ts +85 -58
  177. package/dist/contracts/tags.js +44 -34
  178. package/dist/contracts/teams.d.ts +72 -9
  179. package/dist/contracts/teams.js +84 -25
  180. package/dist/contracts/tenants.d.ts +135 -0
  181. package/dist/contracts/tenants.js +120 -0
  182. package/dist/contracts/test-triggers.d.ts +70 -0
  183. package/dist/contracts/test-triggers.js +116 -0
  184. package/dist/contracts/theme-json.js +3 -8
  185. package/dist/contracts/transfers.d.ts +1 -0
  186. package/dist/contracts/transfers.js +1 -0
  187. package/dist/contracts/usage.d.ts +209 -0
  188. package/dist/contracts/usage.js +124 -12
  189. package/dist/contracts/variables.d.ts +2 -2
  190. package/dist/contracts/variables.js +9 -13
  191. package/dist/contracts/webhooks.d.ts +13 -5
  192. package/dist/contracts/webhooks.js +3 -1
  193. package/dist/contracts/zero.d.ts +57 -64
  194. package/dist/contracts/zero.js +68 -66
  195. package/dist/dashboard-paths/index.d.ts +24 -21
  196. package/dist/dashboard-paths/index.js +35 -47
  197. package/dist/dashboard-paths/route-reservations.generated.d.ts +2 -0
  198. package/dist/dashboard-paths/route-reservations.generated.js +36 -0
  199. package/dist/docs/agent-arrival.d.ts +92 -0
  200. package/dist/docs/agent-arrival.js +227 -0
  201. package/dist/docs/agent-output-policy.d.ts +6 -0
  202. package/dist/docs/agent-output-policy.js +22 -0
  203. package/dist/docs/agent-prose.d.ts +11 -17
  204. package/dist/docs/agent-prose.js +62 -37
  205. package/dist/docs/agent-setup.d.ts +72 -41
  206. package/dist/docs/agent-setup.js +336 -436
  207. package/dist/docs/catalog.d.ts +147 -89
  208. package/dist/docs/catalog.js +157 -42
  209. package/dist/docs/error-docs.d.ts +2098 -1
  210. package/dist/docs/error-docs.js +281 -16
  211. package/dist/docs/index-build.d.ts +0 -1
  212. package/dist/docs/index-build.js +2 -3
  213. package/dist/docs/page-context-prompt.d.ts +77 -0
  214. package/dist/docs/page-context-prompt.js +131 -0
  215. package/dist/docs/reference-urls.d.ts +46 -0
  216. package/dist/docs/reference-urls.js +79 -0
  217. package/dist/docs/search.d.ts +6 -8
  218. package/dist/docs/search.js +10 -13
  219. package/dist/docs/skill-distribution.d.ts +4 -1
  220. package/dist/docs/skill-distribution.js +10 -5
  221. package/dist/docs/skills.d.ts +117 -117
  222. package/dist/docs/skills.js +120 -72
  223. package/dist/docs/start-prompts.d.ts +45 -0
  224. package/dist/docs/start-prompts.js +62 -0
  225. package/dist/domain-exploration.js +9 -13
  226. package/dist/og-template.d.ts +56 -0
  227. package/dist/og-template.js +56 -0
  228. package/dist/slug-policy/index.js +5 -11
  229. package/dist/utils/browser-credential.d.ts +13 -6
  230. package/dist/utils/browser-credential.js +14 -7
  231. package/dist/utils/build-settings.d.ts +16 -0
  232. package/dist/utils/build-settings.js +63 -17
  233. package/dist/utils/canonical-json.d.ts +3 -5
  234. package/dist/utils/canonical-json.js +3 -5
  235. package/dist/utils/cast-transport.d.ts +5 -17
  236. package/dist/utils/cast-transport.js +6 -19
  237. package/dist/utils/claim-token.js +1 -2
  238. package/dist/utils/comment-avatars.js +4 -6
  239. package/dist/utils/concurrency.js +2 -3
  240. package/dist/utils/content-type.d.ts +7 -6
  241. package/dist/utils/content-type.js +73 -51
  242. package/dist/utils/credential-policy.d.ts +50 -6
  243. package/dist/utils/credential-policy.js +123 -57
  244. package/dist/utils/egress-policy.fixtures.json +1 -1
  245. package/dist/utils/generate-space-name.d.ts +3 -8
  246. package/dist/utils/generate-space-name.js +3 -8
  247. package/dist/utils/grants.d.ts +0 -1
  248. package/dist/utils/grants.js +4 -7
  249. package/dist/utils/gravatar.d.ts +2 -4
  250. package/dist/utils/gravatar.js +6 -12
  251. package/dist/utils/id-hints.js +14 -23
  252. package/dist/utils/idempotency.d.ts +3 -3
  253. package/dist/utils/idempotency.js +6 -7
  254. package/dist/utils/local-space-state.d.ts +15 -15
  255. package/dist/utils/local-space-state.js +34 -23
  256. package/dist/utils/oauth-signed-query.d.ts +3 -5
  257. package/dist/utils/oauth-signed-query.js +6 -9
  258. package/dist/utils/one-shot-replay.d.ts +3 -5
  259. package/dist/utils/one-shot-replay.js +3 -5
  260. package/dist/utils/page-colors.d.ts +4 -10
  261. package/dist/utils/page-colors.js +11 -35
  262. package/dist/utils/page-fonts.js +6 -11
  263. package/dist/utils/page-preview.d.ts +0 -1
  264. package/dist/utils/page-preview.js +0 -1
  265. package/dist/utils/pages.d.ts +22 -11
  266. package/dist/utils/pages.js +70 -30
  267. package/dist/utils/privacy-regions.d.ts +19 -0
  268. package/dist/utils/privacy-regions.js +91 -0
  269. package/dist/utils/publish-form-data.d.ts +4 -5
  270. package/dist/utils/publish-form-data.js +2 -3
  271. package/dist/utils/publish-policy.d.ts +10 -23
  272. package/dist/utils/publish-policy.js +63 -116
  273. package/dist/utils/query-client.d.ts +2 -0
  274. package/dist/utils/query-client.js +10 -1
  275. package/dist/utils/runtime-paths.d.ts +4 -4
  276. package/dist/utils/runtime-paths.js +6 -8
  277. package/dist/utils/runtime-upload.d.ts +4 -0
  278. package/dist/utils/runtime-upload.js +5 -0
  279. package/dist/utils/secure-local-file.d.ts +3 -3
  280. package/dist/utils/secure-local-file.js +18 -24
  281. package/dist/utils/space-config.d.ts +11 -14
  282. package/dist/utils/space-config.js +10 -16
  283. package/dist/utils/static-runtime-policy.d.ts +5 -8
  284. package/dist/utils/static-runtime-policy.generated.d.ts +16 -0
  285. package/dist/utils/static-runtime-policy.generated.js +70 -0
  286. package/dist/utils/static-runtime-policy.js +17 -84
  287. package/dist/utils/storage-policy.js +1 -2
  288. package/dist/utils/upload-session.js +8 -14
  289. package/dist/utils/version-path.js +11 -19
  290. package/dist/utils/wpcom-auth-redirects.d.ts +5 -14
  291. package/dist/utils/wpcom-auth-redirects.js +1 -4
  292. package/dist/vocabulary.d.ts +7 -7
  293. package/dist/vocabulary.js +30 -16
  294. package/package.json +14 -2
  295. package/dist/agents/client-registry.d.ts +0 -22
  296. package/dist/agents/client-registry.js +0 -41
  297. package/dist/docs/agent-handoff-document.d.ts +0 -15
  298. package/dist/docs/agent-handoff-document.js +0 -180
  299. package/dist/docs/agent-solutions.d.ts +0 -110
  300. package/dist/docs/agent-solutions.js +0 -183
  301. package/dist/utils/query-keys.d.ts +0 -84
  302. package/dist/utils/query-keys.js +0 -108
@@ -9,18 +9,13 @@ export declare const StatticActionSchema: z.ZodEnum<{
9
9
  "domains:read": "domains:read";
10
10
  "spaces:publish": "spaces:publish";
11
11
  "builds:trigger": "builds:trigger";
12
- "mcp:tools": "mcp:tools";
13
12
  "*": "*";
14
- "sites:read": "sites:read";
15
- "sites:create": "sites:create";
16
- "sites:write": "sites:write";
17
- "sites:delete": "sites:delete";
18
- "sites:policy.write": "sites:policy.write";
19
13
  "spaces:create": "spaces:create";
20
14
  "spaces:delete": "spaces:delete";
21
15
  "spaces:transfer": "spaces:transfer";
22
16
  "spaces:export": "spaces:export";
23
17
  "spaces:import": "spaces:import";
18
+ "spaces:policy.write": "spaces:policy.write";
24
19
  "versions:read": "versions:read";
25
20
  "versions:promote": "versions:promote";
26
21
  "versions:delete": "versions:delete";
@@ -37,6 +32,13 @@ export declare const StatticActionSchema: z.ZodEnum<{
37
32
  "webhooks:write": "webhooks:write";
38
33
  "builds:read": "builds:read";
39
34
  "builds:create": "builds:create";
35
+ "variables:read": "variables:read";
36
+ "variables:write": "variables:write";
37
+ "tenants:read": "tenants:read";
38
+ "tenants:write": "tenants:write";
39
+ "principals:read": "principals:read";
40
+ "principals:write": "principals:write";
41
+ "infrastructure:read": "infrastructure:read";
40
42
  "teams:write": "teams:write";
41
43
  "teams:members.write": "teams:members.write";
42
44
  "billing:read": "billing:read";
@@ -47,6 +49,7 @@ export declare const StatticActionSchema: z.ZodEnum<{
47
49
  "runtime:manage": "runtime:manage";
48
50
  }>;
49
51
  export type StatticAction = z.infer<typeof StatticActionSchema>;
52
+ export declare const PARTNER_MANAGEMENT_ACTIONS: readonly ["tenants:read", "tenants:write", "principals:read", "infrastructure:read"];
50
53
  export type ParsedStatticResource = {
51
54
  kind: "tenant";
52
55
  tenantId: string;
@@ -93,18 +96,13 @@ export declare const ApiCredentialPolicySchema: z.ZodObject<{
93
96
  "domains:read": "domains:read";
94
97
  "spaces:publish": "spaces:publish";
95
98
  "builds:trigger": "builds:trigger";
96
- "mcp:tools": "mcp:tools";
97
99
  "*": "*";
98
- "sites:read": "sites:read";
99
- "sites:create": "sites:create";
100
- "sites:write": "sites:write";
101
- "sites:delete": "sites:delete";
102
- "sites:policy.write": "sites:policy.write";
103
100
  "spaces:create": "spaces:create";
104
101
  "spaces:delete": "spaces:delete";
105
102
  "spaces:transfer": "spaces:transfer";
106
103
  "spaces:export": "spaces:export";
107
104
  "spaces:import": "spaces:import";
105
+ "spaces:policy.write": "spaces:policy.write";
108
106
  "versions:read": "versions:read";
109
107
  "versions:promote": "versions:promote";
110
108
  "versions:delete": "versions:delete";
@@ -121,6 +119,13 @@ export declare const ApiCredentialPolicySchema: z.ZodObject<{
121
119
  "webhooks:write": "webhooks:write";
122
120
  "builds:read": "builds:read";
123
121
  "builds:create": "builds:create";
122
+ "variables:read": "variables:read";
123
+ "variables:write": "variables:write";
124
+ "tenants:read": "tenants:read";
125
+ "tenants:write": "tenants:write";
126
+ "principals:read": "principals:read";
127
+ "principals:write": "principals:write";
128
+ "infrastructure:read": "infrastructure:read";
124
129
  "teams:write": "teams:write";
125
130
  "teams:members.write": "teams:members.write";
126
131
  "billing:read": "billing:read";
@@ -146,16 +151,20 @@ export declare const ApiKeyPresetSchema: z.ZodEnum<{
146
151
  ci_deploy: "ci_deploy";
147
152
  space_publisher: "space_publisher";
148
153
  space_admin: "space_admin";
149
- site_admin: "site_admin";
150
154
  domain_manager: "domain_manager";
151
155
  team_admin: "team_admin";
152
156
  billing_viewer: "billing_viewer";
157
+ partner_admin: "partner_admin";
153
158
  }>;
154
159
  export type ApiKeyPreset = z.infer<typeof ApiKeyPresetSchema>;
155
160
  export declare const ApiKeySchema: z.ZodObject<{
156
161
  id: z.ZodString;
157
162
  name: z.ZodNullable<z.ZodString>;
158
163
  tenantId: z.ZodNullable<z.ZodString>;
164
+ mode: z.ZodEnum<{
165
+ live: "live";
166
+ test: "test";
167
+ }>;
159
168
  subject: z.ZodNullable<z.ZodObject<{
160
169
  type: z.ZodEnum<{
161
170
  team: "team";
@@ -177,10 +186,10 @@ export declare const ApiKeySchema: z.ZodObject<{
177
186
  ci_deploy: "ci_deploy";
178
187
  space_publisher: "space_publisher";
179
188
  space_admin: "space_admin";
180
- site_admin: "site_admin";
181
189
  domain_manager: "domain_manager";
182
190
  team_admin: "team_admin";
183
191
  billing_viewer: "billing_viewer";
192
+ partner_admin: "partner_admin";
184
193
  }>>;
185
194
  teamScope: z.ZodNullable<z.ZodType<import("./device-team-scope.js").DeviceTeamScope, unknown, z.core.$ZodTypeInternals<import("./device-team-scope.js").DeviceTeamScope, unknown>>>;
186
195
  policy: z.ZodNullable<z.ZodObject<{
@@ -199,18 +208,13 @@ export declare const ApiKeySchema: z.ZodObject<{
199
208
  "domains:read": "domains:read";
200
209
  "spaces:publish": "spaces:publish";
201
210
  "builds:trigger": "builds:trigger";
202
- "mcp:tools": "mcp:tools";
203
211
  "*": "*";
204
- "sites:read": "sites:read";
205
- "sites:create": "sites:create";
206
- "sites:write": "sites:write";
207
- "sites:delete": "sites:delete";
208
- "sites:policy.write": "sites:policy.write";
209
212
  "spaces:create": "spaces:create";
210
213
  "spaces:delete": "spaces:delete";
211
214
  "spaces:transfer": "spaces:transfer";
212
215
  "spaces:export": "spaces:export";
213
216
  "spaces:import": "spaces:import";
217
+ "spaces:policy.write": "spaces:policy.write";
214
218
  "versions:read": "versions:read";
215
219
  "versions:promote": "versions:promote";
216
220
  "versions:delete": "versions:delete";
@@ -227,6 +231,13 @@ export declare const ApiKeySchema: z.ZodObject<{
227
231
  "webhooks:write": "webhooks:write";
228
232
  "builds:read": "builds:read";
229
233
  "builds:create": "builds:create";
234
+ "variables:read": "variables:read";
235
+ "variables:write": "variables:write";
236
+ "tenants:read": "tenants:read";
237
+ "tenants:write": "tenants:write";
238
+ "principals:read": "principals:read";
239
+ "principals:write": "principals:write";
240
+ "infrastructure:read": "infrastructure:read";
230
241
  "teams:write": "teams:write";
231
242
  "teams:members.write": "teams:members.write";
232
243
  "billing:read": "billing:read";
@@ -270,6 +281,10 @@ export declare const ApiKeyListResponseSchema: z.ZodObject<{
270
281
  id: z.ZodString;
271
282
  name: z.ZodNullable<z.ZodString>;
272
283
  tenantId: z.ZodNullable<z.ZodString>;
284
+ mode: z.ZodEnum<{
285
+ live: "live";
286
+ test: "test";
287
+ }>;
273
288
  subject: z.ZodNullable<z.ZodObject<{
274
289
  type: z.ZodEnum<{
275
290
  team: "team";
@@ -291,10 +306,10 @@ export declare const ApiKeyListResponseSchema: z.ZodObject<{
291
306
  ci_deploy: "ci_deploy";
292
307
  space_publisher: "space_publisher";
293
308
  space_admin: "space_admin";
294
- site_admin: "site_admin";
295
309
  domain_manager: "domain_manager";
296
310
  team_admin: "team_admin";
297
311
  billing_viewer: "billing_viewer";
312
+ partner_admin: "partner_admin";
298
313
  }>>;
299
314
  teamScope: z.ZodNullable<z.ZodType<import("./device-team-scope.js").DeviceTeamScope, unknown, z.core.$ZodTypeInternals<import("./device-team-scope.js").DeviceTeamScope, unknown>>>;
300
315
  policy: z.ZodNullable<z.ZodObject<{
@@ -313,18 +328,13 @@ export declare const ApiKeyListResponseSchema: z.ZodObject<{
313
328
  "domains:read": "domains:read";
314
329
  "spaces:publish": "spaces:publish";
315
330
  "builds:trigger": "builds:trigger";
316
- "mcp:tools": "mcp:tools";
317
331
  "*": "*";
318
- "sites:read": "sites:read";
319
- "sites:create": "sites:create";
320
- "sites:write": "sites:write";
321
- "sites:delete": "sites:delete";
322
- "sites:policy.write": "sites:policy.write";
323
332
  "spaces:create": "spaces:create";
324
333
  "spaces:delete": "spaces:delete";
325
334
  "spaces:transfer": "spaces:transfer";
326
335
  "spaces:export": "spaces:export";
327
336
  "spaces:import": "spaces:import";
337
+ "spaces:policy.write": "spaces:policy.write";
328
338
  "versions:read": "versions:read";
329
339
  "versions:promote": "versions:promote";
330
340
  "versions:delete": "versions:delete";
@@ -341,6 +351,13 @@ export declare const ApiKeyListResponseSchema: z.ZodObject<{
341
351
  "webhooks:write": "webhooks:write";
342
352
  "builds:read": "builds:read";
343
353
  "builds:create": "builds:create";
354
+ "variables:read": "variables:read";
355
+ "variables:write": "variables:write";
356
+ "tenants:read": "tenants:read";
357
+ "tenants:write": "tenants:write";
358
+ "principals:read": "principals:read";
359
+ "principals:write": "principals:write";
360
+ "infrastructure:read": "infrastructure:read";
344
361
  "teams:write": "teams:write";
345
362
  "teams:members.write": "teams:members.write";
346
363
  "billing:read": "billing:read";
@@ -386,10 +403,10 @@ export declare const ApiKeyCreateRequestSchema: z.ZodObject<{
386
403
  ci_deploy: "ci_deploy";
387
404
  space_publisher: "space_publisher";
388
405
  space_admin: "space_admin";
389
- site_admin: "site_admin";
390
406
  domain_manager: "domain_manager";
391
407
  team_admin: "team_admin";
392
408
  billing_viewer: "billing_viewer";
409
+ partner_admin: "partner_admin";
393
410
  }>>;
394
411
  policy: z.ZodOptional<z.ZodNullable<z.ZodObject<{
395
412
  version: z.ZodLiteral<"2026-06-09">;
@@ -407,18 +424,13 @@ export declare const ApiKeyCreateRequestSchema: z.ZodObject<{
407
424
  "domains:read": "domains:read";
408
425
  "spaces:publish": "spaces:publish";
409
426
  "builds:trigger": "builds:trigger";
410
- "mcp:tools": "mcp:tools";
411
427
  "*": "*";
412
- "sites:read": "sites:read";
413
- "sites:create": "sites:create";
414
- "sites:write": "sites:write";
415
- "sites:delete": "sites:delete";
416
- "sites:policy.write": "sites:policy.write";
417
428
  "spaces:create": "spaces:create";
418
429
  "spaces:delete": "spaces:delete";
419
430
  "spaces:transfer": "spaces:transfer";
420
431
  "spaces:export": "spaces:export";
421
432
  "spaces:import": "spaces:import";
433
+ "spaces:policy.write": "spaces:policy.write";
422
434
  "versions:read": "versions:read";
423
435
  "versions:promote": "versions:promote";
424
436
  "versions:delete": "versions:delete";
@@ -435,6 +447,13 @@ export declare const ApiKeyCreateRequestSchema: z.ZodObject<{
435
447
  "webhooks:write": "webhooks:write";
436
448
  "builds:read": "builds:read";
437
449
  "builds:create": "builds:create";
450
+ "variables:read": "variables:read";
451
+ "variables:write": "variables:write";
452
+ "tenants:read": "tenants:read";
453
+ "tenants:write": "tenants:write";
454
+ "principals:read": "principals:read";
455
+ "principals:write": "principals:write";
456
+ "infrastructure:read": "infrastructure:read";
438
457
  "teams:write": "teams:write";
439
458
  "teams:members.write": "teams:members.write";
440
459
  "billing:read": "billing:read";
@@ -483,18 +502,13 @@ export declare const ApiKeyPatchRequestSchema: z.ZodObject<{
483
502
  "domains:read": "domains:read";
484
503
  "spaces:publish": "spaces:publish";
485
504
  "builds:trigger": "builds:trigger";
486
- "mcp:tools": "mcp:tools";
487
505
  "*": "*";
488
- "sites:read": "sites:read";
489
- "sites:create": "sites:create";
490
- "sites:write": "sites:write";
491
- "sites:delete": "sites:delete";
492
- "sites:policy.write": "sites:policy.write";
493
506
  "spaces:create": "spaces:create";
494
507
  "spaces:delete": "spaces:delete";
495
508
  "spaces:transfer": "spaces:transfer";
496
509
  "spaces:export": "spaces:export";
497
510
  "spaces:import": "spaces:import";
511
+ "spaces:policy.write": "spaces:policy.write";
498
512
  "versions:read": "versions:read";
499
513
  "versions:promote": "versions:promote";
500
514
  "versions:delete": "versions:delete";
@@ -511,6 +525,13 @@ export declare const ApiKeyPatchRequestSchema: z.ZodObject<{
511
525
  "webhooks:write": "webhooks:write";
512
526
  "builds:read": "builds:read";
513
527
  "builds:create": "builds:create";
528
+ "variables:read": "variables:read";
529
+ "variables:write": "variables:write";
530
+ "tenants:read": "tenants:read";
531
+ "tenants:write": "tenants:write";
532
+ "principals:read": "principals:read";
533
+ "principals:write": "principals:write";
534
+ "infrastructure:read": "infrastructure:read";
514
535
  "teams:write": "teams:write";
515
536
  "teams:members.write": "teams:members.write";
516
537
  "billing:read": "billing:read";
@@ -558,18 +579,13 @@ export declare const ApiKeyScopedCreateRequestSchema: z.ZodObject<{
558
579
  "domains:read": "domains:read";
559
580
  "spaces:publish": "spaces:publish";
560
581
  "builds:trigger": "builds:trigger";
561
- "mcp:tools": "mcp:tools";
562
582
  "*": "*";
563
- "sites:read": "sites:read";
564
- "sites:create": "sites:create";
565
- "sites:write": "sites:write";
566
- "sites:delete": "sites:delete";
567
- "sites:policy.write": "sites:policy.write";
568
583
  "spaces:create": "spaces:create";
569
584
  "spaces:delete": "spaces:delete";
570
585
  "spaces:transfer": "spaces:transfer";
571
586
  "spaces:export": "spaces:export";
572
587
  "spaces:import": "spaces:import";
588
+ "spaces:policy.write": "spaces:policy.write";
573
589
  "versions:read": "versions:read";
574
590
  "versions:promote": "versions:promote";
575
591
  "versions:delete": "versions:delete";
@@ -586,6 +602,13 @@ export declare const ApiKeyScopedCreateRequestSchema: z.ZodObject<{
586
602
  "webhooks:write": "webhooks:write";
587
603
  "builds:read": "builds:read";
588
604
  "builds:create": "builds:create";
605
+ "variables:read": "variables:read";
606
+ "variables:write": "variables:write";
607
+ "tenants:read": "tenants:read";
608
+ "tenants:write": "tenants:write";
609
+ "principals:read": "principals:read";
610
+ "principals:write": "principals:write";
611
+ "infrastructure:read": "infrastructure:read";
589
612
  "teams:write": "teams:write";
590
613
  "teams:members.write": "teams:members.write";
591
614
  "billing:read": "billing:read";
@@ -619,18 +642,13 @@ export declare const ApiKeyScopedPatchRequestSchema: z.ZodObject<{
619
642
  "domains:read": "domains:read";
620
643
  "spaces:publish": "spaces:publish";
621
644
  "builds:trigger": "builds:trigger";
622
- "mcp:tools": "mcp:tools";
623
645
  "*": "*";
624
- "sites:read": "sites:read";
625
- "sites:create": "sites:create";
626
- "sites:write": "sites:write";
627
- "sites:delete": "sites:delete";
628
- "sites:policy.write": "sites:policy.write";
629
646
  "spaces:create": "spaces:create";
630
647
  "spaces:delete": "spaces:delete";
631
648
  "spaces:transfer": "spaces:transfer";
632
649
  "spaces:export": "spaces:export";
633
650
  "spaces:import": "spaces:import";
651
+ "spaces:policy.write": "spaces:policy.write";
634
652
  "versions:read": "versions:read";
635
653
  "versions:promote": "versions:promote";
636
654
  "versions:delete": "versions:delete";
@@ -647,6 +665,13 @@ export declare const ApiKeyScopedPatchRequestSchema: z.ZodObject<{
647
665
  "webhooks:write": "webhooks:write";
648
666
  "builds:read": "builds:read";
649
667
  "builds:create": "builds:create";
668
+ "variables:read": "variables:read";
669
+ "variables:write": "variables:write";
670
+ "tenants:read": "tenants:read";
671
+ "tenants:write": "tenants:write";
672
+ "principals:read": "principals:read";
673
+ "principals:write": "principals:write";
674
+ "infrastructure:read": "infrastructure:read";
650
675
  "teams:write": "teams:write";
651
676
  "teams:members.write": "teams:members.write";
652
677
  "billing:read": "billing:read";
@@ -1,13 +1,9 @@
1
1
  import { z } from "zod";
2
2
  import { AnyObjectSchema, CursorPaginationSchema, cursorListQuerySchema } from "./common.js";
3
3
  import { DeviceTeamScopeSchema } from "./device-team-scope.js";
4
+ import { tenantMode } from "./enums.js";
4
5
  export const SPACEFAST_ACCESS_POLICY_VERSION = "2026-06-09";
5
6
  export const StatticActionSchema = z.enum([
6
- "sites:read",
7
- "sites:create",
8
- "sites:write",
9
- "sites:delete",
10
- "sites:policy.write",
11
7
  "spaces:read",
12
8
  "spaces:create",
13
9
  "spaces:write",
@@ -17,6 +13,7 @@ export const StatticActionSchema = z.enum([
17
13
  "spaces:transfer",
18
14
  "spaces:export",
19
15
  "spaces:import",
16
+ "spaces:policy.write",
20
17
  "versions:read",
21
18
  "versions:promote",
22
19
  "versions:delete",
@@ -35,6 +32,20 @@ export const StatticActionSchema = z.enum([
35
32
  "builds:read",
36
33
  "builds:trigger",
37
34
  "builds:create",
35
+ // Variables hang off a principal (a team or an external customer), not off a
36
+ // team's administration. They get their own verbs so a route can grant
37
+ // variable access without handing out team-write authority, and so a
38
+ // principal-scoped credential never has to borrow `teams:write` to reach them.
39
+ "variables:read",
40
+ "variables:write",
41
+ // Partner-tier actions. They are only ever grantable on a tenant-rooted
42
+ // resource: a tenant, the principals it owns, and the infrastructure its
43
+ // spaces run on are tenant-level nouns with no team-scoped meaning.
44
+ "tenants:read",
45
+ "tenants:write",
46
+ "principals:read",
47
+ "principals:write",
48
+ "infrastructure:read",
38
49
  "teams:read",
39
50
  "teams:create",
40
51
  "teams:write",
@@ -44,10 +55,23 @@ export const StatticActionSchema = z.enum([
44
55
  "tokens:read",
45
56
  "tokens:create",
46
57
  "tokens:revoke",
47
- "mcp:tools",
48
58
  "runtime:manage",
49
59
  "*",
50
60
  ]);
61
+ // The partner-management actions: the ones whose subject IS the tenant rather
62
+ // than something inside it. Holding any of them on a tenant root is what makes
63
+ // a credential a partner credential — and therefore what earns the partner
64
+ // response projection. Tenant-rooted RESOURCES alone cannot mean that: the
65
+ // consumer admission action `teams:create` is also granted on the tenant root
66
+ // because that is where creating a not-yet-existing team has to hang. It is
67
+ // admission-only — no team-scoped route gates on it — so its tenant-root reach
68
+ // grants no team authority.
69
+ export const PARTNER_MANAGEMENT_ACTIONS = [
70
+ "tenants:read",
71
+ "tenants:write",
72
+ "principals:read",
73
+ "infrastructure:read",
74
+ ];
51
75
  const DescribedStatticActionSchema = StatticActionSchema.describe("Namespaced IAM-lite action (`noun:verb`), or `*` for all actions.");
52
76
  const RESOURCE_PREFIX = "stt://tenant/";
53
77
  function isResourceSegment(value) {
@@ -105,13 +129,11 @@ export const ApiCredentialPolicySchema = z
105
129
  .object({
106
130
  version: z
107
131
  .literal(SPACEFAST_ACCESS_POLICY_VERSION)
108
- .describe("Policy schema version. Must be the current platform policy version."),
132
+ .describe("Must be the current platform policy version."),
109
133
  statements: z
110
134
  .array(z
111
135
  .object({
112
- effect: z
113
- .enum(["allow", "deny"])
114
- .describe("Statement effect. Explicit deny always wins over allow."),
136
+ effect: z.enum(["allow", "deny"]).describe("Explicit deny always wins over allow."),
115
137
  actions: z
116
138
  .array(DescribedStatticActionSchema)
117
139
  .min(1)
@@ -142,14 +164,14 @@ export const ApiKeyPresetSchema = z
142
164
  "ci_deploy",
143
165
  "space_publisher",
144
166
  "space_admin",
145
- "site_admin",
146
167
  "domain_manager",
147
168
  "team_admin",
148
169
  "billing_viewer",
170
+ "partner_admin",
149
171
  ])
150
- .describe("Named policy preset compiled into a concrete access policy when the key is created.");
151
- // `system` is never a principal type: runtime/internal credentials are
152
- // platform-owned and omit ownerPrincipal entirely (the platform spec).
172
+ .describe("Preset compiled into a concrete access policy when the key is created.");
173
+ // Runtime and internal credentials are platform-owned and omit ownerPrincipal
174
+ // entirely, so `system` is never a principal type here.
153
175
  const ApiKeyOwnerPrincipalSchema = z.object({
154
176
  type: z.enum(["team", "external"]).describe("Principal type that owns this key."),
155
177
  id: z.string().min(1).describe("Stable principal id (Better Auth team id, or external id)."),
@@ -164,6 +186,7 @@ export const ApiKeySchema = z.object({
164
186
  id: z.string().describe("API key id."),
165
187
  name: z.string().nullable().describe("Human-readable key name."),
166
188
  tenantId: z.string().nullable().describe("Tenant the key belongs to."),
189
+ mode: tenantMode.describe("`test` when the key belongs to a linked test tenant, `live` otherwise."),
167
190
  subject: ApiKeySubjectSchema.nullable().describe("Subject the key acts as."),
168
191
  ownerPrincipal: ApiKeyOwnerPrincipalSchema.nullable().describe("Owning principal (ownership metadata, never the authorization gate)."),
169
192
  createdByUserId: z.string().describe("User who created the key."),
@@ -179,7 +202,7 @@ export const ApiKeySchema = z.object({
179
202
  .array(z.string())
180
203
  .nullable()
181
204
  .describe("CIDR/IP allowlist. Requests from other addresses are rejected."),
182
- revokedAt: z.string().datetime().nullable().describe("Revocation instant, if revoked."),
205
+ revokedAt: z.string().datetime().nullable().describe("Revocation instant."),
183
206
  enabled: z.boolean().describe("Whether the key currently authenticates."),
184
207
  createdAt: z.string().datetime().describe("Creation instant."),
185
208
  updatedAt: z.string().datetime().describe("Last update instant."),
@@ -190,7 +213,7 @@ export const ApiKeyListQuerySchema = cursorListQuerySchema.extend({
190
213
  .string()
191
214
  .min(1)
192
215
  .optional()
193
- .describe("Owning team whose keys to list. Defaults to the caller's own team. Any team that the credential policy reaches is allowed."),
216
+ .describe("Owning team whose keys to list. Defaults to the caller's own team; any team the credential policy reaches is allowed."),
194
217
  });
195
218
  export const ApiKeyListResponseSchema = z.object({
196
219
  data: z.array(ApiKeySchema),
@@ -239,14 +262,11 @@ export const ApiKeyPatchRequestSchema = z
239
262
  .refine((value) => Object.keys(value).length > 0, {
240
263
  message: "At least one mutable API key field is required.",
241
264
  });
242
- // Target §5C contract (the internal plan
243
- // "API key: finite permissions, no broad role"): key creation selects an
244
- // explicit, finite scope and permission set never a team-wide role that
245
- // falls out of an omitted field. This is deliberately a DISJOINT shape from
246
- // `ApiKeyCreateRequestSchema` (no teamId/preset/policy): the legacy shape
247
- // stays valid only on the legacy route (api-keys/routes.ts); this is the only
248
- // request shape the public core contract (api-contracts/core/api-keys.ts)
249
- // accepts.
265
+ // Key creation selects an explicit, finite scope and permission set, never a
266
+ // team-wide role that falls out of an omitted field. Deliberately DISJOINT from
267
+ // `ApiKeyCreateRequestSchema`: that shape stays valid only on the legacy route
268
+ // (api-keys/routes.ts), while this is the only shape the public core contract
269
+ // (api-contracts/core/api-keys.ts) accepts.
250
270
  export const ApiKeyScopeSchema = z
251
271
  .discriminatedUnion("kind", [
252
272
  z.object({ kind: z.literal("team"), teamId: z.string().min(1) }).strict(),