@spacefast/common 0.0.23 → 0.0.26

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 (224) 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.js +1 -1
  7. package/dist/agents/private-key-oauth.d.ts +0 -1
  8. package/dist/agents/private-key-oauth.js +46 -63
  9. package/dist/brand-assets-build.js +4 -6
  10. package/dist/brand-assets.d.ts +5 -15
  11. package/dist/brand-assets.js +15 -14
  12. package/dist/config/domains.d.ts +47 -7
  13. package/dist/config/domains.js +66 -10
  14. package/dist/config/index.d.ts +0 -1
  15. package/dist/config/index.js +0 -1
  16. package/dist/contracts/abuse.d.ts +2 -0
  17. package/dist/contracts/abuse.js +12 -0
  18. package/dist/contracts/access.d.ts +124 -12
  19. package/dist/contracts/access.js +73 -9
  20. package/dist/contracts/activity.d.ts +1 -1
  21. package/dist/contracts/activity.js +5 -12
  22. package/dist/contracts/api-keys.d.ts +21 -21
  23. package/dist/contracts/api-keys.js +2 -2
  24. package/dist/contracts/beta.js +1 -1
  25. package/dist/contracts/billing.d.ts +3 -35
  26. package/dist/contracts/billing.js +33 -52
  27. package/dist/contracts/builds.d.ts +30 -18
  28. package/dist/contracts/builds.js +28 -9
  29. package/dist/contracts/channels.js +1 -1
  30. package/dist/contracts/cli.d.ts +10 -0
  31. package/dist/contracts/cli.js +10 -0
  32. package/dist/contracts/collab-public.d.ts +63 -0
  33. package/dist/contracts/collab-public.js +46 -0
  34. package/dist/contracts/comments.d.ts +282 -53
  35. package/dist/contracts/comments.js +173 -52
  36. package/dist/contracts/common.d.ts +3 -3
  37. package/dist/contracts/common.js +5 -5
  38. package/dist/contracts/crons.d.ts +35 -0
  39. package/dist/contracts/crons.js +42 -0
  40. package/dist/contracts/device-auth.d.ts +6 -6
  41. package/dist/contracts/device-auth.js +2 -2
  42. package/dist/contracts/docs.js +2 -2
  43. package/dist/contracts/domains.d.ts +38 -27
  44. package/dist/contracts/domains.js +29 -2
  45. package/dist/contracts/enums.d.ts +34 -30
  46. package/dist/contracts/enums.js +62 -48
  47. package/dist/contracts/error-code-meta.d.ts +50 -125
  48. package/dist/contracts/error-code-meta.js +29 -41
  49. package/dist/contracts/error-codes.d.ts +1 -1
  50. package/dist/contracts/error-codes.js +14 -33
  51. package/dist/contracts/execution.d.ts +47 -66
  52. package/dist/contracts/execution.js +53 -49
  53. package/dist/contracts/feature-lifecycle-core.d.ts +0 -6
  54. package/dist/contracts/feature-lifecycle-core.js +2 -31
  55. package/dist/contracts/feature-lifecycle.d.ts +12 -52
  56. package/dist/contracts/feature-lifecycle.js +16 -59
  57. package/dist/contracts/features.d.ts +48 -60
  58. package/dist/contracts/features.js +59 -51
  59. package/dist/contracts/functions.d.ts +266 -72
  60. package/dist/contracts/functions.js +260 -37
  61. package/dist/contracts/git.d.ts +28 -34
  62. package/dist/contracts/git.js +10 -11
  63. package/dist/contracts/grants.d.ts +9 -5
  64. package/dist/contracts/grants.js +18 -9
  65. package/dist/contracts/ids.js +2 -2
  66. package/dist/contracts/internal.d.ts +8 -6
  67. package/dist/contracts/internal.js +12 -12
  68. package/dist/contracts/mcp.d.ts +11 -0
  69. package/dist/contracts/mcp.js +5 -0
  70. package/dist/contracts/me.js +1 -1
  71. package/dist/contracts/oauth-resources.d.ts +4 -3
  72. package/dist/contracts/oauth-resources.js +12 -3
  73. package/dist/contracts/operations.d.ts +90 -5
  74. package/dist/contracts/operations.js +77 -3
  75. package/dist/contracts/pages.d.ts +12 -7
  76. package/dist/contracts/pages.js +24 -1
  77. package/dist/contracts/plan-policy.d.ts +0 -2
  78. package/dist/contracts/plan-policy.js +2 -3
  79. package/dist/contracts/platform.d.ts +61 -148
  80. package/dist/contracts/platform.js +70 -126
  81. package/dist/contracts/publish-archive.d.ts +508 -0
  82. package/dist/contracts/publish-archive.js +32 -0
  83. package/dist/contracts/push-new.d.ts +4 -4
  84. package/dist/contracts/quotas.js +2 -2
  85. package/dist/contracts/repository-connections.d.ts +43 -30
  86. package/dist/contracts/repository-connections.js +11 -3
  87. package/dist/contracts/resources.d.ts +12 -24
  88. package/dist/contracts/resources.js +36 -16
  89. package/dist/contracts/runtime-api.d.ts +433 -192
  90. package/dist/contracts/runtime-api.js +421 -356
  91. package/dist/contracts/runtime-app.d.ts +127 -120
  92. package/dist/contracts/runtime-app.js +19 -10
  93. package/dist/contracts/runtime-db.d.ts +5 -5
  94. package/dist/contracts/runtime-db.js +2 -2
  95. package/dist/contracts/runtime-purge.d.ts +8 -0
  96. package/dist/contracts/runtime-purge.js +7 -0
  97. package/dist/contracts/runtime-services.d.ts +219 -0
  98. package/dist/contracts/runtime-services.js +437 -0
  99. package/dist/contracts/runtime-storage.d.ts +46 -32
  100. package/dist/contracts/runtime-storage.js +31 -8
  101. package/dist/contracts/sf-config-v1.d.ts +48 -10
  102. package/dist/contracts/space-config.d.ts +69 -18
  103. package/dist/contracts/space-config.js +226 -27
  104. package/dist/contracts/spaces.d.ts +236 -450
  105. package/dist/contracts/spaces.js +131 -151
  106. package/dist/contracts/superadmin-activity.d.ts +57 -4
  107. package/dist/contracts/superadmin-activity.js +48 -2
  108. package/dist/contracts/superadmin-search.d.ts +126 -0
  109. package/dist/contracts/superadmin-search.js +61 -0
  110. package/dist/contracts/superadmin-spaces.d.ts +361 -92
  111. package/dist/contracts/superadmin-spaces.js +97 -24
  112. package/dist/contracts/superadmin-teams.d.ts +28 -10
  113. package/dist/contracts/superadmin-teams.js +5 -8
  114. package/dist/contracts/superadmin-tenants.d.ts +0 -6
  115. package/dist/contracts/superadmin-tenants.js +1 -7
  116. package/dist/contracts/superadmin.d.ts +135 -54
  117. package/dist/contracts/superadmin.js +46 -23
  118. package/dist/contracts/tags.d.ts +12 -12
  119. package/dist/contracts/tags.js +3 -3
  120. package/dist/contracts/teams.d.ts +49 -14
  121. package/dist/contracts/teams.js +40 -22
  122. package/dist/contracts/transfers.d.ts +0 -49
  123. package/dist/contracts/transfers.js +4 -8
  124. package/dist/contracts/usage.d.ts +61 -0
  125. package/dist/contracts/usage.js +64 -0
  126. package/dist/contracts/variables.d.ts +2 -7
  127. package/dist/contracts/variables.js +9 -8
  128. package/dist/contracts/webhooks.d.ts +2 -2
  129. package/dist/contracts/zero.d.ts +102 -73
  130. package/dist/contracts/zero.js +94 -32
  131. package/dist/dashboard-paths/index.d.ts +1 -1
  132. package/dist/dashboard-paths/index.js +1 -0
  133. package/dist/docs/agent-prose.d.ts +2 -2
  134. package/dist/docs/agent-prose.js +63 -70
  135. package/dist/docs/agent-setup.js +45 -15
  136. package/dist/docs/catalog.d.ts +24 -24
  137. package/dist/docs/catalog.js +35 -24
  138. package/dist/docs/error-docs.js +194 -270
  139. package/dist/docs/skills.d.ts +12 -12
  140. package/dist/docs/skills.js +4 -4
  141. package/dist/test-helpers/fetch-stub.d.ts +16 -0
  142. package/dist/test-helpers/fetch-stub.js +25 -0
  143. package/dist/utils/build-settings.d.ts +5 -1
  144. package/dist/utils/build-settings.js +91 -13
  145. package/dist/utils/canonical-json.d.ts +10 -0
  146. package/dist/utils/canonical-json.js +22 -0
  147. package/dist/utils/cast-transport.d.ts +28 -0
  148. package/dist/utils/cast-transport.js +52 -0
  149. package/dist/utils/claim-token.d.ts +0 -8
  150. package/dist/utils/claim-token.js +3 -15
  151. package/dist/utils/concurrency.js +1 -0
  152. package/dist/utils/credential-policy.d.ts +1 -1
  153. package/dist/utils/credential-policy.js +4 -3
  154. package/dist/utils/dns-instructions.js +9 -9
  155. package/dist/utils/env-file.d.ts +17 -0
  156. package/dist/utils/env-file.js +96 -0
  157. package/dist/utils/error-code.d.ts +2 -0
  158. package/dist/utils/error-code.js +8 -0
  159. package/dist/utils/generate-space-name.d.ts +8 -10
  160. package/dist/utils/generate-space-name.js +206 -21
  161. package/dist/utils/grant-decision.fixtures.json +2938 -0
  162. package/dist/utils/grants.d.ts +2 -0
  163. package/dist/utils/grants.js +26 -1
  164. package/dist/utils/gravatar.d.ts +9 -0
  165. package/dist/utils/gravatar.js +31 -0
  166. package/dist/utils/idempotency.d.ts +6 -0
  167. package/dist/utils/idempotency.js +28 -0
  168. package/dist/utils/local-space-state.d.ts +9 -16
  169. package/dist/utils/local-space-state.js +20 -50
  170. package/dist/utils/one-shot-replay.d.ts +4 -1
  171. package/dist/utils/page-colors.d.ts +14 -12
  172. package/dist/utils/page-colors.js +15 -13
  173. package/dist/utils/page-fonts.d.ts +2 -2
  174. package/dist/utils/page-fonts.js +15 -4
  175. package/dist/utils/pages.d.ts +21 -3
  176. package/dist/utils/pages.js +42 -13
  177. package/dist/utils/publish-form-data.d.ts +12 -0
  178. package/dist/utils/publish-form-data.js +10 -0
  179. package/dist/utils/publish-policy.d.ts +27 -0
  180. package/dist/utils/publish-policy.fixtures.json +403 -0
  181. package/dist/utils/publish-policy.js +45 -20
  182. package/dist/utils/push-new.d.ts +7 -0
  183. package/dist/utils/push-new.js +7 -0
  184. package/dist/utils/query-keys.d.ts +4 -5
  185. package/dist/utils/query-keys.js +2 -3
  186. package/dist/utils/runtime-paths.d.ts +5 -0
  187. package/dist/utils/runtime-paths.js +5 -0
  188. package/dist/utils/runtime-upload-batch.d.ts +0 -5
  189. package/dist/utils/runtime-upload-batch.js +1 -27
  190. package/dist/utils/runtime-upload.d.ts +6 -11
  191. package/dist/utils/runtime-upload.js +10 -13
  192. package/dist/utils/secure-local-file.js +5 -16
  193. package/dist/utils/space-config.d.ts +1 -34
  194. package/dist/utils/space-config.js +8 -326
  195. package/dist/utils/static-runtime-policy.d.ts +9 -3
  196. package/dist/utils/static-runtime-policy.fixtures.json +38 -41
  197. package/dist/utils/static-runtime-policy.js +22 -56
  198. package/dist/utils/storage-policy.d.ts +1 -1
  199. package/dist/utils/storage-policy.js +3 -1
  200. package/dist/utils/structured-error.d.ts +14 -0
  201. package/dist/utils/structured-error.js +22 -0
  202. package/dist/utils/upload-session.d.ts +4 -1
  203. package/dist/utils/upload-session.js +33 -5
  204. package/dist/utils/version-path.js +13 -4
  205. package/dist/vocabulary.d.ts +13 -11
  206. package/dist/vocabulary.js +42 -28
  207. package/package.json +7 -17
  208. package/dist/config/postgres-budget.d.ts +0 -129
  209. package/dist/config/postgres-budget.js +0 -140
  210. package/dist/config/postgres-budget.json +0 -51
  211. package/dist/contracts/archives.d.ts +0 -331
  212. package/dist/contracts/archives.js +0 -120
  213. package/dist/contracts/deployments.d.ts +0 -574
  214. package/dist/contracts/deployments.js +0 -97
  215. package/dist/contracts/sites.d.ts +0 -416
  216. package/dist/contracts/sites.js +0 -168
  217. package/dist/contracts/superadmin-queues.d.ts +0 -414
  218. package/dist/contracts/superadmin-queues.js +0 -202
  219. package/dist/contracts/superadmin-runtime.d.ts +0 -27
  220. package/dist/contracts/superadmin-runtime.js +0 -38
  221. package/dist/index.d.ts +0 -1
  222. package/dist/index.js +0 -1
  223. package/dist/utils/api.d.ts +0 -4
  224. package/dist/utils/api.js +0 -13
