@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
@@ -6,19 +6,17 @@ export declare const SF_CONFIG_V1_SCHEMA_URL: `${string}/schemas/sf.v1.json`;
6
6
  /**
7
7
  * How a redirect answers. Omitting it means 302. There is no 200 and no 404:
8
8
  * a rule that serves other content under the requested URL is a `rewrites`
9
- * entry with `notFound: true` when it should answer 404.
9
+ * entry, with `notFound: true` when it should answer 404.
10
10
  */
11
11
  export type SfConfigV1RedirectStatus = 301 | 302 | 303 | 307 | 308;
12
12
  /**
13
13
  * Query parameters a redirect or rewrite requires, as parameter name to
14
- * capture name `{ id: "id" }` is the `id=:id` token of a `_redirects` line,
15
- * spelled the way the compiled rule (and the runtime matcher) carry it.
14
+ * capture name. `{ id: "id" }` is the `id=:id` token of a `_redirects` line.
16
15
  */
17
16
  export type SfConfigV1QueryMatch = Record<string, string>;
18
17
  /**
19
18
  * One header operation: `{ key, value }` sets, `{ key, remove: true }` is the
20
- * `!Name` line of a `_headers` block. The shape is what tells the two apart,
21
- * so a remove entry carries no value.
19
+ * `!Name` line of a `_headers` block. A remove entry carries no value.
22
20
  */
