@spacefast/common 0.0.11 → 0.0.13

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 (160) hide show
  1. package/dist/agents/connect-targets.d.ts +4 -4
  2. package/dist/agents/connect-targets.js +3 -3
  3. package/dist/agents/private-key-oauth.d.ts +37 -0
  4. package/dist/agents/private-key-oauth.js +158 -0
  5. package/dist/config/domains.js +1 -1
  6. package/dist/config/index.d.ts +1 -0
  7. package/dist/config/index.js +1 -0
  8. package/dist/config/postgres-budget.d.ts +126 -0
  9. package/dist/config/postgres-budget.js +135 -0
  10. package/dist/config/postgres-budget.json +50 -0
  11. package/dist/contracts/access.d.ts +386 -1183
  12. package/dist/contracts/access.js +240 -1018
  13. package/dist/contracts/activity.d.ts +1 -1
  14. package/dist/contracts/activity.js +11 -19
  15. package/dist/contracts/api-keys.d.ts +69 -45
  16. package/dist/contracts/api-keys.js +3 -0
  17. package/dist/contracts/archives.d.ts +9 -10
  18. package/dist/contracts/archives.js +4 -6
  19. package/dist/contracts/builds.d.ts +8 -8
  20. package/dist/contracts/builds.js +28 -48
  21. package/dist/contracts/channels.js +1 -2
  22. package/dist/contracts/comments.d.ts +102 -93
  23. package/dist/contracts/comments.js +121 -63
  24. package/dist/contracts/common.d.ts +4 -3
  25. package/dist/contracts/common.js +2 -0
  26. package/dist/contracts/countries.js +2 -7
  27. package/dist/contracts/data-source-routes.d.ts +20 -0
  28. package/dist/contracts/data-source-routes.js +15 -0
  29. package/dist/contracts/deployments.d.ts +3 -3
  30. package/dist/contracts/device-auth.d.ts +21 -15
  31. package/dist/contracts/docs.d.ts +5 -5
  32. package/dist/contracts/domains.d.ts +261 -1330
  33. package/dist/contracts/domains.js +39 -301
  34. package/dist/contracts/email-preferences.d.ts +50 -0
  35. package/dist/contracts/email-preferences.js +44 -0
  36. package/dist/contracts/enums.d.ts +3 -5
  37. package/dist/contracts/enums.js +3 -8
  38. package/dist/contracts/error-code-meta.d.ts +99 -33
  39. package/dist/contracts/error-code-meta.js +36 -9
  40. package/dist/contracts/error-codes.d.ts +1 -1
  41. package/dist/contracts/error-codes.js +28 -11
  42. package/dist/contracts/execution.d.ts +212 -0
  43. package/dist/contracts/execution.js +288 -0
  44. package/dist/contracts/feature-lifecycle.d.ts +498 -2
  45. package/dist/contracts/feature-lifecycle.js +539 -2
  46. package/dist/contracts/features.d.ts +184 -74
  47. package/dist/contracts/features.js +4 -303
  48. package/dist/contracts/functions.d.ts +729 -0
  49. package/dist/contracts/functions.js +485 -0
  50. package/dist/contracts/git.d.ts +1 -1
  51. package/dist/contracts/grants.d.ts +1158 -0
  52. package/dist/contracts/grants.js +696 -0
  53. package/dist/contracts/ids.d.ts +6 -5
  54. package/dist/contracts/ids.js +6 -5
  55. package/dist/contracts/internal.d.ts +3 -3
  56. package/dist/contracts/mcp.d.ts +12 -12
  57. package/dist/contracts/me.js +1 -1
  58. package/dist/contracts/mounts.d.ts +142 -0
  59. package/dist/contracts/mounts.js +56 -0
  60. package/dist/contracts/oauth-resources.d.ts +5 -5
  61. package/dist/contracts/oauth-resources.js +2 -0
  62. package/dist/contracts/operations.d.ts +4 -4
  63. package/dist/contracts/pages.d.ts +6 -14
  64. package/dist/contracts/pages.js +11 -23
  65. package/dist/contracts/plan-policy.d.ts +2 -9
  66. package/dist/contracts/plan-policy.js +1 -4
  67. package/dist/contracts/platform.d.ts +80 -32
  68. package/dist/contracts/platform.js +59 -12
  69. package/dist/contracts/push-new.d.ts +26 -2
  70. package/dist/contracts/push-new.js +8 -0
  71. package/dist/contracts/quotas.d.ts +0 -1
  72. package/dist/contracts/quotas.js +0 -5
  73. package/dist/contracts/repository-connections.d.ts +1 -1
  74. package/dist/contracts/resources.d.ts +21 -85
  75. package/dist/contracts/resources.js +17 -47
  76. package/dist/contracts/runtime-api.d.ts +799 -192
  77. package/dist/contracts/runtime-api.js +231 -100
  78. package/dist/contracts/runtime-app.d.ts +138 -0
  79. package/dist/contracts/runtime-app.js +21 -0
  80. package/dist/contracts/sf-config-v1.d.ts +5 -0
  81. package/dist/contracts/sf-config-v1.js +1 -1
  82. package/dist/contracts/sites.d.ts +17 -12
  83. package/dist/contracts/sites.js +30 -12
  84. package/dist/contracts/space-config.d.ts +46 -117
  85. package/dist/contracts/space-config.js +323 -25
  86. package/dist/contracts/spaces.d.ts +392 -256
  87. package/dist/contracts/spaces.js +163 -83
  88. package/dist/contracts/superadmin-emails.d.ts +27 -3
  89. package/dist/contracts/superadmin-emails.js +10 -15
  90. package/dist/contracts/superadmin-runtime.d.ts +2 -2
  91. package/dist/contracts/superadmin-spaces.d.ts +19 -142
  92. package/dist/contracts/superadmin-spaces.js +7 -0
  93. package/dist/contracts/tags.d.ts +66 -36
  94. package/dist/contracts/tags.js +195 -11
  95. package/dist/contracts/teams.d.ts +9 -9
  96. package/dist/contracts/transfers.d.ts +1 -2
  97. package/dist/contracts/variables.d.ts +4 -4
  98. package/dist/contracts/variables.js +4 -3
  99. package/dist/contracts/webhooks.d.ts +2 -2
  100. package/dist/contracts/zero.d.ts +437 -193
  101. package/dist/contracts/zero.js +149 -158
  102. package/dist/dashboard-paths/index.d.ts +3 -3
  103. package/dist/dashboard-paths/index.js +1 -0
  104. package/dist/docs/agent-prose.js +10 -8
  105. package/dist/docs/agent-setup.d.ts +6 -4
  106. package/dist/docs/agent-setup.js +26 -16
  107. package/dist/docs/agent-solutions.js +1 -1
  108. package/dist/docs/catalog.d.ts +35 -37
  109. package/dist/docs/catalog.js +36 -38
  110. package/dist/docs/error-docs.js +108 -44
  111. package/dist/utils/asset-fingerprint.d.ts +11 -0
  112. package/dist/utils/asset-fingerprint.js +46 -0
  113. package/dist/utils/auth-redirect.d.ts +1 -3
  114. package/dist/utils/auth-redirect.js +1 -21
  115. package/dist/utils/build-settings.d.ts +2 -0
  116. package/dist/utils/build-settings.js +61 -9
  117. package/dist/utils/credential-policy.d.ts +1 -1
  118. package/dist/utils/credential-policy.js +4 -0
  119. package/dist/utils/dns-instructions.d.ts +29 -0
  120. package/dist/utils/dns-instructions.js +78 -0
  121. package/dist/utils/domain-diagnostics.d.ts +29 -0
  122. package/dist/utils/domain-diagnostics.js +63 -0
  123. package/dist/utils/egress-policy.fixtures.json +51 -0
  124. package/dist/utils/grants.d.ts +53 -0
  125. package/dist/utils/grants.js +160 -0
  126. package/dist/utils/id-hints.d.ts +1 -0
  127. package/dist/utils/id-hints.js +55 -13
  128. package/dist/utils/local-space-state.js +1 -0
  129. package/dist/utils/page-colors.d.ts +50 -0
  130. package/dist/utils/page-colors.js +167 -0
  131. package/dist/utils/page-fonts.d.ts +2 -0
  132. package/dist/utils/page-fonts.js +4 -0
  133. package/dist/utils/pages.d.ts +19 -6
  134. package/dist/utils/pages.js +122 -49
  135. package/dist/utils/production-runtime.d.ts +18 -0
  136. package/dist/utils/production-runtime.js +28 -0
  137. package/dist/utils/publish-policy.d.ts +34 -4
  138. package/dist/utils/publish-policy.js +132 -61
  139. package/dist/utils/query-keys.d.ts +7 -13
  140. package/dist/utils/query-keys.js +12 -18
  141. package/dist/utils/source-archive-policy.d.ts +2 -0
  142. package/dist/utils/source-archive-policy.js +2 -0
  143. package/dist/utils/space-config.d.ts +5 -1
  144. package/dist/utils/space-config.js +35 -0
  145. package/dist/utils/static-runtime-policy.d.ts +5 -0
  146. package/dist/utils/static-runtime-policy.fixtures.json +57 -0
  147. package/dist/utils/static-runtime-policy.js +54 -10
  148. package/dist/utils/upload-session.d.ts +3 -0
  149. package/dist/utils/upload-session.js +31 -0
  150. package/package.json +6 -4
  151. package/dist/contracts/annotations.d.ts +0 -327
  152. package/dist/contracts/annotations.js +0 -235
  153. package/dist/contracts/generated-feature-launch-entries.d.ts +0 -2
  154. package/dist/contracts/generated-feature-launch-entries.js +0 -518
  155. package/dist/contracts/publishes.d.ts +0 -135
  156. package/dist/contracts/publishes.js +0 -162
  157. package/dist/utils/access-match.d.ts +0 -39
  158. package/dist/utils/access-match.js +0 -296
  159. package/dist/utils/sf-config-v1.d.ts +0 -2
  160. package/dist/utils/sf-config-v1.js +0 -542
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- import { policyDocSchema } from "./access.js";
3
2
  import { AsyncOperationSchema, baseDiagnosticSchema } from "./common.js";