@@ -0,0 +1,61 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Resolutions the hosting provider keeps usage at. Hour is retained about a
4
+ * week, day about two months, month about two years.
5
+ */
6
+ export declare const USAGE_RESOLUTIONS: readonly ["hour", "day", "month"];
7
+ export type UsageResolution = (typeof USAGE_RESOLUTIONS)[number];
8
+ export declare const usageResolutionSchema: z.ZodEnum<{
9
+ day: "day";
10
+ hour: "hour";
11
+ month: "month";
12
+ }>;
13
+ export declare const spaceUsageMeasurementSchema: z.ZodObject<{
14
+ period: z.ZodObject<{
15
+ start: z.ZodString;
16
+ end: z.ZodString;
17
+ resolution: z.ZodEnum<{
18
+ day: "day";
19
+ hour: "hour";
20
+ month: "month";
21
+ }>;
22
+ }, z.core.$strip>;
23
+ sampledAt: z.ZodString;
24
+ storageBytes: z.ZodNumber;
25
+ computeSeconds: z.ZodNumber;
26
+ bandwidthBytes: z.ZodNumber;
27
+ emailCount: z.ZodNumber;
28
+ functionInvocations: z.ZodNumber;
29
+ functionErrors: z.ZodNumber;
30
+ }, z.core.$strip>;
31
+ export declare const spaceUsageResponseSchema: z.ZodObject<{
32
+ spaceId: z.ZodString;
33
+ usage: z.ZodNullable<z.ZodObject<{
34
+ period: z.ZodObject<{
35
+ start: z.ZodString;
36
+ end: z.ZodString;
37
+ resolution: z.ZodEnum<{
38
+ day: "day";
39
+ hour: "hour";
40
+ month: "month";
41
+ }>;
42
+ }, z.core.$strip>;
43
+ sampledAt: z.ZodString;
44
+ storageBytes: z.ZodNumber;
45
+ computeSeconds: z.ZodNumber;
46
+ bandwidthBytes: z.ZodNumber;
47
+ emailCount: z.ZodNumber;
48
+ functionInvocations: z.ZodNumber;
49
+ functionErrors: z.ZodNumber;
50
+ }, z.core.$strip>>;
51
+ }, z.core.$strip>;
52
+ export type SpaceUsageMeasurement = z.infer<typeof spaceUsageMeasurementSchema>;
53
+ export type SpaceUsageResponse = z.infer<typeof spaceUsageResponseSchema>;
54
+ export declare const functionUsagePushSchema: z.ZodObject<{
55
+ spaceId: z.ZodString;
56
+ versionId: z.ZodString;
57
+ invocations: z.ZodNumber;
58
+ errors: z.ZodNumber;
59
+ observedAt: z.ZodString;
60
+ }, z.core.$strip>;
61
+ export type FunctionUsagePush = z.infer<typeof functionUsagePushSchema>;
@@ -0,0 +1,64 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Resolutions the hosting provider keeps usage at. Hour is retained about a
4
+ * week, day about two months, month about two years.
5
+ */
6
+ export const USAGE_RESOLUTIONS = ["hour", "day", "month"];
7
+ export const usageResolutionSchema = z.enum(USAGE_RESOLUTIONS);
8
+ // Served by `GET /v1/spaces/{spaceId}/usage`: what one Space actually consumed,
9
+ // measured by the infrastructure that served it rather than derived from what
10
+ // was published.
11
+ //
12
+ // Every number here is a MEASUREMENT OF A PAST PERIOD, not a live gauge, and the
13
+ // contract says so out loud: `period` is the window measured and `sampledAt` is
14
+ // when we last asked. Nothing in this response means "right now". The meter
15
+ // behind it is a time series with real ingestion delay, so a reading is only
16
+ // trusted once its period has settled — expect the period to end an hour or so
17
+ // before you read it.
18
+ export const spaceUsageMeasurementSchema = z.object({
19
+ period: z
20
+ .object({
21
+ start: z.string().describe("First instant of the measured period."),
22
+ end: z
23
+ .string()
24
+ .describe("Last instant of the measured period. The numbers are current as of here."),
25
+ resolution: usageResolutionSchema.describe("Length of the measured period."),
26
+ })
27
+ .describe("The window these numbers describe."),
28
+ sampledAt: z
29
+ .string()
30
+ .describe("When the platform last read this space's usage from the serving infrastructure."),
31
+ storageBytes: z
32
+ .number()
33
+ .describe("Average bytes of disk the space occupied during the period. This is what storage is billed on: bytes actually on disk, not the size of what was uploaded."),
34
+ computeSeconds: z.number().describe("Seconds of compute the space consumed during the period."),
35
+ bandwidthBytes: z.number().describe("Bytes the space served during the period."),
36
+ emailCount: z.number().int().describe("Emails the space sent during the period."),
37
+ functionInvocations: z
38
+ .number()
39
+ .int()
40
+ .describe("Function invocations during the period, counted where the space is known. Best-effort: counts are pushed after each request completes and may arrive late."),
41
+ functionErrors: z
42
+ .number()
43
+ .int()
44
+ .describe("Function invocations during the period that ended in an error."),
45
+ });
46
+ export const spaceUsageResponseSchema = z.object({
47
+ spaceId: z.string().describe("The space the usage was measured for."),
48
+ usage: spaceUsageMeasurementSchema
49
+ .nullable()
50
+ .describe("Null when this space has never been measured — a space that has not served yet, or one whose first measurement period has not settled."),
51
+ });
52
+ // Posted by the Functions host's tail Worker after an isolate finishes serving.
53
+ // Counts only — never messages. Function LOGS travel a different path, into the
54
+ // space's own log stream, and merging the two would quietly turn this into a
55
+ // second log pipeline.
56
+ export const functionUsagePushSchema = z.object({
57
+ spaceId: z.string().min(1).describe("The space whose functions ran."),
58
+ versionId: z.string().min(1).describe("The version whose bundle served the requests."),
59
+ invocations: z.number().int().nonnegative().describe("Requests the isolate served."),
60
+ errors: z.number().int().nonnegative().describe("Those requests that ended in an error."),
61
+ observedAt: z
62
+ .string()
63
+ .describe("The reporter's clock at delivery. The control plane buckets by hour on receipt."),
64
+ });
@@ -1,6 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export declare const variableScope: z.ZodEnum<{
3
- site: "site";
4
3
  space: "space";
5
4
  principal: "principal";
6
5
  }>;
