@spacefast/common 0.0.24 → 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 (320) hide show
  1. package/brand-assets/LICENSE-Haskoy.txt +93 -0
  2. package/brand-assets/haskoy-latin-variable.woff2 +0 -0
  3. package/brand-assets/spacefast-favicon.svg +4 -4
  4. package/brand-assets/spacefast-sf-full-bleed.svg +3 -3
  5. package/brand-assets/spacefast-wordmark.svg +2 -4
  6. package/dist/agents/connect-targets.d.ts +6 -146
  7. package/dist/agents/connect-targets.js +63 -295
  8. package/dist/agents/private-key-oauth.d.ts +31 -2
  9. package/dist/agents/private-key-oauth.js +166 -92
  10. package/dist/agents/registry/core.d.ts +292 -0
  11. package/dist/agents/registry/core.js +1388 -0
  12. package/dist/agents/registry/deeplink-probes.d.ts +23 -0
  13. package/dist/agents/registry/deeplink-probes.js +18 -0
  14. package/dist/agents/registry/node.d.ts +56 -0
  15. package/dist/agents/registry/node.js +339 -0
  16. package/dist/brand-assets-build.js +3 -6
  17. package/dist/brand-assets.d.ts +5 -15
  18. package/dist/brand-assets.js +12 -14
  19. package/dist/brand.d.ts +17 -0
  20. package/dist/brand.js +24 -4
  21. package/dist/config/domains.d.ts +79 -12
  22. package/dist/config/domains.js +128 -29
  23. package/dist/config/index.js +1 -2
  24. package/dist/contracts/abuse.js +9 -24
  25. package/dist/contracts/access-profiles.d.ts +86 -0
  26. package/dist/contracts/access-profiles.js +89 -0
  27. package/dist/contracts/access.d.ts +24 -30
  28. package/dist/contracts/access.js +33 -64
  29. package/dist/contracts/activity.d.ts +18 -1
  30. package/dist/contracts/activity.js +72 -26
  31. package/dist/contracts/analytics.js +8 -10
  32. package/dist/contracts/api-keys.d.ts +77 -52
  33. package/dist/contracts/api-keys.js +44 -24
  34. package/dist/contracts/application-journal.d.ts +216 -0
  35. package/dist/contracts/application-journal.js +167 -0
  36. package/dist/contracts/auth.d.ts +90 -17
  37. package/dist/contracts/auth.js +86 -17
  38. package/dist/contracts/beta.d.ts +9 -4
  39. package/dist/contracts/beta.js +20 -16
  40. package/dist/contracts/billing.d.ts +2 -1
  41. package/dist/contracts/billing.js +37 -11
  42. package/dist/contracts/bootstrap.d.ts +791 -0
  43. package/dist/contracts/bootstrap.js +51 -0
  44. package/dist/contracts/builds.d.ts +209 -18
  45. package/dist/contracts/builds.js +93 -27
  46. package/dist/contracts/channels.d.ts +43 -0
  47. package/dist/contracts/channels.js +25 -9
  48. package/dist/contracts/cli.d.ts +7 -0
  49. package/dist/contracts/cli.js +6 -0
  50. package/dist/contracts/collab-public.d.ts +1 -1
  51. package/dist/contracts/collab-public.js +5 -8
  52. package/dist/contracts/comments.d.ts +44 -34
  53. package/dist/contracts/comments.js +107 -77
  54. package/dist/contracts/commerce.d.ts +165 -0
  55. package/dist/contracts/commerce.js +146 -0
  56. package/dist/contracts/common.d.ts +3 -3
  57. package/dist/contracts/common.js +20 -31
  58. package/dist/contracts/content-contract-verification.d.ts +521 -0
  59. package/dist/contracts/content-contract-verification.js +320 -0
  60. package/dist/contracts/content-platform-fixture.d.ts +1278 -0
  61. package/dist/contracts/content-platform-fixture.js +44 -0
  62. package/dist/contracts/content-program.d.ts +994 -0
  63. package/dist/contracts/content-program.js +658 -0
  64. package/dist/contracts/content-sync.d.ts +290 -0
  65. package/dist/contracts/content-sync.js +167 -0
  66. package/dist/contracts/content.d.ts +432 -0
  67. package/dist/contracts/content.js +303 -0
  68. package/dist/contracts/continuation.d.ts +17 -1
  69. package/dist/contracts/continuation.js +23 -23
  70. package/dist/contracts/countries.js +3 -4
  71. package/dist/contracts/crons.d.ts +52 -0
  72. package/dist/contracts/crons.js +60 -0
  73. package/dist/contracts/dashboard-prefs.d.ts +56 -0
  74. package/dist/contracts/dashboard-prefs.js +51 -0
  75. package/dist/contracts/device-auth.d.ts +234 -37
  76. package/dist/contracts/device-auth.js +267 -53
  77. package/dist/contracts/docs.d.ts +1 -5
  78. package/dist/contracts/docs.js +7 -15
  79. package/dist/contracts/domains.d.ts +501 -93
  80. package/dist/contracts/domains.js +193 -55
  81. package/dist/contracts/email-preferences.d.ts +3 -3
  82. package/dist/contracts/email-preferences.js +6 -7
  83. package/dist/contracts/enums.d.ts +27 -26
  84. package/dist/contracts/enums.js +68 -61
  85. package/dist/contracts/error-code-meta.d.ts +283 -7
  86. package/dist/contracts/error-code-meta.js +97 -5
  87. package/dist/contracts/error-codes.d.ts +5 -5
  88. package/dist/contracts/error-codes.js +82 -17
  89. package/dist/contracts/events.d.ts +100 -20
  90. package/dist/contracts/events.js +107 -20
  91. package/dist/contracts/execution.d.ts +48 -64
  92. package/dist/contracts/execution.js +52 -62
  93. package/dist/contracts/feature-lifecycle.d.ts +73 -27
  94. package/dist/contracts/feature-lifecycle.js +86 -26
  95. package/dist/contracts/features.d.ts +68 -19
  96. package/dist/contracts/features.js +42 -41
  97. package/dist/contracts/fixtures/content-platform-v1.json +1108 -0
  98. package/dist/contracts/frame-session.d.ts +192 -0
  99. package/dist/contracts/frame-session.js +164 -0
  100. package/dist/contracts/functions.d.ts +338 -164
  101. package/dist/contracts/functions.js +367 -198
  102. package/dist/contracts/git.d.ts +27 -33
  103. package/dist/contracts/git.js +10 -11
  104. package/dist/contracts/grant-copy.d.ts +43 -0
  105. package/dist/contracts/grant-copy.js +44 -0
  106. package/dist/contracts/grants.d.ts +62 -54
  107. package/dist/contracts/grants.js +124 -23
  108. package/dist/contracts/ids.d.ts +4 -1
  109. package/dist/contracts/ids.js +6 -3
  110. package/dist/contracts/internal.d.ts +8 -18
  111. package/dist/contracts/internal.js +13 -14
  112. package/dist/contracts/mcp.d.ts +28 -0
  113. package/dist/contracts/mcp.js +28 -0
  114. package/dist/contracts/me.d.ts +6 -1
  115. package/dist/contracts/me.js +12 -6
  116. package/dist/contracts/notifications.d.ts +27 -29
  117. package/dist/contracts/notifications.js +9 -4
  118. package/dist/contracts/oauth-resources.d.ts +112 -10
  119. package/dist/contracts/oauth-resources.js +116 -11
  120. package/dist/contracts/oauth-scope-actions.d.ts +90 -0
  121. package/dist/contracts/oauth-scope-actions.js +126 -0
  122. package/dist/contracts/operations.d.ts +27 -4
  123. package/dist/contracts/operations.js +12 -6
  124. package/dist/contracts/pages.d.ts +31 -7
  125. package/dist/contracts/pages.js +22 -5
  126. package/dist/contracts/partner-notifications.d.ts +3 -0
  127. package/dist/contracts/partner-notifications.js +65 -0
  128. package/dist/contracts/{platform.d.ts → partner.d.ts} +29 -42
  129. package/dist/contracts/{platform.js → partner.js} +27 -40
  130. package/dist/contracts/plan-policy.js +1 -1
  131. package/dist/contracts/principal-assertion.d.ts +43 -0
  132. package/dist/contracts/principal-assertion.js +67 -0
  133. package/dist/contracts/principals.d.ts +73 -0
  134. package/dist/contracts/principals.js +59 -0
  135. package/dist/contracts/privacy.d.ts +11 -0
  136. package/dist/contracts/privacy.js +17 -0
  137. package/dist/contracts/problem-document.js +3 -4
  138. package/dist/contracts/publish-archive.d.ts +269 -161
  139. package/dist/contracts/publish-archive.js +11 -1
  140. package/dist/contracts/push-new.d.ts +8 -8
  141. package/dist/contracts/quotas.js +5 -5
  142. package/dist/contracts/realtime.d.ts +52 -0
  143. package/dist/contracts/realtime.js +54 -0
  144. package/dist/contracts/repository-connections.d.ts +44 -31
  145. package/dist/contracts/repository-connections.js +17 -5
  146. package/dist/contracts/resources.d.ts +105 -14
  147. package/dist/contracts/resources.js +150 -26
  148. package/dist/contracts/route-inventory.d.ts +358 -0
  149. package/dist/contracts/route-inventory.js +141 -0
  150. package/dist/contracts/runtime-api.d.ts +206 -82
  151. package/dist/contracts/runtime-api.js +131 -70
  152. package/dist/contracts/runtime-app.d.ts +13 -23
  153. package/dist/contracts/runtime-app.js +39 -24
  154. package/dist/contracts/runtime-components.d.ts +143 -0
  155. package/dist/contracts/runtime-components.js +199 -0
  156. package/dist/contracts/runtime-db.d.ts +49 -23
  157. package/dist/contracts/runtime-db.js +87 -22
  158. package/dist/contracts/runtime-purge.d.ts +8 -0
  159. package/dist/contracts/runtime-purge.js +5 -0
  160. package/dist/contracts/runtime-services.d.ts +43 -75
  161. package/dist/contracts/runtime-services.js +29 -49
  162. package/dist/contracts/runtime-storage.d.ts +15 -14
  163. package/dist/contracts/runtime-storage.js +30 -14
  164. package/dist/contracts/sf-config-v1.d.ts +48 -14
  165. package/dist/contracts/slugs.js +13 -4
  166. package/dist/contracts/space-config.d.ts +283 -19
  167. package/dist/contracts/space-config.js +430 -80
  168. package/dist/contracts/spaces.d.ts +376 -290
  169. package/dist/contracts/spaces.js +200 -135
  170. package/dist/contracts/superadmin-activity.d.ts +3 -43
  171. package/dist/contracts/superadmin-activity.js +6 -30
  172. package/dist/contracts/superadmin-emails.d.ts +1 -0
  173. package/dist/contracts/superadmin-emails.js +17 -1
  174. package/dist/contracts/superadmin-runtime.d.ts +199 -0
  175. package/dist/contracts/superadmin-runtime.js +141 -0
  176. package/dist/contracts/superadmin-search.d.ts +22 -2
  177. package/dist/contracts/superadmin-search.js +14 -6
  178. package/dist/contracts/superadmin-spaces.d.ts +438 -189
  179. package/dist/contracts/superadmin-spaces.js +131 -25
  180. package/dist/contracts/superadmin-teams.d.ts +5 -2
  181. package/dist/contracts/superadmin-teams.js +1 -2
  182. package/dist/contracts/superadmin-tenants.d.ts +627 -12
  183. package/dist/contracts/superadmin-tenants.js +32 -13
  184. package/dist/contracts/superadmin.d.ts +232 -37
  185. package/dist/contracts/superadmin.js +106 -22
  186. package/dist/contracts/tags.d.ts +85 -58
  187. package/dist/contracts/tags.js +47 -37
  188. package/dist/contracts/teams.d.ts +86 -26
  189. package/dist/contracts/teams.js +90 -31
  190. package/dist/contracts/tenants.d.ts +135 -0
  191. package/dist/contracts/tenants.js +120 -0
  192. package/dist/contracts/test-triggers.d.ts +70 -0
  193. package/dist/contracts/test-triggers.js +116 -0
  194. package/dist/contracts/theme-json.js +3 -8
  195. package/dist/contracts/transfers.d.ts +1 -0
  196. package/dist/contracts/transfers.js +3 -2
  197. package/dist/contracts/usage.d.ts +209 -0
  198. package/dist/contracts/usage.js +124 -12
  199. package/dist/contracts/variables.d.ts +2 -2
  200. package/dist/contracts/variables.js +9 -13
  201. package/dist/contracts/webhooks.d.ts +13 -5
  202. package/dist/contracts/webhooks.js +3 -1
  203. package/dist/contracts/zero.d.ts +72 -81
  204. package/dist/contracts/zero.js +80 -78
  205. package/dist/dashboard-paths/index.d.ts +24 -21
  206. package/dist/dashboard-paths/index.js +35 -47
  207. package/dist/dashboard-paths/route-reservations.generated.d.ts +2 -0
  208. package/dist/dashboard-paths/route-reservations.generated.js +36 -0
  209. package/dist/docs/agent-arrival.d.ts +92 -0
  210. package/dist/docs/agent-arrival.js +227 -0
  211. package/dist/docs/agent-output-policy.d.ts +6 -0
  212. package/dist/docs/agent-output-policy.js +22 -0
  213. package/dist/docs/agent-prose.d.ts +12 -18
  214. package/dist/docs/agent-prose.js +73 -51
  215. package/dist/docs/agent-setup.d.ts +72 -41
  216. package/dist/docs/agent-setup.js +339 -436
  217. package/dist/docs/catalog.d.ts +153 -95
  218. package/dist/docs/catalog.js +163 -48
  219. package/dist/docs/error-docs.d.ts +2098 -1
  220. package/dist/docs/error-docs.js +421 -144
  221. package/dist/docs/index-build.d.ts +0 -1
  222. package/dist/docs/index-build.js +2 -3
  223. package/dist/docs/page-context-prompt.d.ts +77 -0
  224. package/dist/docs/page-context-prompt.js +131 -0
  225. package/dist/docs/reference-urls.d.ts +46 -0
  226. package/dist/docs/reference-urls.js +79 -0
  227. package/dist/docs/search.d.ts +6 -8
  228. package/dist/docs/search.js +10 -13
  229. package/dist/docs/skill-distribution.d.ts +4 -1
  230. package/dist/docs/skill-distribution.js +10 -5
  231. package/dist/docs/skills.d.ts +120 -120
  232. package/dist/docs/skills.js +121 -73
  233. package/dist/docs/start-prompts.d.ts +45 -0
  234. package/dist/docs/start-prompts.js +62 -0
  235. package/dist/domain-exploration.js +9 -13
  236. package/dist/og-template.d.ts +56 -0
  237. package/dist/og-template.js +56 -0
  238. package/dist/slug-policy/index.js +5 -11
  239. package/dist/test-helpers/fetch-stub.js +1 -0
  240. package/dist/utils/browser-credential.d.ts +13 -6
  241. package/dist/utils/browser-credential.js +14 -7
  242. package/dist/utils/build-settings.d.ts +21 -1
  243. package/dist/utils/build-settings.js +133 -15
  244. package/dist/utils/canonical-json.d.ts +3 -5
  245. package/dist/utils/canonical-json.js +4 -5
  246. package/dist/utils/cast-transport.d.ts +5 -17
  247. package/dist/utils/cast-transport.js +6 -19
  248. package/dist/utils/claim-token.js +1 -2
  249. package/dist/utils/comment-avatars.js +4 -6
  250. package/dist/utils/concurrency.js +3 -3
  251. package/dist/utils/content-type.d.ts +7 -6
  252. package/dist/utils/content-type.js +73 -51
  253. package/dist/utils/credential-policy.d.ts +50 -6
  254. package/dist/utils/credential-policy.js +126 -59
  255. package/dist/utils/dns-instructions.js +9 -9
  256. package/dist/utils/egress-policy.fixtures.json +1 -1
  257. package/dist/utils/error-code.js +1 -0
  258. package/dist/utils/generate-space-name.d.ts +3 -8
  259. package/dist/utils/generate-space-name.js +3 -8
  260. package/dist/utils/grant-decision.fixtures.json +2 -2
  261. package/dist/utils/grants.d.ts +0 -1
  262. package/dist/utils/grants.js +7 -8
  263. package/dist/utils/gravatar.d.ts +2 -4
  264. package/dist/utils/gravatar.js +6 -12
  265. package/dist/utils/id-hints.js +14 -23
  266. package/dist/utils/idempotency.d.ts +3 -3
  267. package/dist/utils/idempotency.js +6 -7
  268. package/dist/utils/local-space-state.d.ts +23 -26
  269. package/dist/utils/local-space-state.js +46 -46
  270. package/dist/utils/oauth-signed-query.d.ts +3 -5
  271. package/dist/utils/oauth-signed-query.js +6 -9
  272. package/dist/utils/one-shot-replay.d.ts +7 -6
  273. package/dist/utils/one-shot-replay.js +3 -5
  274. package/dist/utils/page-colors.d.ts +15 -19
  275. package/dist/utils/page-colors.js +23 -45
  276. package/dist/utils/page-fonts.d.ts +1 -1
  277. package/dist/utils/page-fonts.js +8 -20
  278. package/dist/utils/page-preview.d.ts +0 -1
  279. package/dist/utils/page-preview.js +0 -1
  280. package/dist/utils/pages.d.ts +33 -3
  281. package/dist/utils/pages.js +83 -30
  282. package/dist/utils/privacy-regions.d.ts +19 -0
  283. package/dist/utils/privacy-regions.js +91 -0
  284. package/dist/utils/publish-form-data.d.ts +4 -5
  285. package/dist/utils/publish-form-data.js +2 -3
  286. package/dist/utils/publish-policy.d.ts +11 -17
  287. package/dist/utils/publish-policy.fixtures.json +11 -5
  288. package/dist/utils/publish-policy.js +65 -110
  289. package/dist/utils/query-client.d.ts +2 -0
  290. package/dist/utils/query-client.js +10 -1
  291. package/dist/utils/runtime-paths.d.ts +4 -4
  292. package/dist/utils/runtime-paths.js +6 -8
  293. package/dist/utils/runtime-upload.d.ts +9 -0
  294. package/dist/utils/runtime-upload.js +12 -0
  295. package/dist/utils/secure-local-file.d.ts +3 -3
  296. package/dist/utils/secure-local-file.js +23 -40
  297. package/dist/utils/space-config.d.ts +12 -15
  298. package/dist/utils/space-config.js +13 -16
  299. package/dist/utils/static-runtime-policy.d.ts +10 -7
  300. package/dist/utils/static-runtime-policy.fixtures.json +38 -41
  301. package/dist/utils/static-runtime-policy.generated.d.ts +16 -0
  302. package/dist/utils/static-runtime-policy.generated.js +70 -0
  303. package/dist/utils/static-runtime-policy.js +31 -132
  304. package/dist/utils/storage-policy.js +1 -2
  305. package/dist/utils/upload-session.d.ts +4 -1
  306. package/dist/utils/upload-session.js +41 -19
  307. package/dist/utils/version-path.js +11 -19
  308. package/dist/utils/wpcom-auth-redirects.d.ts +5 -14
  309. package/dist/utils/wpcom-auth-redirects.js +1 -4
  310. package/dist/vocabulary.d.ts +13 -13
  311. package/dist/vocabulary.js +52 -27
  312. package/package.json +15 -18
  313. package/dist/agents/client-registry.d.ts +0 -22
  314. package/dist/agents/client-registry.js +0 -41
  315. package/dist/docs/agent-handoff-document.d.ts +0 -15
  316. package/dist/docs/agent-handoff-document.js +0 -180
  317. package/dist/docs/agent-solutions.d.ts +0 -110
  318. package/dist/docs/agent-solutions.js +0 -183
  319. package/dist/utils/query-keys.d.ts +0 -84
  320. package/dist/utils/query-keys.js +0 -108