4
3
  import { normalizedSiteClass, publishSourceKind, versionStatus, spaceDisabledReasonCode, spaceStatus, } from "./enums.js";
5
4
  import { pendingUploadSchema } from "./internal.js";
@@ -14,40 +13,12 @@ export const PrincipalRefSchema = z.object({
14
13
  principalType: z.enum(["team", "external"]),
15
14
  principalId: z.string(),
16
15
  });
17
- // ChannelPointer (internal-docs/platform.md "ChannelPointer"): exactly one of
18
- // `versionId` | `weighted` is present; an empty pointer is invalid. Weighted
19
- // pointers (gradual rollouts) are a future write surface — the shape is final.
20
- export const ChannelPointerSchema = z
21
- .object({
22
- versionId: z.string().optional().describe("Version this channel serves."),
23
- weighted: z
24
- .array(z.object({
25
- versionId: z.string(),
26
- percentage: z.number().int().min(1).max(100),
27
- }))
28
- .min(2)
29
- .optional()
30
- .describe("Weighted rollout across >=2 ready versions; percentages sum to 100."),
16
+ // ChannelPointer (internal-docs/platform.md "ChannelPointer"): a channel names
17
+ // exactly one version. A channel with no version yet is absent from the map
18
+ // rather than present with an empty pointer.
19
+ export const ChannelPointerSchema = z.object({
20
+ versionId: z.string().describe("Version this channel serves."),
31
21
  updatedAt: z.string().datetime(),
32
- })
33
- .superRefine((value, ctx) => {
34
- const hasVersion = value.versionId !== undefined;
35
- const hasWeighted = value.weighted !== undefined;
36
- if (hasVersion === hasWeighted) {
37
- ctx.addIssue({
38
- code: z.ZodIssueCode.custom,
39
- message: "Exactly one of versionId or weighted must be present.",
40
- });
41
- return;
42
- }
43
- if (value.weighted &&
44
- value.weighted.reduce((sum, entry) => sum + entry.percentage, 0) !== 100) {
45
- ctx.addIssue({
46
- code: z.ZodIssueCode.custom,
47
- path: ["weighted"],
48
- message: "Weighted percentages must sum to 100.",
49
- });
50
- }
51
22
  });
52
23
  // The versioned-settings CAS token: always the lowercase hex sha256 the
53
24
  // control plane computes over canonical {config, title}. Shared by the Space
@@ -91,7 +62,7 @@ export const SpaceSchema = z.object({
91
62
  expiryExtension: z.object({ extendedTo: z.string().datetime() }).nullable().optional(),
92
63
  defaultHostname: z
93
64
  .string()
94
- .describe("Stable Spacefast-owned default hostname, built from the public project name under view.fast; survives slug renames."),
65
+ .describe("Current Spacefast-owned managed hostname under view.fast. Renaming the space changes this hostname; previously managed hostnames temporarily redirect to the current one."),
95
66
  publicName: z.string().describe("Public project label used in the managed view.fast hostname."),
96
67
  liveUrl: z
97
68
  .string()
@@ -107,7 +78,7 @@ export const SpaceSchema = z.object({
107
78
  .describe("Server-selected dashboard thumbnail. Screenshots use WordPress.com mShots; image thumbnails use WordPress.com Site Accelerator."),
108
79
  dataLocation: z
109
80
  .string()
110
- .describe('Resolved data-location region. PATCH may queue a move to change it; "auto" only while no concrete region is known yet.'),
81
+ .describe('Resolved data-location region, fixed when the space is created and immutable afterwards; "auto" only while no concrete region is known yet.'),
111
82
  region: z
112
83
  .string()
113
84
  .describe('Alias of dataLocation for placement dashboards; "auto" only while no concrete region is known yet.'),
@@ -133,9 +104,6 @@ export const SpaceSchema = z.object({
133
104
  noindex: z
134
105
  .boolean()
135
106
  .describe("When true, the live production hostnames serve platform noindex directives. Immutable version and preview hostnames are always noindex regardless of this setting."),
136
- policy: policyDocSchema
137
- .nullable()
138
- .describe("Deprecated space-level access projection. Use /v1/spaces/{spaceId}/access and /effective for the unified policy lane."),
139
107
  operation: AsyncOperationSchema.nullable(),
140
108
  createdAt: z.string().datetime(),
141
109
  updatedAt: z.string().datetime(),
@@ -201,9 +169,9 @@ export const VersionSchema = z.object({
201
169
  buildId: z.string().nullable(),
202
170
  // Import provenance: the source version this one was materialized from.
203
171
  importedFromVersionId: z.string().nullable(),
204
- // Finalize-time variable resolution provenance names and value hashes only,
205
- // never values.
206
- variables: z.array(z.object({ name: z.string(), valueHash: z.string() })).nullable(),
172
+ // Finalize-time dependency digests remain server-internal: historical rows
173
+ // cannot distinguish hashes of sealed values safely.
174
+ variables: z.null().describe("Variable dependency provenance is not publicly exposed."),
207
175
  fileCount: z.number().int().nullable(),
208
176
  totalBytes: z.number().int().nullable(),
209
177
  pendingUploads: z.array(pendingUploadSchema),
@@ -212,6 +180,10 @@ export const VersionSchema = z.object({
212
180
  .string()
213
181
  .nullable()
214
182
  .describe("Permanent version URL (v{number}--{label}.view.fast form), computed once and stored at ready; survives slug changes, transfers, and channel repointing. Null before ready."),
183
+ immutableUrlStatus: z
184
+ .enum(["converging", "ready"])
185
+ .nullable()
186
+ .describe("Whether the immutable version URL provider alias has converged. converging means the URL may not resolve yet."),
215
187
  isCurrentProduction: z.boolean(),
216
188
  siteTitle: z.string(),
217
189
  config: spaceConfigSchema
@@ -227,11 +199,9 @@ export const VersionSchema = z.object({
227
199
  createdAt: z.string().datetime(),
228
200
  // Retention anchor: stamped when the version first reaches "ready".
229
201
  readyAt: z.string().datetime().nullable(),
230
- // Retention axes computed from plan policy at read time, never stored per row
231
- // (internal-docs/platform.md "Version retention"). Null = not subject to that
232
- // axis (live/channel-referenced, anonymous claim lifecycle, or the plan
233
- // retains indefinitely).
234
- accessibleUntil: z.string().datetime().nullable(),
202
+ // Storage retention deadline computed from plan policy at read time, never
203
+ // stored per row. Null = not subject to retention deletion
204
+ // (live/channel-referenced, anonymous claim lifecycle, or an unlimited plan).
235
205
  retainedUntil: z.string().datetime().nullable(),
236
206
  updatedAt: z.string().datetime(),
237
207
  });