23
21
  export type SfConfigV1HeaderEntry = {
24
22
  key: string;
@@ -53,30 +51,29 @@ export type SfConfigV1 = {
53
51
  source: string;
54
52
  destination: string;
55
53
  status?: SfConfigV1RedirectStatus;
56
- /** Answer even when the request path resolves to a committed file the `!` of a `_redirects` rule. */
54
+ /** Answer even when the request path resolves to a committed file, the `!` of a `_redirects` rule. */
57
55
  force?: boolean;
58
56
  query?: SfConfigV1QueryMatch;
59
57
  }[];
60
58
  /**
61
59
  * Rewrite and proxy rules: the URL stays, the content comes from the
62
- * destination. A path destination rewrites, an absolute URL proxies the
63
- * same 200 rules `_redirects` writes as `/from /to 200`, which is why they
64
- * carry no status of their own. `notFound: true` answers 404 instead the
65
- * `/gone /404.html 404` rule, which is a rewrite in every way except the
66
- * status; its destination must be a path.
60
+ * destination. A path destination rewrites, an absolute URL proxies. Both are
61
+ * the `/from /to 200` rule of `_redirects`, so they carry no status of their
62
+ * own. `notFound: true` answers 404 instead, and then the destination must be
63
+ * a path.
67
64
  */
68
65
  rewrites?: {
69
66
  source: string;
70
67
  destination: string;
71
68
  /** Let shared caches store the proxy response. Absolute-URL destinations only. */
72
69
  cache?: "shared";
73
- /** Rewrite even when the request path resolves to a committed file the `!` of a `200!` / `404!` file rule. */
70
+ /** Rewrite even when the request path resolves to a committed file, the `!` of a `200!` / `404!` file rule. */
74
71
  force?: boolean;
75
72
  query?: SfConfigV1QueryMatch;
76
73
  notFound?: boolean;
77
74
  }[];
78
75
  /**
79
- * Response headers to set or remove on matching requests. Headers are a
76
+ * Response headers to set or remove on matching requests. Headers are a
80
77
  * list, not a map, so repeated names (Set-Cookie) survive and operations
81
78
  * keep their order.
82
79
  */
@@ -96,9 +93,9 @@ export type SfConfigV1 = {
96
93
  public: string[];
97
94
  };
98
95
  /**
99
- * Scheduled requests against this space's own paths. Declarations pass
100
- * through verbatim — the compiled `__spacefast/crons.json` derives each
101
- * entry's key from its path, and the schedule is never normalized here.
96
+ * Scheduled requests against this space's own paths. The compiled
97
+ * `__spacefast/crons.json` derives each entry's key from its path; the
98
+ * schedule is never normalized.
102
99
  */
103
100
  crons?: {
104
101
  path: string;
@@ -130,8 +127,7 @@ export type EffectiveConfigV1 = {
130
127
  };
131
128
  /**
132
129
  * Config-shape problems use the `config_*` codes; a bad routing rule reports
133
- * the same code the `_redirects` / `_headers` compiler would give it, because
134
- * it is the same grammar and the same compiler.
130
+ * the same code the `_redirects` / `_headers` compiler would give it.
135
131
  */
136
132
  export type SfConfigV1Issue = {
137
133
  code: "config_alias" | "config_conflict" | "config_cron_duplicate_path" | "config_cron_invalid_path" | "config_cron_invalid_schedule" | "config_cron_too_many" | "config_identity_moved" | "config_invalid" | "config_key_removed" | "config_unknown_key" | "header_basic_auth_unsupported" | "header_cache_control_platform_managed" | "header_cdn_cache_unsupported" | "header_name_invalid" | "header_name_unsupported" | "header_path_invalid" | "header_pattern_invalid" | "header_port_unsupported" | "header_value_invalid" | "redirect_cache_directive_invalid" | "redirect_cache_not_proxy" | "redirect_destination_invalid" | "redirect_destination_missing" | "redirect_host_invalid" | "redirect_loop_invalid" | "redirect_pattern_invalid" | "redirect_query_match_invalid" | "redirect_rewrite_destination_invalid" | "redirect_source_invalid" | "redirect_status_unsupported" | "redirect_status_use_rewrites" | "serve_index_required" | "template_syntax_retired";
@@ -2,10 +2,19 @@ import { z } from "zod";
2
2
  export const slugResourceKindValues = ["team", "space"];
3
3
  export const slugResourceKind = z.enum(slugResourceKindValues);
4
4
  export const slugAvailabilityQuerySchema = z.object({
5
- kind: slugResourceKind,
6
- slug: z.string().default(""),
7
- currentSlug: z.string().optional(),
8
- teamId: z.string().optional(),
5
+ kind: slugResourceKind.describe("Which kind of slug to check: a space slug or a team slug."),
6
+ slug: z
7
+ .string()
8
+ .default("")
9
+ .describe("Slug to check. It is normalized first, and the verdict describes the normalized form."),
10
+ currentSlug: z
11
+ .string()
12
+ .optional()
13
+ .describe("The resource's current slug, when renaming. A slug that normalizes to this one stays available instead of colliding with itself."),
14
+ teamId: z
15
+ .string()
16
+ .optional()
17
+ .describe("Team the space would belong to. Space slugs and their managed hostnames are checked inside that team; ignored for `kind=team`."),
9
18
  });
10
19
  export const slugAvailabilityResponseSchema = z.object({
11
20
  kind: slugResourceKind.describe("Resource kind the slug was checked for."),
@@ -3,10 +3,9 @@ export declare const SPACE_CONFIG_CANONICAL_FILE = "sf.jsonc";
3
3
  export declare const SPACE_CONFIG_ALIAS_FILES: readonly ["spacefast.jsonc", "spacefast.json", "sf.json", ".sf/sf.json", ".sf/config.jsonc", ".sf/config.json"];
4
4
  export declare const SPACE_CONFIG_ACCEPTED_FILES: readonly ["sf.jsonc", "spacefast.jsonc", "spacefast.json", "sf.json", ".sf/sf.json", ".sf/config.jsonc", ".sf/config.json"];
5
5
  /**
6
- * Accepted config filenames in read precedence order, highest first. Kept in
7
- * step with the finalizer's `CONFIG_ACCEPTED_FILES` (crates/stattic-runtime-core
8
- * protocol.rs) the runtime compile is the selection authority, and a local
9
- * read choosing a different file than the publish serves is a split brain.
6
+ * Accepted config filenames in read precedence order, highest first. Must stay
7
+ * in step with the finalizer's `CONFIG_ACCEPTED_FILES`
8
+ * (crates/stattic-runtime-core protocol.rs), which is the selection authority.
10
9
  */
11
10
  export declare const SPACE_CONFIG_PRECEDENCE: readonly ["sf.jsonc", "spacefast.jsonc", "spacefast.json", "sf.json", ".sf/sf.json", ".sf/config.jsonc", ".sf/config.json"];
12
11
  export declare const SPACE_CONFIG_PRIVATE_FILES: readonly ["sf.jsonc", "spacefast.jsonc", "spacefast.json", "sf.json", ".sf/sf.json", ".sf/config.jsonc", ".sf/config.json"];
@@ -39,6 +38,38 @@ export declare const SPACE_CONFIG_CAPS: {
39
38
  readonly crons: 8;
40
39
  /** Max `crons[].path` length. */
41
40
  readonly cronPathChars: 512;
41
+ /** Max `system.presentation.name` display-name length. */
42
+ readonly systemNameChars: 255;
43
+ /** Max length of any https URL or origin in the `system` manifest. */
44
+ readonly systemUrlChars: 2048;
45
+ /** Max `system.hostnames.apex` length (a DNS name never exceeds 253). */
46
+ readonly systemHostnameChars: 253;
47
+ /** Max `system.presentation.contacts` entries. */
48
+ readonly systemContacts: 32;
49
+ /** Max length of a `system.presentation.contacts` key. */
50
+ readonly systemContactKeyChars: 64;
51
+ /** Max length of a `system.presentation.contacts` value. */
52
+ readonly systemContactValueChars: 2048;
53
+ /** Max `system.api.allowedOrigins` entries. */
54
+ readonly systemApiAllowedOrigins: 32;
55
+ /** Max `system.tokenIssuers` entries. */
56
+ readonly systemTokenIssuers: 16;
57
+ /** Max `system.tokenIssuers[].issuer` length. */
58
+ readonly systemIssuerChars: 512;
59
+ /** Max `system.tokenIssuers[].keys` entries. */
60
+ readonly systemIssuerKeys: 16;
61
+ /** Max `system.tokenIssuers[].keys[].kid` length. */
62
+ readonly systemKeyIdChars: 64;
63
+ /** Exact raw Ed25519 public-key length after base64url encoding. */
64
+ readonly systemPublicKeyChars: 43;
65
+ /** Max `system.tokenIssuers[].proof` length. */
66
+ readonly systemProofChars: 4096;
67
+ /** Max `system.subscriptions` entries. */
68
+ readonly systemSubscriptions: 32;
69
+ /** Max `system.subscriptions[].events` entries. */
70
+ readonly systemSubscriptionEvents: 64;
71
+ /** Max length of a `system.subscriptions[].events` name. */
72
+ readonly systemEventChars: 128;
42
73
  };
43
74
  /** Published JSON Schema URL for `sf.jsonc` ($schema autocomplete). */
44
75
  export declare const SPACE_CONFIG_SCHEMA_URL: string;
@@ -172,10 +203,10 @@ export declare const spaceConfigFileAccessSchema: z.ZodUnion<readonly [z.ZodPipe
172
203
  /**
173
204
  * Zero: a transactional app with its own database.
174
205
  *
175
- * Both entries are required because Zero is never inferred. A runtime that owns
176
- * a database must not spring into existence from a directory shape, so the only
177
- * way to get one is to say so — and once said, a server or client that cannot
178
- * be resolved fails the publish rather than degrading to static files.
206
+ * Both entries are required because Zero is never inferred: a runtime that owns
207
+ * a database must not spring into existence from a directory shape. Once
208
+ * declared, a server or client that cannot be resolved fails the publish rather
209
+ * than degrading to static files.
179
210
  */
180
211
  export declare const spaceRuntimeZeroSchema: z.ZodObject<{
181
212
  kind: z.ZodLiteral<"zero">;
@@ -186,10 +217,8 @@ export declare const spaceRuntimeZeroSchema: z.ZodObject<{
186
217
  * Functions: the worker `sf publish` compiles.
187
218
  *
188
219
  * Every field beyond `kind` is optional because the normal case is detection: a
189
- * project with `handler.ts` or an OpenNext build needs no configuration at all.
190
- * These exist for the layouts detection cannot guess — a worker somewhere
191
- * unusual, or a compatibility date the author wants pinned rather than
192
- * defaulted.
220
+ * project with `handler.ts` or an OpenNext build needs no configuration. These
221
+ * exist for the layouts detection cannot guess.
193
222
  */
194
223
  export declare const spaceRuntimeFunctionsSchema: z.ZodObject<{
195
224
  kind: z.ZodLiteral<"functions">;
@@ -199,12 +228,12 @@ export declare const spaceRuntimeFunctionsSchema: z.ZodObject<{
199
228
  compatibilityDate: z.ZodOptional<z.ZodString>;
200
229
  }, z.core.$strip>;
201
230
  /**
202
- * The one runtime declaration, discriminated on `kind`.
231
+ * The one runtime declaration, discriminated on `kind`. A version cannot
232
+ * express two runtimes at once.
203
233
  *
204
- * One block, one kind a version cannot express two runtimes at once, so the
205
- * ambiguity never has to be resolved downstream. File-only on purpose: a
206
- * runtime is a fact about the content of a version, so it rolls forward and
207
- * back with the version instead of being set through the API config overlay.
234
+ * File-only on purpose: a runtime is a fact about the content of a version, so
235
+ * it rolls forward and back with the version instead of being set through the
236
+ * API config overlay.
208
237
  */
209
238
  export declare const spaceRuntimeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
210
239
  kind: z.ZodLiteral<"zero">;
@@ -222,11 +251,7 @@ export type SpaceRuntimeFunctionsConfig = z.infer<typeof spaceRuntimeFunctionsSc
222
251
  export type SpaceRuntimeConfig = z.infer<typeof spaceRuntimeSchema>;
223
252
  /**
224
253
  * Scheduled requests: the provider crontab asks this space for these paths on
225
- * these schedules.
226
- *
227
- * File-only for the same reason `runtime` is: what runs on a schedule is a fact
228
- * about the content of a version, so it rolls forward and back with the version
229
- * instead of being set through the API config overlay.
254
+ * these schedules. File-only for the same reason `runtime` is.
230
255
  *
231
256
  * The Rust config compiler is the selection authority for both fields; this
232
257
  * schema exists so an editor and an agent get the same answer before publish.
@@ -234,14 +259,14 @@ export type SpaceRuntimeConfig = z.infer<typeof spaceRuntimeSchema>;
234
259
  export declare const SPACE_CRON_NAMED_SCHEDULES: readonly ["hourly", "daily", "twicedaily", "weekly"];
235
260
  /**
236
261
  * The wp.cloud schedule grammar: a named interval, an `Nh`/`Nd`/`Nw` count, or
237
- * a five-field crontab expression. No `@daily` macros and no month/day names
238
- * the provider does not accept them either.
262
+ * a five-field crontab expression. No `@daily` macros and no month/day names.
263
+ * The provider does not accept them either.
239
264
  */
240
265
  export declare function isSpaceCronSchedule(schedule: string): boolean;
241
266
  /**
242
- * The artifact key for a cron path: lowercase, leading `/` stripped, every run
243
- * of non-alphanumerics collapsed to one `-`, trimmed. Two paths that produce
244
- * one key are rejected, so a key names exactly one schedule.
267
+ * The artifact key for a cron path the shared slug normalizer, so an accented
268
+ * path folds the same way it does everywhere else. Two paths that produce one
269
+ * key are rejected, so a key names exactly one schedule.
245
270
  */
246
271
  export declare function spaceCronKey(path: string): string;
247
272
  /** Generated runtime file the serving engine reads, written only when a version declares a cron. */
@@ -252,7 +277,7 @@ export type SpaceCronEntry = {
252
277
  /** Slug of `path`; unique within a version. */
253
278
  key: string;
254
279
  path: string;
255
- /** Verbatim as declared never normalized or expanded. */
280
+ /** Verbatim as declared, never normalized or expanded. */
256
281
  schedule: string;
257
282
  };
258
283
  export type SpaceCronsArtifact = {
@@ -268,6 +293,123 @@ export declare const spaceCronsSchema: z.ZodArray<z.ZodObject<{
268
293
  schedule: z.ZodString;
269
294
  }, z.core.$strip>>;
270
295
  export type SpaceCronConfig = z.infer<typeof spaceCronSchema>;
296
+ export declare const systemPresentationSchema: z.ZodObject<{
297
+ name: z.ZodOptional<z.ZodString>;
298
+ logo: z.ZodOptional<z.ZodString>;
299
+ supportUrl: z.ZodOptional<z.ZodString>;
300
+ claimOrigin: z.ZodOptional<z.ZodString>;
301
+ accessHandoffOrigin: z.ZodOptional<z.ZodString>;
302
+ problemDocsBaseUrl: z.ZodOptional<z.ZodString>;
303
+ contacts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
304
+ }, z.core.$strict>;
305
+ export declare const systemHostnamesSchema: z.ZodObject<{
306
+ apex: z.ZodOptional<z.ZodString>;
307
+ }, z.core.$strict>;
308
+ export declare const systemApiSchema: z.ZodObject<{
309
+ origin: z.ZodOptional<z.ZodString>;
310
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
311
+ }, z.core.$strict>;
312
+ export declare const systemTokenIssuerSchema: z.ZodObject<{
313
+ issuer: z.ZodString;
314
+ keys: z.ZodArray<z.ZodObject<{
315
+ kid: z.ZodString;
316
+ publicKey: z.ZodString;
317
+ }, z.core.$strict>>;
318
+ proof: z.ZodOptional<z.ZodString>;
319
+ }, z.core.$strict>;
320
+ export declare const systemSubscriptionSchema: z.ZodObject<{
321
+ url: z.ZodString;
322
+ events: z.ZodArray<z.ZodString>;
323
+ }, z.core.$strict>;
324
+ export declare const spaceSystemManifestSchema: z.ZodObject<{
325
+ presentation: z.ZodOptional<z.ZodObject<{
326
+ name: z.ZodOptional<z.ZodString>;
327
+ logo: z.ZodOptional<z.ZodString>;
328
+ supportUrl: z.ZodOptional<z.ZodString>;
329
+ claimOrigin: z.ZodOptional<z.ZodString>;
330
+ accessHandoffOrigin: z.ZodOptional<z.ZodString>;
331
+ problemDocsBaseUrl: z.ZodOptional<z.ZodString>;
332
+ contacts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
333
+ }, z.core.$strict>>;
334
+ hostnames: z.ZodOptional<z.ZodObject<{
335
+ apex: z.ZodOptional<z.ZodString>;
336
+ }, z.core.$strict>>;
337
+ api: z.ZodOptional<z.ZodObject<{
338
+ origin: z.ZodOptional<z.ZodString>;
339
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
340
+ }, z.core.$strict>>;
341
+ tokenIssuers: z.ZodOptional<z.ZodArray<z.ZodObject<{
342
+ issuer: z.ZodString;
343
+ keys: z.ZodArray<z.ZodObject<{
344
+ kid: z.ZodString;
345
+ publicKey: z.ZodString;
346
+ }, z.core.$strict>>;
347
+ proof: z.ZodOptional<z.ZodString>;
348
+ }, z.core.$strict>>>;
349
+ subscriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
350
+ url: z.ZodString;
351
+ events: z.ZodArray<z.ZodString>;
352
+ }, z.core.$strict>>>;
353
+ plans: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
354
+ features: z.ZodArray<z.ZodEnum<{
355
+ zero: "zero";
356
+ "plans.paid.available": "plans.paid.available";
357
+ "anonymous.publishing": "anonymous.publishing";
358
+ "beta.enrollment_gate": "beta.enrollment_gate";
359
+ "domains.search": "domains.search";
360
+ "domains.registration": "domains.registration";
361
+ "domains.dns_management": "domains.dns_management";
362
+ "domains.wpcom_dns": "domains.wpcom_dns";
363
+ "domains.domain_connect": "domains.domain_connect";
364
+ "domains.proxy_bindings": "domains.proxy_bindings";
365
+ "collab.notices": "collab.notices";
366
+ "collab.comments": "collab.comments";
367
+ "content.managed": "content.managed";
368
+ "sites.dedicated_runtime": "sites.dedicated_runtime";
369
+ "collab.drawing": "collab.drawing";
370
+ tags: "tags";
371
+ functions: "functions";
372
+ "spaces.slug_rename": "spaces.slug_rename";
373
+ "pages.templates": "pages.templates";
374
+ "branding.hide": "branding.hide";
375
+ }>>;
376
+ quotas: z.ZodObject<{
377
+ spaces: z.ZodOptional<z.ZodNumber>;
378
+ storageBytes: z.ZodOptional<z.ZodNumber>;
379
+ buildMinutesPerMonth: z.ZodOptional<z.ZodNumber>;
380
+ customDomains: z.ZodOptional<z.ZodNumber>;
381
+ }, z.core.$strict>;
382
+ quotaPolicy: z.ZodOptional<z.ZodEnum<{
383
+ warn: "warn";
384
+ block: "block";
385
+ }>>;
386
+ }, z.core.$strict>>>;
387
+ defaultPlan: z.ZodOptional<z.ZodString>;
388
+ }, z.core.$strict>;
389
+ export type SpaceSystemManifest = z.infer<typeof spaceSystemManifestSchema>;
390
+ /**
391
+ * The presentation slice of the system manifest, as a standalone schema.
392
+ * The presentation materializer re-parses the frozen declaration through this
393
+ * before storing it, so origins-https and within-schema bounds are re-asserted
394
+ * defensively at reconcile time and not just trusted from finalize.
395
+ */
396
+ export type SpaceSystemPresentation = z.infer<typeof systemPresentationSchema>;
397
+ /**
398
+ * A single declared token issuer / event subscription, as standalone schemas.
399
+ * The issuer and subscription materializers re-parse the frozen declaration
400
+ * through these before materializing — key shape, issuer https, subscription
401
+ * url https, and within-schema bounds re-asserted defensively at reconcile
402
+ * time, not trusted from finalize.
403
+ */
404
+ export type SpaceSystemTokenIssuer = z.infer<typeof systemTokenIssuerSchema>;
405
+ export type SpaceSystemSubscription = z.infer<typeof systemSubscriptionSchema>;
406
+ /**
407
+ * The `api` slice of the system manifest, as a standalone schema. The api-origin
408
+ * materializer re-parses the frozen declaration through this before storing it
409
+ * to `tenants.api_origins_json` — origins https and within-schema bounds
410
+ * re-asserted defensively at reconcile time, not trusted from finalize.
411
+ */
412
+ export type SpaceSystemApi = z.infer<typeof systemApiSchema>;
271
413
  export declare const spaceConfigFileSchema: z.ZodObject<{
272
414
  index: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
273
415
  fallback: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -366,6 +508,71 @@ export declare const spaceConfigFileSchema: z.ZodObject<{
366
508
  path: z.ZodString;
367
509
  schedule: z.ZodString;
368
510
  }, z.core.$strip>>>;
511
+ system: z.ZodOptional<z.ZodObject<{
512
+ presentation: z.ZodOptional<z.ZodObject<{
513
+ name: z.ZodOptional<z.ZodString>;
514
+ logo: z.ZodOptional<z.ZodString>;
515
+ supportUrl: z.ZodOptional<z.ZodString>;
516
+ claimOrigin: z.ZodOptional<z.ZodString>;
517
+ accessHandoffOrigin: z.ZodOptional<z.ZodString>;
518
+ problemDocsBaseUrl: z.ZodOptional<z.ZodString>;
519
+ contacts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
520
+ }, z.core.$strict>>;
521
+ hostnames: z.ZodOptional<z.ZodObject<{
522
+ apex: z.ZodOptional<z.ZodString>;
523
+ }, z.core.$strict>>;
524
+ api: z.ZodOptional<z.ZodObject<{
525
+ origin: z.ZodOptional<z.ZodString>;
526
+ allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString>>;
527
+ }, z.core.$strict>>;
528
+ tokenIssuers: z.ZodOptional<z.ZodArray<z.ZodObject<{
529
+ issuer: z.ZodString;
530
+ keys: z.ZodArray<z.ZodObject<{
531
+ kid: z.ZodString;
532
+ publicKey: z.ZodString;
533
+ }, z.core.$strict>>;
534
+ proof: z.ZodOptional<z.ZodString>;
535
+ }, z.core.$strict>>>;
536
+ subscriptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
537
+ url: z.ZodString;
538
+ events: z.ZodArray<z.ZodString>;
539
+ }, z.core.$strict>>>;
540
+ plans: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
541
+ features: z.ZodArray<z.ZodEnum<{
542
+ zero: "zero";
543
+ "plans.paid.available": "plans.paid.available";
544
+ "anonymous.publishing": "anonymous.publishing";
545
+ "beta.enrollment_gate": "beta.enrollment_gate";
546
+ "domains.search": "domains.search";
547
+ "domains.registration": "domains.registration";
548
+ "domains.dns_management": "domains.dns_management";
549
+ "domains.wpcom_dns": "domains.wpcom_dns";
550
+ "domains.domain_connect": "domains.domain_connect";
551
+ "domains.proxy_bindings": "domains.proxy_bindings";
552
+ "collab.notices": "collab.notices";
553
+ "collab.comments": "collab.comments";
554
+ "content.managed": "content.managed";
555
+ "sites.dedicated_runtime": "sites.dedicated_runtime";
556
+ "collab.drawing": "collab.drawing";
557
+ tags: "tags";
558
+ functions: "functions";
559
+ "spaces.slug_rename": "spaces.slug_rename";
560
+ "pages.templates": "pages.templates";
561
+ "branding.hide": "branding.hide";
562
+ }>>;
563
+ quotas: z.ZodObject<{
564
+ spaces: z.ZodOptional<z.ZodNumber>;
565
+ storageBytes: z.ZodOptional<z.ZodNumber>;
566
+ buildMinutesPerMonth: z.ZodOptional<z.ZodNumber>;
567
+ customDomains: z.ZodOptional<z.ZodNumber>;
568
+ }, z.core.$strict>;
569
+ quotaPolicy: z.ZodOptional<z.ZodEnum<{
570
+ warn: "warn";
571
+ block: "block";
572
+ }>>;
573
+ }, z.core.$strict>>>;
574
+ defaultPlan: z.ZodOptional<z.ZodString>;
575
+ }, z.core.$strict>>;
369
576
  }, z.core.$strip>;
370
577
  export type SpaceConfigFile = z.infer<typeof spaceConfigFileSchema>;
371
578
  /**