@@ -39,6 +39,7 @@ export const ERROR_CODE_META = {
39
39
  api_key_scope_underivable: { retryable: false, recovery: "fix_input" },
40
40
  archive_too_large: { retryable: false, recovery: "fix_input" },
41
41
  auth_code_required: { retryable: false, recovery: "re_auth" },
42
+ authorization_level_not_allowed: { retryable: false, recovery: "contact_support" },
42
43
  authorization_pending: { retryable: true, recovery: "wait" },
43
44
  blob_gate_record_missing: { retryable: false, recovery: "fix_input" },
44
45
  blob_gate_token_invalid: { retryable: false, recovery: "re_auth" },
@@ -49,6 +50,14 @@ export const ERROR_CODE_META = {
49
50
  build_no_index_html: { retryable: false, recovery: "fix_input" },
50
51
  build_not_created: { retryable: false, recovery: "fix_input" },
51
52
  build_oom: { retryable: false, recovery: "fix_input" },
53
+ build_output_contains_server_bundle: {
54
+ retryable: false,
55
+ recovery: "fix_input",
56
+ next: [
57
+ "sf publish (the Spacefast CLI runs the Functions pipeline for server apps)",
58
+ "Or point the output directory at a browser-ready export",
59
+ ],
60
+ },
52
61
  build_output_dir_missing: { retryable: false, recovery: "fix_input" },
53
62
  build_timeout: { retryable: true, recovery: "retry" },
54
63
  cache_purge_domain_required: { retryable: false, recovery: "fix_input" },
@@ -68,6 +77,19 @@ export const ERROR_CODE_META = {
68
77
  config_runtime_entry_missing: { retryable: false, recovery: "fix_input" },
69
78
  config_runtime_invalid_kind: { retryable: false, recovery: "fix_input" },
70
79
  config_templates_over_limit: { retryable: false, recovery: "fix_input" },
80
+ confirmation_denied: { retryable: false, recovery: "contact_support" },
81
+ confirmation_expired: { retryable: false, recovery: "fix_input" },
82
+ confirmation_mismatch: { retryable: false, recovery: "fix_input" },
83
+ confirmation_required: {
84
+ retryable: false,
85
+ recovery: "wait",
86
+ next: [
87
+ "Open the `url` in the error details so a person can approve or deny it",
88
+ "POST the `continuationToken` to /v1/actions/resume every 5 seconds",
89
+ "Give up after 10 minutes, report to your human, and stop",
90
+ ],
91
+ },
92
+ confirmation_token_required: { retryable: false, recovery: "fix_input" },
71
93
  continuation_unavailable: {
72
94
  retryable: false,
73
95
  recovery: "re_auth",
@@ -90,10 +112,20 @@ export const ERROR_CODE_META = {
90
112
  credential_not_yet_valid: { retryable: true, recovery: "wait" },
91
113
  credential_retired: { retryable: false, recovery: "re_auth" },
92
114
  credential_revoked: { retryable: false, recovery: "re_auth" },
115
+ credential_sponsor_inactive: { retryable: false, recovery: "contact_support" },
93
116
  csam_blocked: { retryable: false, recovery: "contact_support" },
94
117
  csam_policy_floor: { retryable: false, recovery: "contact_support" },
118
+ dashboard_prefs_key_invalid: { retryable: false, recovery: "fix_input" },
119
+ dashboard_prefs_too_large: { retryable: false, recovery: "fix_input" },
120
+ dashboard_prefs_too_many_keys: { retryable: false, recovery: "fix_input" },
95
121
  data_location_immutable: { retryable: false, recovery: "fix_input" },
96
122
  db_not_available: { retryable: false, recovery: "fix_input" },
123
+ decision_execution_lost: { retryable: false, recovery: "fix_input" },
124
+ decision_in_progress: {
125
+ retryable: true,
126
+ recovery: "wait",
127
+ next: ["POST the continuationToken to /v1/actions/resume"],
128
+ },
97
129
  device_authorization_failed: { retryable: false, recovery: "re_auth" },
98
130
  device_verification_rate_limited: {
99
131
  retryable: true,
@@ -159,6 +191,9 @@ export const ERROR_CODE_META = {
159
191
  domain_wildcard_not_enabled: { retryable: false, recovery: "fix_input" },
160
192
  download_required: { retryable: false, recovery: "fix_input" },
161
193
  duplicate_version_path: { retryable: false, recovery: "fix_input" },
194
+ elevation_not_required: { retryable: false, recovery: "fix_input" },
195
+ email_already_claimed: { retryable: false, recovery: "fix_input" },
196
+ email_verification_code_invalid: { retryable: false, recovery: "fix_input" },
162
197
  enforcement_policy_overlap: { retryable: false, recovery: "fix_input" },
163
198
  event_payload_too_large: { retryable: false, recovery: "fix_input" },
164
199
  event_rate_limited: {
@@ -177,13 +212,16 @@ export const ERROR_CODE_META = {
177
212
  inject_invalid: { retryable: false, recovery: "fix_input" },
178
213
  inject_snippet_too_large: { retryable: false, recovery: "fix_input" },
179
214
  ingest_admission_exceeded: { retryable: true, recovery: "wait" },
215
+ insufficient_scope: { retryable: false, recovery: "re_auth" },
180
216
  internal_error: { retryable: true, recovery: "retry" },
181
217
  invalid_claim_token: { retryable: false, recovery: "re_auth" },
182
218
  invalid_continuation_token: { retryable: false, recovery: "re_auth" },
183
219
  invalid_data_location: { retryable: false, recovery: "fix_input" },
220
+ invalid_decision_state: { retryable: false, recovery: "contact_support" },
184
221
  invalid_device_code: { retryable: false, recovery: "re_auth" },
185
222
  invalid_domain: { retryable: false, recovery: "fix_input" },
186
223
  invalid_domain_name: { retryable: false, recovery: "fix_input" },
224
+ invalid_elevation_request: { retryable: false, recovery: "fix_input" },
187
225
  invalid_file_path: { retryable: false, recovery: "fix_input" },
188
226
  invalid_grant: { retryable: false, recovery: "re_auth" },
189
227
  invalid_idempotency_key: { retryable: false, recovery: "fix_input" },
@@ -195,6 +233,9 @@ export const ERROR_CODE_META = {
195
233
  invalid_space: { retryable: false, recovery: "fix_input" },
196
234
  invalid_space_mode: { retryable: false, recovery: "fix_input" },
197
235
  invalid_user_code: { retryable: false, recovery: "re_auth" },
236
+ invalid_usage_bucket: { retryable: false, recovery: "fix_input" },
237
+ invalid_usage_correction: { retryable: false, recovery: "fix_input" },
238
+ invalid_usage_window: { retryable: false, recovery: "fix_input" },
198
239
  invalid_version_path: { retryable: false, recovery: "fix_input" },
199
240
  invalid_webhook_events: { retryable: false, recovery: "fix_input" },
200
241
  invalid_webhook_payload: { retryable: false, recovery: "fix_input" },
@@ -207,6 +248,11 @@ export const ERROR_CODE_META = {
207
248
  invitation_expired: { retryable: false, recovery: "fix_input" },
208
249
  invitation_not_pending: { retryable: false, recovery: "fix_input" },
209
250
  ip_blocked: { retryable: false, recovery: "contact_support" },
251
+ issuer_exists: { retryable: false, recovery: "fix_input" },
252
+ issuer_not_active: { retryable: false, recovery: "re_auth" },
253
+ issuer_proof_invalid: { retryable: false, recovery: "fix_input" },
254
+ issuer_tenant_occupied: { retryable: false, recovery: "fix_input" },
255
+ issuer_unknown: { retryable: false, recovery: "re_auth" },
210
256
  job_not_found: { retryable: false, recovery: "fix_input" },
211
257
  job_not_promotable: { retryable: false, recovery: "fix_input" },
212
258
  job_not_removable: { retryable: true, recovery: "wait" },
@@ -231,17 +277,36 @@ export const ERROR_CODE_META = {
231
277
  name_managed_by_config: { retryable: false, recovery: "fix_input" },
232
278
  nameserver_delegation_required: { retryable: false, recovery: "fix_input" },
233
279
  nameserver_divergence: { retryable: false, recovery: "fix_input" },
280
+ no_space_selected: { retryable: false, recovery: "fix_input" },
234
281
  noop_publish: { retryable: false, recovery: "fix_input" },
235
282
  not_enrolled: { retryable: false, recovery: "fix_input" },
236
283
  not_found: { retryable: false, recovery: "fix_input" },
284
+ partner_preset_not_grantable: { retryable: false, recovery: "fix_input" },
285
+ partner_tenant_immutable_client: { retryable: false, recovery: "fix_input" },
286
+ password_already_set: { retryable: false, recovery: "fix_input" },
287
+ password_compromised: { retryable: false, recovery: "fix_input" },
237
288
  path_case_collision: { retryable: false, recovery: "fix_input" },
238
289
  path_too_long: { retryable: false, recovery: "fix_input" },
239
290
  plan_grant_already_active: { retryable: false, recovery: "fix_input" },
240
291
  plan_grant_already_revoked: { retryable: false, recovery: "fix_input" },
292
+ plan_unknown: { retryable: false, recovery: "fix_input" },
241
293
  placement_invalid_burstable: { retryable: false, recovery: "fix_input" },
242
- platform_tenant_immutable_client: { retryable: false, recovery: "fix_input" },
243
294
  policy_exceeds_grantor: { retryable: false, recovery: "fix_input" },
295
+ prebuilt_metadata_invalid: {
296
+ retryable: false,
297
+ recovery: "fix_input",
298
+ next: [
299
+ "sf build",
300
+ "Delete the archive's .meta.json sidecar if the archive contains plain files",
301
+ ],
302
+ },
303
+ primary_email_not_removable: { retryable: false, recovery: "fix_input" },
304
+ principal_closed: { retryable: false, recovery: "contact_support" },
305
+ principal_has_active_spaces: { retryable: false, recovery: "fix_input" },
306
+ principal_not_found: { retryable: false, recovery: "fix_input" },
244
307
  principal_space_mismatch: { retryable: false, recovery: "fix_input" },
308
+ principal_suspended: { retryable: false, recovery: "contact_support" },
309
+ principal_suspension_locked: { retryable: false, recovery: "contact_support" },
245
310
  provider_error: { retryable: true, recovery: "retry" },
246
311
  provider_job_failed: { retryable: true, recovery: "retry" },
247
312
  provider_job_timeout: { retryable: true, recovery: "retry" },
@@ -249,6 +314,13 @@ export const ERROR_CODE_META = {
249
314
  provider_runtime_feature_unsupported: { retryable: false, recovery: "fix_input" },
250
315
  provider_site_id_required: { retryable: false, recovery: "fix_input" },
251
316
  promote_admission_exceeded: { retryable: true, recovery: "wait" },
317
+ promotion_live_content_missing: { retryable: false, recovery: "fix_input" },
318
+ promotion_live_system_space_invalid: { retryable: false, recovery: "fix_input" },
319
+ promotion_live_system_space_not_designated: { retryable: false, recovery: "fix_input" },
320
+ promotion_not_live_tenant: { retryable: false, recovery: "fix_input" },
321
+ promotion_nothing_to_promote: { retryable: false, recovery: "fix_input" },
322
+ promotion_runtime_publish_incomplete: { retryable: true, recovery: "retry" },
323
+ promotion_test_twin_missing: { retryable: false, recovery: "fix_input" },
252
324
  proxy_upstream_denied: { retryable: false, recovery: "fix_input" },
253
325
  proxy_upstream_unresolved: { retryable: false, recovery: "fix_input" },
254
326
  publish_archive_compression_ratio_exceeded: { retryable: false, recovery: "fix_input" },
@@ -271,6 +343,7 @@ export const ERROR_CODE_META = {
271
343
  publish_upload_failed: { retryable: true, recovery: "retry" },
272
344
  publish_verification_failed: { retryable: true, recovery: "retry" },
273
345
  queue_not_found: { retryable: false, recovery: "fix_input" },
346
+ quota_exceeded: { retryable: false, recovery: "fix_input" },
274
347
  rate_limited: {
275
348
  retryable: true,
276
349
  recovery: "wait",
@@ -297,6 +370,7 @@ export const ERROR_CODE_META = {
297
370
  response_table_too_large: { retryable: false, recovery: "fix_input" },
298
371
  review_item_claimed: { retryable: false, recovery: "fix_input" },
299
372
  runtime_purge_failed: { retryable: true, recovery: "retry" },
373
+ runtime_release_unverifiable: { retryable: false, recovery: "fix_input" },
300
374
  runtime_scope_forbidden: { retryable: false, recovery: "re_auth" },
301
375
  runtime_token_bad_signature: { retryable: false, recovery: "re_auth" },
302
376
  runtime_token_expired: { retryable: false, recovery: "re_auth" },
@@ -312,6 +386,7 @@ export const ERROR_CODE_META = {
312
386
  next: ["Retry after the Retry-After seconds"],
313
387
  },
314
388
  service_signature_invalid: { retryable: false, recovery: "re_auth" },
389
+ session_not_fresh: { retryable: false, recovery: "re_auth" },
315
390
  site_already_deleted: { retryable: false, recovery: "fix_input" },
316
391
  site_has_live_spaces: { retryable: false, recovery: "fix_input" },
317
392
  site_not_static: { retryable: false, recovery: "fix_input" },
@@ -356,6 +431,7 @@ export const ERROR_CODE_META = {
356
431
  space_person_self_invite: { retryable: false, recovery: "fix_input" },
357
432
  space_ref_ambiguous: { retryable: false, recovery: "fix_input" },
358
433
  space_ref_required: { retryable: false, recovery: "fix_input" },
434
+ space_selection_conflict: { retryable: false, recovery: "fix_input" },
359
435
  space_transferring: { retryable: false, recovery: "fix_input" },
360
436
  space_unclaimed: { retryable: false, recovery: "fix_input" },
361
437
  ssl_renewal_blocked: { retryable: false, recovery: "fix_input" },
@@ -375,11 +451,16 @@ export const ERROR_CODE_META = {
375
451
  storage_quota_exceeded: { retryable: false, recovery: "fix_input" },
376
452
  storage_unavailable: { retryable: true, recovery: "retry" },
377
453
  stripe_error: { retryable: true, recovery: "retry" },
454
+ superadmin_two_factor_required: { retryable: false, recovery: "fix_input" },
455
+ superadmin_wpcom_account_required: { retryable: false, recovery: "fix_input" },
378
456
  superseded_by_publish: { retryable: false, recovery: "fix_input" },
457
+ system_space_conflict: { retryable: false, recovery: "fix_input" },
458
+ system_space_invalid: { retryable: false, recovery: "fix_input" },
379
459
  takeover_notice_window: { retryable: true, recovery: "wait" },
380
460
  team_member_quota_exceeded: { retryable: false, recovery: "fix_input" },
381
461
  team_ref_required: { retryable: false, recovery: "fix_input" },
382
462
  team_required: { retryable: false, recovery: "fix_input" },
463
+ team_scope_mismatch: { retryable: false, recovery: "fix_input" },
383
464
  team_slug_conflict: { retryable: false, recovery: "fix_input" },
384
465
  template_file_too_large: { retryable: false, recovery: "fix_input" },
385
466
  template_not_in_version: { retryable: false, recovery: "fix_input" },
@@ -391,6 +472,15 @@ export const ERROR_CODE_META = {
391
472
  tenant_selection_required: { retryable: false, recovery: "fix_input" },
392
473
  tenant_suspended: { retryable: false, recovery: "contact_support" },
393
474
  theme_value_invalid: { retryable: false, recovery: "fix_input" },
475
+ token_alg_invalid: { retryable: false, recovery: "re_auth" },
476
+ token_audience_mismatch: { retryable: false, recovery: "re_auth" },
477
+ token_claims_invalid: { retryable: false, recovery: "re_auth" },
478
+ token_header_forbidden: { retryable: false, recovery: "re_auth" },
479
+ token_malformed: { retryable: false, recovery: "re_auth" },
480
+ token_signature_invalid: { retryable: false, recovery: "re_auth" },
481
+ token_subject_invalid: { retryable: false, recovery: "re_auth" },
482
+ token_ttl_invalid: { retryable: false, recovery: "re_auth" },
483
+ token_type_invalid: { retryable: false, recovery: "re_auth" },
394
484
  transfer_cross_tenant_unsupported: { retryable: false, recovery: "fix_input" },
395
485
  transfer_not_cancelable: { retryable: false, recovery: "fix_input" },
396
486
  transfer_push_failed: { retryable: true, recovery: "retry" },
@@ -403,6 +493,7 @@ export const ERROR_CODE_META = {
403
493
  upload_path_not_canonical: { retryable: false, recovery: "fix_input" },
404
494
  upload_path_not_declared: { retryable: false, recovery: "fix_input" },
405
495
  upload_size_mismatch: { retryable: false, recovery: "fix_input" },
496
+ usage_period_not_found: { retryable: false, recovery: "fix_input" },
406
497
  user_banned: { retryable: false, recovery: "contact_support" },
407
498
  validation_error: { retryable: false, recovery: "fix_input" },
408
499
  verification_required: { retryable: false, recovery: "re_auth" },
@@ -428,6 +519,7 @@ export const ERROR_CODE_META = {
428
519
  version_quota_exceeded: { retryable: false, recovery: "fix_input" },
429
520
  version_total_bytes_exceeded: { retryable: false, recovery: "fix_input" },
430
521
  webhook_delivery_budget_exceeded: { retryable: false, recovery: "fix_input" },
522
+ webhook_managed_by_manifest: { retryable: false, recovery: "fix_input" },
431
523
  whois_unavailable: { retryable: true, recovery: "retry" },
432
524
  wp_cloud_assignment_kind_mismatch: { retryable: false, recovery: "fix_input" },
433
525
  wp_cloud_assignment_space_mismatch: { retryable: false, recovery: "fix_input" },
@@ -496,7 +588,9 @@ export const ERROR_CODE_META = {
496
588
  zero_endpoint_not_found: { retryable: false, recovery: "fix_input" },
497
589
  zero_endpoints_invalid: { retryable: false, recovery: "fix_input" },
498
590
  zero_endpoints_too_many: { retryable: false, recovery: "fix_input" },
591
+ zero_email_unavailable: { retryable: false, recovery: "fix_input" },
499
592
  zero_envelope_encode_failed: { retryable: true, recovery: "retry" },
593
+ zero_gravatar_unavailable: { retryable: false, recovery: "fix_input" },
500
594
  zero_js_context_init_failed: { retryable: true, recovery: "retry" },
501
595
  zero_js_execution_failed: { retryable: false, recovery: "fix_input" },
502
596
  zero_js_execution_timeout: { retryable: false, recovery: "fix_input" },
@@ -538,12 +632,10 @@ export const ERROR_CODE_META = {
538
632
  zero_runner_unavailable: { retryable: false, recovery: "fix_input" },
539
633
  zero_runs_invalid: { retryable: false, recovery: "fix_input" },
540
634
  zero_runs_require_runtime_compiler: { retryable: false, recovery: "fix_input" },
635
+ zero_spam_unavailable: { retryable: false, recovery: "fix_input" },
541
636
  zero_runs_too_many: { retryable: false, recovery: "fix_input" },
542
637
  };
543
- /**
544
- * Resolve the metadata for an error code, degrading to a safe `contact_support` default for
545
- * codes outside the table (dynamic provider passthrough, codes from a newer control plane).
546
- */
638
+ /** Metadata for an error code, or `DEFAULT_ERROR_CODE_META` when it is outside the table. */
547
639
  export function errorCodeMeta(code) {
548
640
  return ERROR_CODE_META[code] ?? DEFAULT_ERROR_CODE_META;
549
641
  }
@@ -1,16 +1,16 @@
1
1
  export declare const ERROR_DOCS_BASE_URL: string;
2
2
  /** Media type of every 4xx/5xx response body (RFC 9457 problem details). */
3
3
  export declare const PROBLEM_CONTENT_TYPE = "application/problem+json";
4
- /** Problem `type` URI derivation rule: docs origin + `/{code}`. Asserted by the conformance suite. */
4
+ /** Problem `type` URI: docs origin + `/{code}`. Asserted by the conformance suite. */
5
5
  export declare function errorDocsUrl(code: string): string;
6
- /** Problem `title` derivation rule: the snake_case code as a sentence ("version_not_found" "Version not found"). */
6
+ /** Problem `title`: the snake_case code as a sentence ("version_not_found" -> "Version not found"). */
7
7
  export declare function errorTitle(code: string): string;
8
- export declare const ERROR_CODES: readonly ["abuse_report_invalid_transition", "abuse_report_rate_limited", "abuse_takedown", "access_denied", "account_suspended", "agent_handoff_declined", "agent_handoff_limit_reached", "agent_handoff_origin_unsupported", "ambiguous_space_slug", "anonymous_expired", "anonymous_publish_rate_limited", "anonymous_space_limit_reached", "api_key_scope_underivable", "archive_too_large", "auth_code_required", "authorization_pending", "blob_gate_record_missing", "blob_gate_token_invalid", "build_command_missing", "build_execution_unavailable", "build_failed", "build_install_failed", "build_no_index_html", "build_not_created", "build_oom", "build_output_dir_missing", "build_timeout", "cache_purge_domain_required", "cache_purge_path_required", "channel_name_reserved", "channel_pointer_moved", "channel_unsupported", "claim_blocked_takedown", "claim_target_not_found", "claimed_space_quota_exceeded", "cli_upgrade_required", "config_file_too_large", "config_functions_key_removed", "config_invalid", "config_meta_too_long", "config_name_too_long", "config_runtime_entry_missing", "config_runtime_invalid_kind", "config_templates_over_limit", "continuation_unavailable", "continuation_used", "credential_expired", "credential_not_yet_valid", "credential_retired", "credential_revoked", "csam_blocked", "csam_policy_floor", "data_location_immutable", "db_not_available", "device_authorization_failed", "device_verification_rate_limited", "dns_export_required", "dns_field_conflict", "dns_field_not_applicable", "dns_import_partial_visibility", "dns_provider_auth_expired", "dns_provider_batch_unsupported", "dns_provider_change_pending", "dns_provider_conflict", "dns_provider_connection_in_use", "dns_provider_connection_unavailable", "dns_provider_controlled_desired_state", "dns_provider_credentials_expired", "dns_provider_feature_descriptors", "dns_provider_feature_unavailable", "dns_provider_field_unsupported", "dns_provider_future_authoritative_backend", "dns_provider_missing_permission", "dns_provider_not_connected", "dns_provider_operation_failed", "dns_provider_permission_denied", "dns_provider_rate_limited", "dns_provider_replace_all_requires_fresh_plan", "dns_provider_replace_all_write_strategy", "dns_provider_snapshot_stale", "dns_provider_snapshot_unavailable", "dns_provider_temporarily_unavailable", "dns_provider_timeout", "dns_provider_validation_failed", "dns_provider_workflow_templates", "dns_provider_zone_not_found", "dns_record_conflicts_with_managed", "dns_record_managed", "dns_record_not_found", "domain_already_exists", "domain_bound", "domain_facet_already_managed", "domain_facet_external", "domain_facet_not_applicable", "domain_hostname_site_mismatch", "domain_in_use", "domain_lookup_rate_limited", "domain_not_bound", "domain_quota_exceeded", "domain_registration_active", "domain_registration_not_renewable", "domain_reserved_suffix", "domain_transfer_active", "domain_wildcard_label", "domain_wildcard_not_enabled", "download_required", "duplicate_version_path", "enforcement_policy_overlap", "event_payload_too_large", "event_rate_limited", "expired_token", "feature_unavailable", "files_mode_does_not_support_spa", "forbidden", "free_external_proxy_disabled", "idempotency_conflict_in_progress", "idempotency_key_reused", "incumbent_controls_dns", "ingest_admission_exceeded", "inject_invalid", "inject_snippet_too_large", "internal_error", "invalid_claim_token", "invalid_continuation_token", "invalid_data_location", "invalid_device_code", "invalid_domain", "invalid_domain_name", "invalid_file_path", "invalid_grant", "invalid_idempotency_key", "invalid_publish_archive", "invalid_publish_path", "invalid_publish_payload", "invalid_request", "invalid_runtime_event", "invalid_space", "invalid_space_mode", "invalid_user_code", "invalid_version_path", "invalid_webhook_events", "invalid_webhook_payload", "invalid_webhook_signature", "invalid_webhook_url", "invalid_zero_realtime_event", "invalid_zero_realtime_replay_query", "invitation_already_exists", "invitation_email_mismatch", "invitation_expired", "invitation_not_pending", "ip_blocked", "job_not_found", "job_not_promotable", "job_not_removable", "job_not_retryable", "last_owner", "log_retention_clamped", "lost_domain_control", "maintenance_in_progress", "malware_detected", "managed_domain_protected", "manifest_body_too_large", "manifest_duplicate_path", "manifest_too_many_files", "member_already_exists", "method_not_allowed", "missing_route_param", "move_target_capacity_lost", "name_managed_by_config", "nameserver_delegation_required", "nameserver_divergence", "noop_publish", "not_enrolled", "not_found", "path_case_collision", "path_too_long", "placement_invalid_burstable", "plan_grant_already_active", "plan_grant_already_revoked", "platform_tenant_immutable_client", "policy_exceeds_grantor", "principal_space_mismatch", "promote_admission_exceeded", "provider_error", "provider_job_failed", "provider_job_timeout", "provider_privilege", "provider_runtime_feature_unsupported", "provider_site_id_required", "proxy_upstream_denied", "proxy_upstream_unresolved", "publish_archive_compression_ratio_exceeded", "publish_archive_expanded_size_exceeded", "publish_archive_file_count_exceeded", "publish_archive_too_large", "publish_base_changed", "publish_bytes_missing", "publish_config_unsupported", "publish_failed", "publish_file_missing", "publish_hash_mismatch", "publish_inline_limit_exceeded", "publish_not_cancelable", "publish_path_collision", "publish_path_invalid", "publish_session_expired", "publish_setup_failed", "publish_snapshot_empty", "publish_upload_failed", "publish_verification_failed", "queue_not_found", "rate_limited", "registration_expired", "registration_expiring", "resource_revision_changed", "response_headers_unservable", "response_table_too_large", "review_item_claimed", "routing_rules_over_plan", "runtime_action_forbidden", "runtime_api_not_found", "runtime_callback_forbidden", "runtime_dev_unsupported", "runtime_hostname_unassigned", "runtime_instance_mismatch", "runtime_jti_missing", "runtime_jti_replayed", "runtime_jwks_key_missing", "runtime_kind_mismatch", "runtime_management_unavailable", "runtime_not_provisioned", "runtime_operation_missing", "runtime_purge_failed", "runtime_scope_forbidden", "runtime_token_bad_signature", "runtime_token_expired", "runtime_token_invalid", "runtime_unauthorized", "runtime_upload_operation_not_supported", "runtime_upload_required", "scan_pending", "secret_variable_in_template", "service_booting", "service_signature_invalid", "site_already_deleted", "site_has_live_spaces", "site_not_static", "site_required", "site_suspended", "slow_down", "slug_invalid", "slug_reserved", "slug_unavailable", "source_archive_decompression_timeout", "source_archive_expansion_ratio_exceeded", "source_archive_validation_busy", "space_already_claimed", "space_claim_unavailable", "space_claimed_credential_available", "space_disabled", "space_expired", "space_has_active_publish", "space_has_active_version", "space_hostname_identity_missing", "space_no_live_version", "space_not_disabled", "space_not_restorable", "space_person_already_member", "space_person_invitation_pending", "space_person_self_invite", "space_ref_ambiguous", "space_ref_required", "space_transferring", "space_unclaimed", "ssl_renewal_blocked", "static_control_file_not_supported", "static_runtime_control_path_not_supported", "static_runtime_required", "storage_auth_required", "storage_bucket_unavailable", "storage_content_blocked", "storage_delete_forbidden", "storage_empty_file", "storage_file_too_large", "storage_key_invalid", "storage_object_not_found", "storage_quota_already_unlimited", "storage_quota_decrease_not_supported", "storage_quota_exceeded", "storage_unavailable", "stripe_error", "superseded_by_publish", "takeover_notice_window", "team_member_quota_exceeded", "team_ref_required", "team_required", "team_slug_conflict", "template_file_too_large", "template_not_in_version", "template_variable_unresolved", "tenant_id_mismatch", "tenant_not_found", "tenant_not_granted", "tenant_past_due", "tenant_selection_required", "tenant_suspended", "theme_value_invalid", "transfer_cross_tenant_unsupported", "transfer_not_cancelable", "transfer_push_failed", "transfer_source_changed", "transfer_target_same_as_source", "transfer_verify_failed", "unauthorized", "unsupported_publish_media_type", "upload_hash_mismatch", "upload_path_not_canonical", "upload_path_not_declared", "upload_size_mismatch", "user_banned", "validation_error", "verification_required", "version_already_live", "version_artifact_not_found", "version_busy", "version_canceled", "version_closed", "version_expired", "version_failed", "version_file_count_exceeded", "version_file_not_found", "version_file_too_large", "version_files_missing", "version_in_use", "version_live", "version_no_publishable_files", "version_not_finalizable", "version_not_found", "version_not_prepared", "version_not_promotable", "version_not_ready", "version_quota_exceeded", "version_total_bytes_exceeded", "webhook_delivery_budget_exceeded", "whois_unavailable", "wp_cloud_assignment_kind_mismatch", "wp_cloud_assignment_space_mismatch", "wp_cloud_assignment_team_mismatch", "wp_cloud_client_in_use", "wp_cloud_client_not_found", "wp_cloud_site_still_assigned", "wp_cloud_team_shared_site_exists", "wp_cloud_webhook_secret_not_configured", "zero_ai_unavailable", "zero_artifact_abi_mismatch", "zero_artifact_invalid", "zero_artifact_malformed", "zero_artifact_path_invalid", "zero_artifact_unreadable", "zero_auth_unavailable", "zero_blob_key_invalid", "zero_blob_store_full", "zero_blob_too_large", "zero_blob_value_invalid", "zero_bootstrap_encode_failed", "zero_bytecode_hash_mismatch", "zero_bytecode_invalid", "zero_bytecode_path_invalid", "zero_bytecode_unreadable", "zero_capabilities_encode_failed", "zero_client_bundle_not_loaded", "zero_db_connect_failed", "zero_db_execute_failed", "zero_db_export_cursor_invalid", "zero_db_export_failed", "zero_db_export_page_too_large", "zero_db_export_query_invalid", "zero_db_export_schema_changed", "zero_db_export_schema_unavailable", "zero_db_host_install_failed", "zero_db_operation_invalid", "zero_db_operation_too_large", "zero_db_param_invalid", "zero_db_query_failed", "zero_db_row_invalid", "zero_db_sql_invalid", "zero_db_target_denied", "zero_db_tls_required", "zero_db_too_many_params", "zero_db_transaction_active", "zero_db_transaction_commit_failed", "zero_db_transaction_invalid", "zero_db_transaction_missing", "zero_db_transaction_rollback_failed", "zero_db_transaction_start_failed", "zero_db_url_invalid", "zero_db_url_missing", "zero_dev_endpoint_failed", "zero_dump_query_invalid", "zero_endpoint_compile_failed", "zero_endpoint_conflict", "zero_endpoint_duplicate", "zero_endpoint_id_duplicate", "zero_endpoint_index_invalid", "zero_endpoint_index_malformed", "zero_endpoint_index_path_invalid", "zero_endpoint_index_unreadable", "zero_endpoint_invalid", "zero_endpoint_mismatch", "zero_endpoint_not_found", "zero_endpoints_invalid", "zero_endpoints_too_many", "zero_envelope_encode_failed", "zero_js_context_init_failed", "zero_js_execution_failed", "zero_js_execution_timeout", "zero_js_globals_failed", "zero_js_response_malformed", "zero_js_runtime_init_failed", "zero_log_query_invalid", "zero_method_not_allowed", "zero_migration_failed", "zero_query_name_missing", "zero_realtime_forbidden", "zero_realtime_message_invalid", "zero_realtime_operation_unsupported", "zero_realtime_query_invalid", "zero_realtime_space_required", "zero_realtime_unavailable", "zero_realtime_websocket_forbidden", "zero_replay_failed", "zero_replay_query_invalid", "zero_replay_unavailable", "zero_request_body_too_large", "zero_response_header_forbidden", "zero_response_header_invalid", "zero_response_too_large", "zero_routes_invalid", "zero_run_compile_failed", "zero_run_duplicate", "zero_run_invalid", "zero_run_operation_unsupported", "zero_runner_envelope_invalid", "zero_runner_failed", "zero_runner_invalid_body", "zero_runner_invalid_response", "zero_runner_invalid_status", "zero_runner_protocol_unsupported", "zero_runner_response_encode_failed", "zero_runner_stdin_invalid", "zero_runner_stdin_too_large", "zero_runner_unavailable", "zero_runs_invalid", "zero_runs_require_runtime_compiler", "zero_runs_too_many"];
8
+ export declare const ERROR_CODES: readonly ["abuse_report_invalid_transition", "abuse_report_rate_limited", "abuse_takedown", "access_denied", "account_suspended", "agent_handoff_declined", "agent_handoff_limit_reached", "agent_handoff_origin_unsupported", "ambiguous_space_slug", "anonymous_expired", "anonymous_publish_rate_limited", "anonymous_space_limit_reached", "api_key_scope_underivable", "archive_too_large", "auth_code_required", "authorization_level_not_allowed", "authorization_pending", "blob_gate_record_missing", "blob_gate_token_invalid", "build_command_missing", "build_execution_unavailable", "build_failed", "build_install_failed", "build_no_index_html", "build_not_created", "build_oom", "build_output_contains_server_bundle", "build_output_dir_missing", "build_timeout", "cache_purge_domain_required", "cache_purge_path_required", "channel_name_reserved", "channel_pointer_moved", "channel_unsupported", "claim_blocked_takedown", "claim_target_not_found", "claimed_space_quota_exceeded", "cli_upgrade_required", "config_file_too_large", "config_functions_key_removed", "config_invalid", "config_meta_too_long", "config_name_too_long", "config_runtime_entry_missing", "config_runtime_invalid_kind", "config_templates_over_limit", "confirmation_denied", "confirmation_expired", "confirmation_mismatch", "confirmation_required", "confirmation_token_required", "continuation_unavailable", "continuation_used", "credential_expired", "credential_not_yet_valid", "credential_retired", "credential_revoked", "credential_sponsor_inactive", "csam_blocked", "csam_policy_floor", "dashboard_prefs_key_invalid", "dashboard_prefs_too_large", "dashboard_prefs_too_many_keys", "data_location_immutable", "db_not_available", "decision_execution_lost", "decision_in_progress", "device_authorization_failed", "device_verification_rate_limited", "dns_export_required", "dns_field_conflict", "dns_field_not_applicable", "dns_import_partial_visibility", "dns_provider_auth_expired", "dns_provider_batch_unsupported", "dns_provider_change_pending", "dns_provider_conflict", "dns_provider_connection_in_use", "dns_provider_connection_unavailable", "dns_provider_controlled_desired_state", "dns_provider_credentials_expired", "dns_provider_feature_descriptors", "dns_provider_feature_unavailable", "dns_provider_field_unsupported", "dns_provider_future_authoritative_backend", "dns_provider_missing_permission", "dns_provider_not_connected", "dns_provider_operation_failed", "dns_provider_permission_denied", "dns_provider_rate_limited", "dns_provider_replace_all_requires_fresh_plan", "dns_provider_replace_all_write_strategy", "dns_provider_snapshot_stale", "dns_provider_snapshot_unavailable", "dns_provider_temporarily_unavailable", "dns_provider_timeout", "dns_provider_validation_failed", "dns_provider_workflow_templates", "dns_provider_zone_not_found", "dns_record_conflicts_with_managed", "dns_record_managed", "dns_record_not_found", "domain_already_exists", "domain_bound", "domain_facet_already_managed", "domain_facet_external", "domain_facet_not_applicable", "domain_hostname_site_mismatch", "domain_in_use", "domain_lookup_rate_limited", "domain_not_bound", "domain_quota_exceeded", "domain_registration_active", "domain_registration_not_renewable", "domain_reserved_suffix", "domain_transfer_active", "domain_wildcard_label", "domain_wildcard_not_enabled", "download_required", "duplicate_version_path", "elevation_not_required", "email_already_claimed", "email_verification_code_invalid", "enforcement_policy_overlap", "event_payload_too_large", "event_rate_limited", "expired_token", "feature_unavailable", "files_mode_does_not_support_spa", "forbidden", "free_external_proxy_disabled", "idempotency_conflict_in_progress", "idempotency_key_reused", "incumbent_controls_dns", "ingest_admission_exceeded", "inject_invalid", "inject_snippet_too_large", "insufficient_scope", "internal_error", "invalid_claim_token", "invalid_continuation_token", "invalid_data_location", "invalid_decision_state", "invalid_device_code", "invalid_domain", "invalid_domain_name", "invalid_elevation_request", "invalid_file_path", "invalid_grant", "invalid_idempotency_key", "invalid_publish_archive", "invalid_publish_path", "invalid_publish_payload", "invalid_request", "invalid_runtime_event", "invalid_space", "invalid_space_mode", "invalid_usage_bucket", "invalid_usage_correction", "invalid_usage_window", "invalid_user_code", "invalid_version_path", "invalid_webhook_events", "invalid_webhook_payload", "invalid_webhook_signature", "invalid_webhook_url", "invalid_zero_realtime_event", "invalid_zero_realtime_replay_query", "invitation_already_exists", "invitation_email_mismatch", "invitation_expired", "invitation_not_pending", "ip_blocked", "issuer_exists", "issuer_not_active", "issuer_proof_invalid", "issuer_tenant_occupied", "issuer_unknown", "job_not_found", "job_not_promotable", "job_not_removable", "job_not_retryable", "last_owner", "log_retention_clamped", "lost_domain_control", "maintenance_in_progress", "malware_detected", "managed_domain_protected", "manifest_body_too_large", "manifest_duplicate_path", "manifest_too_many_files", "member_already_exists", "method_not_allowed", "missing_route_param", "move_target_capacity_lost", "name_managed_by_config", "nameserver_delegation_required", "nameserver_divergence", "no_space_selected", "noop_publish", "not_enrolled", "not_found", "partner_preset_not_grantable", "partner_tenant_immutable_client", "password_already_set", "password_compromised", "path_case_collision", "path_too_long", "placement_invalid_burstable", "plan_grant_already_active", "plan_grant_already_revoked", "plan_unknown", "policy_exceeds_grantor", "prebuilt_metadata_invalid", "primary_email_not_removable", "principal_closed", "principal_has_active_spaces", "principal_not_found", "principal_space_mismatch", "principal_suspended", "principal_suspension_locked", "promote_admission_exceeded", "promotion_live_content_missing", "promotion_live_system_space_invalid", "promotion_live_system_space_not_designated", "promotion_not_live_tenant", "promotion_nothing_to_promote", "promotion_runtime_publish_incomplete", "promotion_test_twin_missing", "provider_error", "provider_job_failed", "provider_job_timeout", "provider_privilege", "provider_runtime_feature_unsupported", "provider_site_id_required", "proxy_upstream_denied", "proxy_upstream_unresolved", "publish_archive_compression_ratio_exceeded", "publish_archive_expanded_size_exceeded", "publish_archive_file_count_exceeded", "publish_archive_too_large", "publish_base_changed", "publish_bytes_missing", "publish_config_unsupported", "publish_failed", "publish_file_missing", "publish_hash_mismatch", "publish_inline_limit_exceeded", "publish_not_cancelable", "publish_path_collision", "publish_path_invalid", "publish_session_expired", "publish_setup_failed", "publish_snapshot_empty", "publish_upload_failed", "publish_verification_failed", "queue_not_found", "quota_exceeded", "rate_limited", "registration_expired", "registration_expiring", "resource_revision_changed", "response_headers_unservable", "response_table_too_large", "review_item_claimed", "routing_rules_over_plan", "runtime_action_forbidden", "runtime_api_not_found", "runtime_callback_forbidden", "runtime_dev_unsupported", "runtime_hostname_unassigned", "runtime_instance_mismatch", "runtime_jti_missing", "runtime_jti_replayed", "runtime_jwks_key_missing", "runtime_kind_mismatch", "runtime_management_unavailable", "runtime_not_provisioned", "runtime_operation_missing", "runtime_purge_failed", "runtime_release_unverifiable", "runtime_scope_forbidden", "runtime_token_bad_signature", "runtime_token_expired", "runtime_token_invalid", "runtime_unauthorized", "runtime_upload_operation_not_supported", "runtime_upload_required", "scan_pending", "secret_variable_in_template", "service_booting", "service_signature_invalid", "session_not_fresh", "site_already_deleted", "site_has_live_spaces", "site_not_static", "site_required", "site_suspended", "slow_down", "slug_invalid", "slug_reserved", "slug_unavailable", "source_archive_decompression_timeout", "source_archive_expansion_ratio_exceeded", "source_archive_validation_busy", "space_already_claimed", "space_claim_unavailable", "space_claimed_credential_available", "space_disabled", "space_expired", "space_has_active_publish", "space_has_active_version", "space_hostname_identity_missing", "space_no_live_version", "space_not_disabled", "space_not_restorable", "space_person_already_member", "space_person_invitation_pending", "space_person_self_invite", "space_ref_ambiguous", "space_ref_required", "space_selection_conflict", "space_transferring", "space_unclaimed", "ssl_renewal_blocked", "static_control_file_not_supported", "static_runtime_control_path_not_supported", "static_runtime_required", "storage_auth_required", "storage_bucket_unavailable", "storage_content_blocked", "storage_delete_forbidden", "storage_empty_file", "storage_file_too_large", "storage_key_invalid", "storage_object_not_found", "storage_quota_already_unlimited", "storage_quota_decrease_not_supported", "storage_quota_exceeded", "storage_unavailable", "stripe_error", "superadmin_two_factor_required", "superadmin_wpcom_account_required", "superseded_by_publish", "system_space_conflict", "system_space_invalid", "takeover_notice_window", "team_member_quota_exceeded", "team_ref_required", "team_required", "team_scope_mismatch", "team_slug_conflict", "template_file_too_large", "template_not_in_version", "template_variable_unresolved", "tenant_id_mismatch", "tenant_not_found", "tenant_not_granted", "tenant_past_due", "tenant_selection_required", "tenant_suspended", "theme_value_invalid", "token_alg_invalid", "token_audience_mismatch", "token_claims_invalid", "token_header_forbidden", "token_malformed", "token_signature_invalid", "token_subject_invalid", "token_ttl_invalid", "token_type_invalid", "transfer_cross_tenant_unsupported", "transfer_not_cancelable", "transfer_push_failed", "transfer_source_changed", "transfer_target_same_as_source", "transfer_verify_failed", "unauthorized", "unsupported_publish_media_type", "upload_hash_mismatch", "upload_path_not_canonical", "upload_path_not_declared", "upload_size_mismatch", "usage_period_not_found", "user_banned", "validation_error", "verification_required", "version_already_live", "version_artifact_not_found", "version_busy", "version_canceled", "version_closed", "version_expired", "version_failed", "version_file_count_exceeded", "version_file_not_found", "version_file_too_large", "version_files_missing", "version_in_use", "version_live", "version_no_publishable_files", "version_not_finalizable", "version_not_found", "version_not_prepared", "version_not_promotable", "version_not_ready", "version_quota_exceeded", "version_total_bytes_exceeded", "webhook_delivery_budget_exceeded", "webhook_managed_by_manifest", "whois_unavailable", "wp_cloud_assignment_kind_mismatch", "wp_cloud_assignment_space_mismatch", "wp_cloud_assignment_team_mismatch", "wp_cloud_client_in_use", "wp_cloud_client_not_found", "wp_cloud_site_still_assigned", "wp_cloud_team_shared_site_exists", "wp_cloud_webhook_secret_not_configured", "zero_ai_unavailable", "zero_artifact_abi_mismatch", "zero_artifact_invalid", "zero_artifact_malformed", "zero_artifact_path_invalid", "zero_artifact_unreadable", "zero_auth_unavailable", "zero_blob_key_invalid", "zero_blob_store_full", "zero_blob_too_large", "zero_blob_value_invalid", "zero_bootstrap_encode_failed", "zero_bytecode_hash_mismatch", "zero_bytecode_invalid", "zero_bytecode_path_invalid", "zero_bytecode_unreadable", "zero_capabilities_encode_failed", "zero_client_bundle_not_loaded", "zero_db_connect_failed", "zero_db_execute_failed", "zero_db_export_cursor_invalid", "zero_db_export_failed", "zero_db_export_page_too_large", "zero_db_export_query_invalid", "zero_db_export_schema_changed", "zero_db_export_schema_unavailable", "zero_db_host_install_failed", "zero_db_operation_invalid", "zero_db_operation_too_large", "zero_db_param_invalid", "zero_db_query_failed", "zero_db_row_invalid", "zero_db_sql_invalid", "zero_db_target_denied", "zero_db_tls_required", "zero_db_too_many_params", "zero_db_transaction_active", "zero_db_transaction_commit_failed", "zero_db_transaction_invalid", "zero_db_transaction_missing", "zero_db_transaction_rollback_failed", "zero_db_transaction_start_failed", "zero_db_url_invalid", "zero_db_url_missing", "zero_dev_endpoint_failed", "zero_dump_query_invalid", "zero_email_unavailable", "zero_endpoint_compile_failed", "zero_endpoint_conflict", "zero_endpoint_duplicate", "zero_endpoint_id_duplicate", "zero_endpoint_index_invalid", "zero_endpoint_index_malformed", "zero_endpoint_index_path_invalid", "zero_endpoint_index_unreadable", "zero_endpoint_invalid", "zero_endpoint_mismatch", "zero_endpoint_not_found", "zero_endpoints_invalid", "zero_endpoints_too_many", "zero_envelope_encode_failed", "zero_gravatar_unavailable", "zero_js_context_init_failed", "zero_js_execution_failed", "zero_js_execution_timeout", "zero_js_globals_failed", "zero_js_response_malformed", "zero_js_runtime_init_failed", "zero_log_query_invalid", "zero_method_not_allowed", "zero_migration_failed", "zero_query_name_missing", "zero_realtime_forbidden", "zero_realtime_message_invalid", "zero_realtime_operation_unsupported", "zero_realtime_query_invalid", "zero_realtime_space_required", "zero_realtime_unavailable", "zero_realtime_websocket_forbidden", "zero_replay_failed", "zero_replay_query_invalid", "zero_replay_unavailable", "zero_request_body_too_large", "zero_response_header_forbidden", "zero_response_header_invalid", "zero_response_too_large", "zero_routes_invalid", "zero_run_compile_failed", "zero_run_duplicate", "zero_run_invalid", "zero_run_operation_unsupported", "zero_runner_envelope_invalid", "zero_runner_failed", "zero_runner_invalid_body", "zero_runner_invalid_response", "zero_runner_invalid_status", "zero_runner_protocol_unsupported", "zero_runner_response_encode_failed", "zero_runner_stdin_invalid", "zero_runner_stdin_too_large", "zero_runner_unavailable", "zero_runs_invalid", "zero_runs_require_runtime_compiler", "zero_runs_too_many", "zero_spam_unavailable"];
9
9
  export type ErrorCode = (typeof ERROR_CODES)[number];
10
10
  export declare function isErrorCode(value: string): value is ErrorCode;
11
11
  /**
12
12
  * Narrow a dynamically-sourced code (diagnostic conversions, provider passthrough) into the
13
- * table, degrading to `fallback` for codes outside it. Literal constructions never use this;
14
- * they are typed against `ErrorCode` directly.
13
+ * table, degrading to `fallback` for codes outside it. Literal constructions are typed
14
+ * against `ErrorCode` directly and never use this.
15
15
  */
16
16
  export declare function toErrorCode(value: string | null | undefined, fallback: ErrorCode): ErrorCode;
@@ -1,24 +1,20 @@
1
- // The single error-code table (internal-docs/platform.md "Global API Conventions").
2
- // Every problem document `code` the control plane emits is a member of this table, and
3
- // the problem `type` is derived mechanically from the code
4
- // (`https://spacefast.com/docs/errors/{code}`).
5
- // The conformance suite asserts the derivation rule so links never rot, and error docs
6
- // pages are generated from this enum. Control-plane error constructors are typed against
7
- // `ErrorCode`, so emitting a code that is not in the table is a typecheck (CI) failure;
8
- // the remaining untyped string paths (low-level serializer, superadmin Better Auth
9
- // passthrough) fold into the typed problem document in the F2 envelope chunk.
10
- // A code's meaning stays stable while it can be emitted. Retiring an API surface removes
11
- // its dead codes and generated references together. Diagnostic codes share this table so
12
- // every current diagnostic also carries a resolvable docs link.
1
+ // The single error-code table (the platform spec "Global API Conventions").
2
+ // Every problem document `code` the control plane emits is a member of this
3
+ // table, and error docs pages are generated from it. Control-plane error
4
+ // constructors are typed against `ErrorCode`, so emitting a code outside the
5
+ // table is a typecheck failure. A code's meaning stays stable while it can be
6
+ // emitted; retiring an API surface removes its dead codes and generated
7
+ // references together. Diagnostic codes share this table, so every diagnostic
8
+ // carries a resolvable docs link.
13
9
  import { DOCS_BASE_URL } from "../config/domains.js";
14
10
  export const ERROR_DOCS_BASE_URL = `${DOCS_BASE_URL}/errors`;
15
11
  /** Media type of every 4xx/5xx response body (RFC 9457 problem details). */
16
12
  export const PROBLEM_CONTENT_TYPE = "application/problem+json";
17
- /** Problem `type` URI derivation rule: docs origin + `/{code}`. Asserted by the conformance suite. */
13
+ /** Problem `type` URI: docs origin + `/{code}`. Asserted by the conformance suite. */
18
14
  export function errorDocsUrl(code) {
19
15
  return `${ERROR_DOCS_BASE_URL}/${code}`;
20
16
  }
21
- /** Problem `title` derivation rule: the snake_case code as a sentence ("version_not_found" "Version not found"). */
17
+ /** Problem `title`: the snake_case code as a sentence ("version_not_found" -> "Version not found"). */
22
18
  export function errorTitle(code) {
23
19
  const words = code.replaceAll("_", " ");
24
20
  return words.charAt(0).toUpperCase() + words.slice(1);
@@ -39,6 +35,7 @@ export const ERROR_CODES = [
39
35
  "api_key_scope_underivable",
40
36
  "archive_too_large",
41
37
  "auth_code_required",
38
+ "authorization_level_not_allowed",
42
39
  "authorization_pending",
43
40
  "blob_gate_record_missing",
44
41
  "blob_gate_token_invalid",
@@ -49,6 +46,7 @@ export const ERROR_CODES = [
49
46
  "build_no_index_html",
50
47
  "build_not_created",
51
48
  "build_oom",
49
+ "build_output_contains_server_bundle",
52
50
  "build_output_dir_missing",
53
51
  "build_timeout",
54
52
  "cache_purge_domain_required",
@@ -68,16 +66,27 @@ export const ERROR_CODES = [
68
66
  "config_runtime_entry_missing",
69
67
  "config_runtime_invalid_kind",
70
68
  "config_templates_over_limit",
69
+ "confirmation_denied",
70
+ "confirmation_expired",
71
+ "confirmation_mismatch",
72
+ "confirmation_required",
73
+ "confirmation_token_required",
71
74
  "continuation_unavailable",
72
75
  "continuation_used",
73
76
  "credential_expired",
74
77
  "credential_not_yet_valid",
75
78
  "credential_retired",
76
79
  "credential_revoked",
80
+ "credential_sponsor_inactive",
77
81
  "csam_blocked",
78
82
  "csam_policy_floor",
83
+ "dashboard_prefs_key_invalid",
84
+ "dashboard_prefs_too_large",
85
+ "dashboard_prefs_too_many_keys",
79
86
  "data_location_immutable",
80
87
  "db_not_available",
88
+ "decision_execution_lost",
89
+ "decision_in_progress",
81
90
  "device_authorization_failed",
82
91
  "device_verification_rate_limited",
83
92
  "dns_export_required",
@@ -131,6 +140,9 @@ export const ERROR_CODES = [
131
140
  "domain_wildcard_not_enabled",
132
141
  "download_required",
133
142
  "duplicate_version_path",
143
+ "elevation_not_required",
144
+ "email_already_claimed",
145
+ "email_verification_code_invalid",
134
146
  "enforcement_policy_overlap",
135
147
  "event_payload_too_large",
136
148
  "event_rate_limited",
@@ -145,13 +157,16 @@ export const ERROR_CODES = [
145
157
  "ingest_admission_exceeded",
146
158
  "inject_invalid",
147
159
  "inject_snippet_too_large",
160
+ "insufficient_scope",
148
161
  "internal_error",
149
162
  "invalid_claim_token",
150
163
  "invalid_continuation_token",
151
164
  "invalid_data_location",
165
+ "invalid_decision_state",
152
166
  "invalid_device_code",
153
167
  "invalid_domain",
154
168
  "invalid_domain_name",
169
+ "invalid_elevation_request",
155
170
  "invalid_file_path",
156
171
  "invalid_grant",
157
172
  "invalid_idempotency_key",
@@ -162,6 +177,9 @@ export const ERROR_CODES = [
162
177
  "invalid_runtime_event",
163
178
  "invalid_space",
164
179
  "invalid_space_mode",
180
+ "invalid_usage_bucket",
181
+ "invalid_usage_correction",
182
+ "invalid_usage_window",
165
183
  "invalid_user_code",
166
184
  "invalid_version_path",
167
185
  "invalid_webhook_events",
@@ -175,6 +193,11 @@ export const ERROR_CODES = [
175
193
  "invitation_expired",
176
194
  "invitation_not_pending",
177
195
  "ip_blocked",
196
+ "issuer_exists",
197
+ "issuer_not_active",
198
+ "issuer_proof_invalid",
199
+ "issuer_tenant_occupied",
200
+ "issuer_unknown",
178
201
  "job_not_found",
179
202
  "job_not_promotable",
180
203
  "job_not_removable",
@@ -195,18 +218,37 @@ export const ERROR_CODES = [
195
218
  "name_managed_by_config",
196
219
  "nameserver_delegation_required",
197
220
  "nameserver_divergence",
221
+ "no_space_selected",
198
222
  "noop_publish",
199
223
  "not_enrolled",
200
224
  "not_found",
225
+ "partner_preset_not_grantable",
226
+ "partner_tenant_immutable_client",
227
+ "password_already_set",
228
+ "password_compromised",
201
229
  "path_case_collision",
202
230
  "path_too_long",
203
231
  "placement_invalid_burstable",
204
232
  "plan_grant_already_active",
205
233
  "plan_grant_already_revoked",
206
- "platform_tenant_immutable_client",
234
+ "plan_unknown",
207
235
  "policy_exceeds_grantor",
236
+ "prebuilt_metadata_invalid",
237
+ "primary_email_not_removable",
238
+ "principal_closed",
239
+ "principal_has_active_spaces",
240
+ "principal_not_found",
208
241
  "principal_space_mismatch",
242
+ "principal_suspended",
243
+ "principal_suspension_locked",
209
244
  "promote_admission_exceeded",
245
+ "promotion_live_content_missing",
246
+ "promotion_live_system_space_invalid",
247
+ "promotion_live_system_space_not_designated",
248
+ "promotion_not_live_tenant",
249
+ "promotion_nothing_to_promote",
250
+ "promotion_runtime_publish_incomplete",
251
+ "promotion_test_twin_missing",
210
252
  "provider_error",
211
253
  "provider_job_failed",
212
254
  "provider_job_timeout",
@@ -235,6 +277,7 @@ export const ERROR_CODES = [
235
277
  "publish_upload_failed",
236
278
  "publish_verification_failed",
237
279
  "queue_not_found",
280
+ "quota_exceeded",
238
281
  "rate_limited",
239
282
  "registration_expired",
240
283
  "registration_expiring",
@@ -257,6 +300,7 @@ export const ERROR_CODES = [
257
300
  "runtime_not_provisioned",
258
301
  "runtime_operation_missing",
259
302
  "runtime_purge_failed",
303
+ "runtime_release_unverifiable",
260
304
  "runtime_scope_forbidden",
261
305
  "runtime_token_bad_signature",
262
306
  "runtime_token_expired",
@@ -268,6 +312,7 @@ export const ERROR_CODES = [
268
312
  "secret_variable_in_template",
269
313
  "service_booting",
270
314
  "service_signature_invalid",
315
+ "session_not_fresh",
271
316
  "site_already_deleted",
272
317
  "site_has_live_spaces",
273
318
  "site_not_static",
@@ -296,6 +341,7 @@ export const ERROR_CODES = [
296
341
  "space_person_self_invite",
297
342
  "space_ref_ambiguous",
298
343
  "space_ref_required",
344
+ "space_selection_conflict",
299
345
  "space_transferring",
300
346
  "space_unclaimed",
301
347
  "ssl_renewal_blocked",
@@ -315,11 +361,16 @@ export const ERROR_CODES = [
315
361
  "storage_quota_exceeded",
316
362
  "storage_unavailable",
317
363
  "stripe_error",
364
+ "superadmin_two_factor_required",
365
+ "superadmin_wpcom_account_required",
318
366
  "superseded_by_publish",
367
+ "system_space_conflict",
368
+ "system_space_invalid",
319
369
  "takeover_notice_window",
320
370
  "team_member_quota_exceeded",
321
371
  "team_ref_required",
322
372
  "team_required",
373
+ "team_scope_mismatch",
323
374
  "team_slug_conflict",
324
375
  "template_file_too_large",
325
376
  "template_not_in_version",
@@ -331,6 +382,15 @@ export const ERROR_CODES = [
331
382
  "tenant_selection_required",
332
383
  "tenant_suspended",
333
384
  "theme_value_invalid",
385
+ "token_alg_invalid",
386
+ "token_audience_mismatch",
387
+ "token_claims_invalid",
388
+ "token_header_forbidden",
389
+ "token_malformed",
390
+ "token_signature_invalid",
391
+ "token_subject_invalid",
392
+ "token_ttl_invalid",
393
+ "token_type_invalid",
334
394
  "transfer_cross_tenant_unsupported",
335
395
  "transfer_not_cancelable",
336
396
  "transfer_push_failed",
@@ -343,6 +403,7 @@ export const ERROR_CODES = [
343
403
  "upload_path_not_canonical",
344
404
  "upload_path_not_declared",
345
405
  "upload_size_mismatch",
406
+ "usage_period_not_found",
346
407
  "user_banned",
347
408
  "validation_error",
348
409
  "verification_required",
@@ -368,6 +429,7 @@ export const ERROR_CODES = [
368
429
  "version_quota_exceeded",
369
430
  "version_total_bytes_exceeded",
370
431
  "webhook_delivery_budget_exceeded",
432
+ "webhook_managed_by_manifest",
371
433
  "whois_unavailable",
372
434
  "wp_cloud_assignment_kind_mismatch",
373
435
  "wp_cloud_assignment_space_mismatch",
@@ -423,6 +485,7 @@ export const ERROR_CODES = [
423
485
  "zero_db_url_missing",
424
486
  "zero_dev_endpoint_failed",
425
487
  "zero_dump_query_invalid",
488
+ "zero_email_unavailable",
426
489
  "zero_endpoint_compile_failed",
427
490
  "zero_endpoint_conflict",
428
491
  "zero_endpoint_duplicate",
@@ -437,6 +500,7 @@ export const ERROR_CODES = [
437
500
  "zero_endpoints_invalid",
438
501
  "zero_endpoints_too_many",
439
502
  "zero_envelope_encode_failed",
503
+ "zero_gravatar_unavailable",
440
504
  "zero_js_context_init_failed",
441
505
  "zero_js_execution_failed",
442
506
  "zero_js_execution_timeout",
@@ -479,6 +543,7 @@ export const ERROR_CODES = [
479
543
  "zero_runs_invalid",
480
544
  "zero_runs_require_runtime_compiler",
481
545
  "zero_runs_too_many",
546
+ "zero_spam_unavailable",
482
547
  ];
483
548
  const ERROR_CODE_SET = new Set(ERROR_CODES);
484
549
  export function isErrorCode(value) {
@@ -486,8 +551,8 @@ export function isErrorCode(value) {
486
551
  }
487
552
  /**
488
553
  * Narrow a dynamically-sourced code (diagnostic conversions, provider passthrough) into the
489
- * table, degrading to `fallback` for codes outside it. Literal constructions never use this;
490
- * they are typed against `ErrorCode` directly.
554
+ * table, degrading to `fallback` for codes outside it. Literal constructions are typed
555
+ * against `ErrorCode` directly and never use this.
491
556
  */
492
557
  export function toErrorCode(value, fallback) {
493
558
  return value && isErrorCode(value) ? value : fallback;