@@ -8,7 +7,6 @@ export declare const variableNameSchema: z.ZodString;
8
7
  export declare const VariableSchema: z.ZodObject<{
9
8
  name: z.ZodString;
10
9
  scope: z.ZodEnum<{
11
- site: "site";
12
10
  space: "space";
13
11
  principal: "principal";
14
12
  }>;
@@ -47,7 +45,6 @@ export declare const variableListResponseSchema: z.ZodObject<{
47
45
  data: z.ZodArray<z.ZodObject<{
48
46
  name: z.ZodString;
49
47
  scope: z.ZodEnum<{
50
- site: "site";
51
48
  space: "space";
52
49
  principal: "principal";
53
50
  }>;
@@ -66,7 +63,6 @@ export declare const spaceVariableListResponseSchema: z.ZodObject<{
66
63
  data: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
67
64
  name: z.ZodString;
68
65
  scope: z.ZodEnum<{
69
- site: "site";
70
66
  space: "space";
71
67
  principal: "principal";
72
68
  }>;
@@ -89,7 +85,6 @@ export declare const variableMutationResponseSchema: z.ZodObject<{
89
85
  data: z.ZodObject<{
90
86
  name: z.ZodString;
91
87
  scope: z.ZodEnum<{
92
- site: "site";
93
88
  space: "space";
94
89
  principal: "principal";
95
90
  }>;
@@ -129,7 +124,7 @@ export declare const variableMutationResponseSchema: z.ZodObject<{
129
124
  path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
130
125
  provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
131
126
  registrar: "registrar";
132
- wpcloud: "wpcloud";
127
+ infra: "infra";
133
128
  dns: "dns";
134
129
  runtime: "runtime";
135
130
  }>>>;
@@ -173,7 +168,7 @@ export declare const variableDeleteResponseSchema: z.ZodObject<{
173
168
  path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
169
  provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
175
170
  registrar: "registrar";
176
- wpcloud: "wpcloud";
171
+ infra: "infra";
177
172
  dns: "dns";
178
173
  runtime: "runtime";
179
174
  }>>>;
@@ -1,10 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import { AsyncOperationSchema, CursorPaginationSchema, cursorListQuerySchema } from "./common.js";
3
- // Variable (internal-docs/platform.md "Product Data Shapes"): one model for
4
- // every scope. Resolution order at finalize is space -> principal -> site.
5
- // Secret values are write-only after creation: never returned by API, CLI,
6
- // UI, diagnostics, logs, or activity.
7
- export const variableScope = z.enum(["space", "principal", "site"]);
3
+ // Variable (the platform spec "Product Data Shapes"): one model for
4
+ // every scope. Resolution order at finalize is space -> principal. A space IS
5
+ // a site, so a space variable is the site variable — there is no third scope
6
+ // underneath it. Secret values are write-only after creation: never returned
7
+ // by API, CLI, UI, diagnostics, logs, or activity.
8
+ export const variableScope = z.enum(["space", "principal"]);
8
9
  export const variableNameSchema = z
9
10
  .string()
10
11
  .min(1)
@@ -17,7 +18,7 @@ export const variableNameSchema = z
17
18
  });
18
19
  export const VariableSchema = z.object({
19
20
  name: variableNameSchema.describe("Variable name, referenced as {{ vars.NAME }} in templates."),
20
- scope: variableScope.describe("Where the variable is defined; space wins over principal/site."),
21
+ scope: variableScope.describe("Where the variable is defined; space wins over principal."),
21
22
  secret: z.boolean().describe("Secret values are write-only and never returned after creation."),
22
23
  value: z.string().optional().describe("Variable value; omitted when secret=true."),
23
24
  channelValues: z
@@ -27,7 +28,7 @@ export const VariableSchema = z.object({
27
28
  createdAt: z.string().datetime().describe("Instant when the variable was created."),
28
29
  updatedAt: z.string().datetime().describe("Instant when the value was last written."),
29
30
  });
30
- // Version provenance (internal-docs/platform.md "Variable rules"): versions
31
+ // Version provenance (the platform spec "Variable rules"): versions
31
32
  // record which variable names and value hashes they were finalized with —
32
33
  // never values. Stored only for internal cascade and synchronization; it is
33
34
  // never echoed on the public Version resource because historical rows cannot
@@ -66,7 +67,7 @@ export const spaceVariableListResponseSchema = z.object({
66
67
  pagination: CursorPaginationSchema,
67
68
  });
68
69
  // Variable mutations return the debounced cascade operation
69
- // (internal-docs/platform.md "Debounce contract"): every coalesced PUT/DELETE
70
+ // (the platform spec "Debounce contract"): every coalesced PUT/DELETE
70
71
  // returns the same pending `op_` id, so "mutation returns `operation`" holds.
71
72
  export const variableMutationResponseSchema = z.object({
72
73
  data: VariableSchema,
@@ -101,7 +101,7 @@ export declare const webhookDeliverySchema: z.ZodObject<{
101
101
  path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
102
102
  provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
103
103
  registrar: "registrar";
104
- wpcloud: "wpcloud";
104
+ infra: "infra";
105
105
  dns: "dns";
106
106
  runtime: "runtime";
107
107
  }>>>;
@@ -142,7 +142,7 @@ export declare const webhookDeliveryListResponseSchema: z.ZodObject<{
142
142
  path: z.ZodOptional<z.ZodNullable<z.ZodString>>;
143
143
  provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
144
144
  registrar: "registrar";
145
- wpcloud: "wpcloud";
145
+ infra: "infra";
146
146
  dns: "dns";
147
147
  runtime: "runtime";
148
148
  }>>>;
@@ -12,6 +12,13 @@ import { type RuntimeRealtimeMode } from "./execution.js";
12
12
  * for the narrow surface both products can host.
13
13
  */
14
14
  export declare const ZERO_SOURCE_METADATA_KEY = "statticZero";
15
+ /**
16
+ * The tag a compiled capsule artifact carries — in the finalize payload, the
17
+ * runtime config, the install profile, the client config the browser reads, and
18
+ * every realtime event — so PHP and the Rust runner can tell what they were
19
+ * handed. It is a property of the artifact the tree produced, not a kind a
20
+ * space declares: a publish can carry this beside a worker.
21
+ */
15
22
  export declare const ZERO_RUNTIME_KIND = "zero";
16
23
  export declare const ZERO_PLATFORM_ROUTE_PREFIX = "/__spacefast/zero";
17
24
  /**
@@ -35,11 +42,57 @@ export declare const ZERO_RUNTIME_STORAGE_ROOT = "__spacefast/zero";
35
42
  export declare const ZERO_RUNTIME_ARTIFACT_PATH = "__spacefast/zero/artifact.json";
36
43
  export declare const ZERO_RUNTIME_CONFIG_PATH = "__spacefast/zero/config.json";
37
44
  export declare const ZERO_RUNTIME_BINARY_PATH = "__spacefast/zero/bin/stattic-runtime";
38
- export declare const ZERO_RUNTIME_BINARY_COMPATIBILITY_TARGET = "wpcloud-linux-x86_64-gnu-v1";
45
+ export declare const ZERO_RUNTIME_BINARY_COMPATIBILITY_TARGET = "linux-x86_64-gnu-v1";
39
46
  export declare const ZERO_RUNTIME_BUNDLE_ROOT = "__spacefast/zero/bundles";
40
- export declare const ZERO_RUNTIME_CLIENT_BUNDLE_PATH = "__spacefast/zero/bundles/client.js";
41
47
  export declare const ZERO_RUNTIME_SERVER_BUNDLE_PATH = "__spacefast/zero/bundles/server.qjs.mjs";
42
- export declare const ZERO_RUNTIME_BUNDLE_MAX_BYTES = 786432;
48
+ /** The compiled capsule client, served at the app root. */
49
+ export declare const ZERO_PUBLIC_CLIENT_BUNDLE_PATH = "client.js";
50
+ /**
51
+ * Where platform-owned client bytes serve from: same origin as the space, one
52
+ * content-addressed directory per platform build.
53
+ *
54
+ * Same origin is the whole point. Browsers have partitioned the HTTP cache by
55
+ * top-level site since 2020, so a shared third-party CDN buys nothing a
56
+ * same-origin URL does not — and costs a `script-src` hole. What a stable,
57
+ * content-addressed URL does buy is real: the digest changes only when the
58
+ * platform bytes change, so publishing a capsule a hundred times re-downloads
59
+ * the capsule's own bundle a hundred times and the platform's exactly once.
60
+ *
61
+ * Underscore-prefixed by framework convention (`_next/static`, `_astro`), which
62
+ * is also how the runtime recognises it as immutable — see `immutable_path` in
63
+ * `crates/stattic-runtime-core/src/finalize.rs`.
64
+ */
65
+ export declare const ZERO_PLATFORM_ASSET_NAMESPACE = "_spacefast";
66
+ export declare const ZERO_PLATFORM_ASSET_ROOT = "_spacefast/platform";
67
+ /** The serving path of one file in the platform build identified by `digest`. */
68
+ export declare function zeroPlatformAssetPath(digest: string, fileName: string): string;
69
+ /**
70
+ * The compiled capsule server, which the QuickJS runner instantiates whole.
71
+ *
72
+ * 768 KiB is inherited, not measured: nobody has yet established what the
73
+ * runner actually tolerates, and DS77 keeps the number only until someone does.
74
+ * It binds a real resource — the runner holds the module graph in the site's
75
+ * PHP-worker memory before executing anything — so it stays low deliberately;
76
+ * server code is handlers, not an application.
77
+ */
78
+ export declare const ZERO_SERVER_BUNDLE_MAX_BYTES = 786432;
79
+ /**
80
+ * The tenant client bundle, and every other file the compile ships as content.
81
+ *
82
+ * This measures what the tenant publishes, and only that: the SDK, the kit, the
83
+ * chart layer, preact, recharts and lucide are externals resolved through the
84
+ * shell's import map to {@link ZERO_PLATFORM_ASSET_ROOT}, so platform bytes are
85
+ * never weighed here (DS42). What remains is author code plus whatever npm the
86
+ * author chose to bundle.
87
+ *
88
+ * 8 MiB matches the Functions per-entry cap (DS77) because the same reasoning
89
+ * applies: a client bundle is static bytes to a browser, so nothing on the
90
+ * serving side binds it, and the cap exists to fail an accidental
91
+ * hundred-megabyte dependency in our tooling — where the build can say which
92
+ * modules are large — rather than at upload. It is a guardrail, not a budget;
93
+ * the size report is what an author should be reading.
94
+ */
95
+ export declare const ZERO_CLIENT_BUNDLE_MAX_BYTES: number;
43
96
  /**
44
97
  * A capsule's compiled server travels as version metadata, not as content, so a
45
98
  * server-only change leaves the published app shell byte-identical — and the
@@ -58,7 +111,7 @@ export declare const ZERO_MANAGED_TABLE_COLUMNS: readonly ["id", "createdAt", "u
58
111
  * router and auth flow already do.
59
112
  */
60
113
  export declare const ZERO_RESERVED_APP_ROUTE_PATHS: readonly ["/", "/index.html", "/client.js", "/auth/callback"];
61
- export declare const ZERO_RESERVED_APP_ROUTE_PREFIXES: readonly ["/auth/"];
114
+ export declare const ZERO_RESERVED_APP_ROUTE_PREFIXES: readonly ["/auth/", "/_spacefast/"];
62
115
  export declare const zeroEndpointSchema: z.ZodObject<{
63
116
  method: z.ZodEnum<{
64
117
  POST: "POST";
@@ -89,7 +142,6 @@ export declare const zeroTableIndexSchema: z.ZodObject<{
89
142
  name: z.ZodString;
90
143
  fields: z.ZodArray<z.ZodString>;
91
144
  }, z.core.$strict>;
92
- export type ZeroTableIndex = z.infer<typeof zeroTableIndexSchema>;
93
145
  export declare const zeroTableSchema: z.ZodObject<{
94
146
  name: z.ZodString;
95
147
  columns: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -129,10 +181,12 @@ export declare const zeroDatabaseSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
129
181
  }, z.core.$strict>>;
130
182
  export type ZeroDatabase = z.infer<typeof zeroDatabaseSchema>;
131
183
  /**
132
- * Zero's bundles travel inline in the finalize payload a capsule's compiled
133
- * client and server fit comfortably under the ceiling, and inlining keeps the
184
+ * The compiled server travels inline in the finalize payload; inlining keeps the
134
185
  * whole version one atomic write. Functions bundles do the opposite and land
135
186
  * in the content store first; see `functionsBundleRefSchema`.
187
+ *
188
+ * The client never travels this way. It is content — the browser fetches it
189
+ * from the version tree like any other asset — so it ships as a static file.
136
190
  */
137
191
  export declare const zeroRuntimeBundleSchema: z.ZodObject<{
138
192
  path: z.ZodString;
@@ -160,6 +214,9 @@ export declare const zeroRuntimeRunSourceSchema: z.ZodObject<{
160
214
  env: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
161
215
  realtime: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
162
216
  logging: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
217
+ gravatar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
218
+ spam: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
219
+ email: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
163
220
  }, z.core.$strip>>;
164
221
  db: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
165
222
  }, z.core.$strict>;
@@ -185,6 +242,9 @@ export declare const zeroRuntimeEndpointSourceSchema: z.ZodObject<{
185
242
  env: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
186
243
  realtime: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
187
244
  logging: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
245
+ gravatar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
246
+ spam: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
247
+ email: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
188
248
  }, z.core.$strip>>;
189
249
  db: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
190
250
  }, z.core.$strict>;
@@ -299,8 +359,8 @@ export declare const zeroMigrationPlanSchema: z.ZodObject<{
299
359
  }, z.core.$strict>;
300
360
  export type ZeroMigrationPlan = z.infer<typeof zeroMigrationPlanSchema>;
301
361
  export declare const zeroInspectPolicySchema: z.ZodEnum<{
302
- public: "public";
303
362
  private: "private";
363
+ public: "public";
304
364
  }>;
305
365
  export declare const zeroRuntimePublicAuthConfigSchema: z.ZodObject<{
306
366
  provider: z.ZodDefault<z.ZodLiteral<"gravatar">>;
@@ -328,7 +388,6 @@ export declare const zeroRuntimePublicRealtimeConfigSchema: z.ZodObject<{
328
388
  spaceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
329
389
  versionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
330
390
  }, z.core.$strict>;
331
- export type ZeroRuntimePublicRealtimeConfig = z.infer<typeof zeroRuntimePublicRealtimeConfigSchema>;
332
391
  export declare const zeroRuntimeClientConfigSchema: z.ZodObject<{
333
392
  runtimeKind: z.ZodLiteral<"zero">;
334
393
  basePath: z.ZodOptional<z.ZodString>;
@@ -369,7 +428,7 @@ export declare const zeroRuntimeInstallProfileSchema: z.ZodObject<{
369
428
  binary: z.ZodObject<{
370
429
  path: z.ZodLiteral<"__spacefast/zero/bin/stattic-runtime">;
371
430
  compatibilityTarget: z.ZodObject<{
372
- profile: z.ZodLiteral<"wpcloud-linux-x86_64-gnu-v1">;
431
+ profile: z.ZodLiteral<"linux-x86_64-gnu-v1">;
373
432
  os: z.ZodLiteral<"linux">;
374
433
  cpu: z.ZodLiteral<"x86_64">;
375
434
  libc: z.ZodLiteral<"glibc">;
@@ -473,7 +532,7 @@ export declare const zeroCapsuleArtifactSchema: z.ZodObject<{
473
532
  sockets: z.ZodDefault<z.ZodArray<z.ZodString>>;
474
533
  }, z.core.$strict>;
475
534
  db: z.ZodObject<{
476
- backend: z.ZodLiteral<"wpcloud-mysql">;
535
+ backend: z.ZodLiteral<"mysql">;
477
536
  migrations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
478
537
  op: z.ZodLiteral<"create_table">;
479
538
  table: z.ZodString;
@@ -570,7 +629,7 @@ export declare const zeroRuntimeFinalizePayloadSchema: z.ZodObject<{
570
629
  binary: z.ZodObject<{
571
630
  path: z.ZodLiteral<"__spacefast/zero/bin/stattic-runtime">;
572
631
  compatibilityTarget: z.ZodObject<{
573
- profile: z.ZodLiteral<"wpcloud-linux-x86_64-gnu-v1">;
632
+ profile: z.ZodLiteral<"linux-x86_64-gnu-v1">;
574
633
  os: z.ZodLiteral<"linux">;
575
634
  cpu: z.ZodLiteral<"x86_64">;
576
635
  libc: z.ZodLiteral<"glibc">;
@@ -635,7 +694,7 @@ export declare const zeroRuntimeFinalizePayloadSchema: z.ZodObject<{
635
694
  sockets: z.ZodDefault<z.ZodArray<z.ZodString>>;
636
695
  }, z.core.$strict>;
637
696
  db: z.ZodObject<{
638
- backend: z.ZodLiteral<"wpcloud-mysql">;
697
+ backend: z.ZodLiteral<"mysql">;
639
698
  migrations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
640
699
  op: z.ZodLiteral<"create_table">;
641
700
  table: z.ZodString;
@@ -754,6 +813,9 @@ export declare const zeroRuntimeFinalizePayloadSchema: z.ZodObject<{
754
813
  env: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
755
814
  realtime: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
756
815
  logging: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
816
+ gravatar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
817
+ spam: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
818
+ email: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
757
819
  }, z.core.$strip>>;
758
820
  db: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
759
821
  }, z.core.$strict>>>;
@@ -768,6 +830,9 @@ export declare const zeroRuntimeFinalizePayloadSchema: z.ZodObject<{
768
830
  env: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
769
831
  realtime: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
770
832
  logging: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
833
+ gravatar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
834
+ spam: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
835
+ email: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
771
836
  }, z.core.$strip>>;
772
837
  db: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
773
838
  }, z.core.$strict>>>;
@@ -857,8 +922,8 @@ export declare const zeroRuntimeFinalizePayloadSchema: z.ZodObject<{
857
922
  }, z.core.$strict>>;
858
923
  inspect: z.ZodDefault<z.ZodObject<{
859
924
  policy: z.ZodDefault<z.ZodEnum<{
860
- public: "public";
861
925
  private: "private";
926
+ public: "public";
862
927
  }>>;
863
928
  }, z.core.$strict>>;
864
929
  }, z.core.$strict>;
@@ -872,6 +937,10 @@ export declare const zeroRuntimeConfigSchema: z.ZodObject<{
872
937
  signOutUrl: z.ZodDefault<z.ZodNullable<z.ZodString>>;
873
938
  returnToParam: z.ZodDefault<z.ZodString>;
874
939
  }, z.core.$strict>>;
940
+ variables: z.ZodObject<{
941
+ source: z.ZodLiteral<"stattic-variables">;
942
+ names: z.ZodDefault<z.ZodArray<z.ZodString>>;
943
+ }, z.core.$strict>;
875
944
  realtime: z.ZodObject<{
876
945
  mode: z.ZodEnum<{
877
946
  local: "local";
@@ -886,10 +955,6 @@ export declare const zeroRuntimeConfigSchema: z.ZodObject<{
886
955
  token: z.ZodString;
887
956
  }, z.core.$strict>>;
888
957
  }, z.core.$strict>;
889
- variables: z.ZodObject<{
890
- source: z.ZodLiteral<"stattic-variables">;
891
- names: z.ZodDefault<z.ZodArray<z.ZodString>>;
892
- }, z.core.$strict>;
893
958
  artifact: z.ZodObject<{
894
959
  format: z.ZodLiteral<"stattic.zero.capsule.v1">;
895
960
  appName: z.ZodString;
@@ -936,7 +1001,7 @@ export declare const zeroRuntimeConfigSchema: z.ZodObject<{
936
1001
  sockets: z.ZodDefault<z.ZodArray<z.ZodString>>;
937
1002
  }, z.core.$strict>;
938
1003
  db: z.ZodObject<{
939
- backend: z.ZodLiteral<"wpcloud-mysql">;
1004
+ backend: z.ZodLiteral<"mysql">;
940
1005
  migrations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
941
1006
  op: z.ZodLiteral<"create_table">;
942
1007
  table: z.ZodString;
@@ -1089,7 +1154,7 @@ export declare const zeroRuntimeConfigSchema: z.ZodObject<{
1089
1154
  binary: z.ZodObject<{
1090
1155
  path: z.ZodLiteral<"__spacefast/zero/bin/stattic-runtime">;
1091
1156
  compatibilityTarget: z.ZodObject<{
1092
- profile: z.ZodLiteral<"wpcloud-linux-x86_64-gnu-v1">;
1157
+ profile: z.ZodLiteral<"linux-x86_64-gnu-v1">;
1093
1158
  os: z.ZodLiteral<"linux">;
1094
1159
  cpu: z.ZodLiteral<"x86_64">;
1095
1160
  libc: z.ZodLiteral<"glibc">;
@@ -1110,8 +1175,8 @@ export declare const zeroRuntimeConfigSchema: z.ZodObject<{
1110
1175
  }, z.core.$strict>;
1111
1176
  inspect: z.ZodDefault<z.ZodObject<{
1112
1177
  policy: z.ZodDefault<z.ZodEnum<{
1113
- public: "public";
1114
1178
  private: "private";
1179
+ public: "public";
1115
1180
  }>>;
1116
1181
  }, z.core.$strict>>;
1117
1182
  variableValues: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -1134,7 +1199,7 @@ export declare const zeroDeployMetadataSchema: z.ZodObject<{
1134
1199
  binary: z.ZodObject<{
1135
1200
  path: z.ZodLiteral<"__spacefast/zero/bin/stattic-runtime">;
1136
1201
  compatibilityTarget: z.ZodObject<{
1137
- profile: z.ZodLiteral<"wpcloud-linux-x86_64-gnu-v1">;
1202
+ profile: z.ZodLiteral<"linux-x86_64-gnu-v1">;
1138
1203
  os: z.ZodLiteral<"linux">;
1139
1204
  cpu: z.ZodLiteral<"x86_64">;
1140
1205
  libc: z.ZodLiteral<"glibc">;
@@ -1199,7 +1264,7 @@ export declare const zeroDeployMetadataSchema: z.ZodObject<{
1199
1264
  sockets: z.ZodDefault<z.ZodArray<z.ZodString>>;
1200
1265
  }, z.core.$strict>;
1201
1266
  db: z.ZodObject<{
1202
- backend: z.ZodLiteral<"wpcloud-mysql">;
1267
+ backend: z.ZodLiteral<"mysql">;
1203
1268
  migrations: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1204
1269
  op: z.ZodLiteral<"create_table">;
1205
1270
  table: z.ZodString;
@@ -1318,6 +1383,9 @@ export declare const zeroDeployMetadataSchema: z.ZodObject<{
1318
1383
  env: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1319
1384
  realtime: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1320
1385
  logging: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1386
+ gravatar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1387
+ spam: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1388
+ email: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1321
1389
  }, z.core.$strip>>;
1322
1390
  db: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1323
1391
  }, z.core.$strict>>>;
@@ -1332,6 +1400,9 @@ export declare const zeroDeployMetadataSchema: z.ZodObject<{
1332
1400
  env: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1333
1401
  realtime: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1334
1402
  logging: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1403
+ gravatar: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1404
+ spam: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1405
+ email: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1335
1406
  }, z.core.$strip>>;
1336
1407
  db: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1337
1408
  }, z.core.$strict>>>;
@@ -1421,37 +1492,38 @@ export declare const zeroDeployMetadataSchema: z.ZodObject<{
1421
1492
  }, z.core.$strict>>;
1422
1493
  inspect: z.ZodDefault<z.ZodObject<{
1423
1494
  policy: z.ZodDefault<z.ZodEnum<{
1424
- public: "public";
1425
1495
  private: "private";
1496
+ public: "public";
1426
1497
  }>>;
1427
1498
  }, z.core.$strict>>;
1428
1499
  }, z.core.$strict>;
1429
1500
  }, z.core.$strict>;
1430
1501
  export type ZeroDeployMetadata = z.infer<typeof zeroDeployMetadataSchema>;
1431
1502
  /**
1432
- * What a live Zero capsule is, as the `app` member of a space's runtime status.
1503
+ * What a live Zero capsule is, as the `capsule` member of a space's runtime
1504
+ * status.
1433
1505
  *
1434
1506
  * There is no `versionId` here: this only ever describes the version the status
1435
1507
  * response already names as live, and repeating it would invite the two to
1436
1508
  * disagree. `artifactId` stays because it identifies the built capsule rather
1437
- * than the publish that carries it.
1509
+ * than the publish that carries it. There is no kind tag either — the member it
1510
+ * rides in already says which product answered.
1438
1511
  *
1439
1512
  * Every field is derived from the version's own finalize metadata, which is
1440
1513
  * what makes this safe to answer for a space whose runtime is asleep,
1441
1514
  * mid-move, or failing: nothing here costs a call to the space's origin. It is
1442
1515
  * also why there are no counts of things listed here — a caller that wants
1443
1516
  * `tables.length` can take it — and why the database is not a field: a capsule
1444
- * always owns one, so `runtimeKind: "zero"` already said so.
1517
+ * always owns one, so its presence already said so.
1445
1518
  */
1446
1519
  export declare const zeroAppSchema: z.ZodObject<{
1447
- runtimeKind: z.ZodLiteral<"zero">;
1448
1520
  artifactId: z.ZodString;
1449
1521
  appName: z.ZodString;
1450
1522
  serverRuntime: z.ZodLiteral<"quickjs-rust">;
1451
1523
  inspect: z.ZodObject<{
1452
1524
  policy: z.ZodEnum<{
1453
- public: "public";
1454
1525
  private: "private";
1526
+ public: "public";
1455
1527
  }>;
1456
1528
  }, z.core.$strict>;
1457
1529
  install: z.ZodObject<{
@@ -1463,7 +1535,7 @@ export declare const zeroAppSchema: z.ZodObject<{
1463
1535
  binary: z.ZodObject<{
1464
1536
  path: z.ZodLiteral<"__spacefast/zero/bin/stattic-runtime">;
1465
1537
  compatibilityTarget: z.ZodObject<{
1466
- profile: z.ZodLiteral<"wpcloud-linux-x86_64-gnu-v1">;
1538
+ profile: z.ZodLiteral<"linux-x86_64-gnu-v1">;
1467
1539
  os: z.ZodLiteral<"linux">;
1468
1540
  cpu: z.ZodLiteral<"x86_64">;
1469
1541
  libc: z.ZodLiteral<"glibc">;
@@ -1525,49 +1597,6 @@ export declare const zeroAppSchema: z.ZodObject<{
1525
1597
  }, z.core.$strict>;
1526
1598
  }, z.core.$strict>;
1527
1599
  export type ZeroApp = z.infer<typeof zeroAppSchema>;
1528
- export declare const zeroLogListQuerySchema: z.ZodObject<{
1529
- limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
1530
- cursor: z.ZodOptional<z.ZodString>;
1531
- requestId: z.ZodOptional<z.ZodString>;
1532
- handlerName: z.ZodOptional<z.ZodString>;
1533
- }, z.core.$strict>;
1534
- export type ZeroLogListQuery = z.infer<typeof zeroLogListQuerySchema>;
1535
- export declare const zeroLogEntrySchema: z.ZodObject<{
1536
- id: z.ZodString;
1537
- timestamp: z.ZodString;
1538
- level: z.ZodEnum<{
1539
- info: "info";
1540
- error: "error";
1541
- debug: "debug";
1542
- warn: "warn";
1543
- }>;
1544
- requestId: z.ZodNullable<z.ZodString>;
1545
- versionId: z.ZodNullable<z.ZodString>;
1546
- handlerName: z.ZodNullable<z.ZodString>;
1547
- message: z.ZodString;
1548
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1549
- }, z.core.$strict>;
1550
- export declare const zeroLogListResponseSchema: z.ZodObject<{
1551
- data: z.ZodArray<z.ZodObject<{
1552
- id: z.ZodString;
1553
- timestamp: z.ZodString;
1554
- level: z.ZodEnum<{
1555
- info: "info";
1556
- error: "error";
1557
- debug: "debug";
1558
- warn: "warn";
1559
- }>;
1560
- requestId: z.ZodNullable<z.ZodString>;
1561
- versionId: z.ZodNullable<z.ZodString>;
1562
- handlerName: z.ZodNullable<z.ZodString>;
1563
- message: z.ZodString;
1564
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1565
- }, z.core.$strict>>;
1566
- pagination: z.ZodObject<{
1567
- nextCursor: z.ZodNullable<z.ZodString>;
1568
- }, z.core.$strict>;
1569
- }, z.core.$strict>;
1570
- export type ZeroLogListResponse = z.infer<typeof zeroLogListResponseSchema>;
1571
1600
  export declare const zeroRealtimeEventIntakeResponseSchema: z.ZodObject<{
1572
1601
  accepted: z.ZodLiteral<true>;
1573
1602
  eventId: z.ZodString;