@spacefast/common 0.0.21 → 0.0.24
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.
- package/dist/agents/connect-targets.d.ts +9 -6
- package/dist/agents/connect-targets.js +9 -6
- package/dist/config/domains.d.ts +1 -1
- package/dist/config/domains.js +1 -0
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.js +0 -1
- package/dist/contracts/abuse.d.ts +2 -0
- package/dist/contracts/abuse.js +12 -0
- package/dist/contracts/access.d.ts +121 -9
- package/dist/contracts/access.js +73 -9
- package/dist/contracts/activity.d.ts +1 -1
- package/dist/contracts/activity.js +0 -9
- package/dist/contracts/api-keys.d.ts +21 -21
- package/dist/contracts/beta.js +1 -1
- package/dist/contracts/billing.d.ts +1 -34
- package/dist/contracts/billing.js +4 -53
- package/dist/contracts/builds.d.ts +8 -8
- package/dist/contracts/builds.js +10 -3
- package/dist/contracts/cli.d.ts +10 -0
- package/dist/contracts/cli.js +10 -0
- package/dist/contracts/collab-public.d.ts +63 -0
- package/dist/contracts/collab-public.js +46 -0
- package/dist/contracts/comments.d.ts +283 -54
- package/dist/contracts/comments.js +173 -52
- package/dist/contracts/common.d.ts +3 -3
- package/dist/contracts/device-auth.d.ts +6 -6
- package/dist/contracts/device-auth.js +1 -1
- package/dist/contracts/docs.d.ts +5 -5
- package/dist/contracts/domains.d.ts +36 -36
- package/dist/contracts/enums.d.ts +33 -30
- package/dist/contracts/enums.js +52 -38
- package/dist/contracts/error-code-meta.d.ts +37 -126
- package/dist/contracts/error-code-meta.js +12 -41
- package/dist/contracts/error-codes.d.ts +1 -1
- package/dist/contracts/error-codes.js +10 -32
- package/dist/contracts/execution.d.ts +35 -57
- package/dist/contracts/execution.js +41 -40
- package/dist/contracts/feature-lifecycle-core.d.ts +0 -6
- package/dist/contracts/feature-lifecycle-core.js +2 -31
- package/dist/contracts/feature-lifecycle.d.ts +8 -38
- package/dist/contracts/feature-lifecycle.js +16 -48
- package/dist/contracts/features.d.ts +15 -13
- package/dist/contracts/features.js +39 -38
- package/dist/contracts/functions.d.ts +97 -70
- package/dist/contracts/functions.js +101 -34
- package/dist/contracts/git.d.ts +1 -1
- package/dist/contracts/grants.d.ts +7 -3
- package/dist/contracts/grants.js +18 -9
- package/dist/contracts/internal.d.ts +14 -1
- package/dist/contracts/internal.js +17 -7
- package/dist/contracts/oauth-resources.d.ts +4 -3
- package/dist/contracts/oauth-resources.js +12 -3
- package/dist/contracts/operations.d.ts +90 -5
- package/dist/contracts/operations.js +75 -1
- package/dist/contracts/pages.d.ts +6 -1
- package/dist/contracts/pages.js +24 -1
- package/dist/contracts/plan-policy.d.ts +1 -3
- package/dist/contracts/plan-policy.js +1 -2
- package/dist/contracts/platform.d.ts +61 -148
- package/dist/contracts/platform.js +70 -126
- package/dist/contracts/publish-archive.d.ts +498 -0
- package/dist/contracts/publish-archive.js +25 -0
- package/dist/contracts/resources.d.ts +12 -24
- package/dist/contracts/resources.js +32 -12
- package/dist/contracts/runtime-api.d.ts +369 -175
- package/dist/contracts/runtime-api.js +372 -348
- package/dist/contracts/runtime-app.d.ts +127 -120
- package/dist/contracts/runtime-app.js +19 -10
- package/dist/contracts/runtime-db.d.ts +1 -1
- package/dist/contracts/runtime-services.d.ts +219 -0
- package/dist/contracts/runtime-services.js +437 -0
- package/dist/contracts/runtime-storage.d.ts +45 -32
- package/dist/contracts/runtime-storage.js +30 -8
- package/dist/contracts/space-config.d.ts +10 -16
- package/dist/contracts/space-config.js +14 -10
- package/dist/contracts/spaces.d.ts +241 -436
- package/dist/contracts/spaces.js +128 -145
- package/dist/contracts/superadmin-activity.d.ts +57 -4
- package/dist/contracts/superadmin-activity.js +48 -2
- package/dist/contracts/superadmin-search.d.ts +126 -0
- package/dist/contracts/superadmin-search.js +61 -0
- package/dist/contracts/superadmin-spaces.d.ts +358 -89
- package/dist/contracts/superadmin-spaces.js +97 -24
- package/dist/contracts/superadmin-teams.d.ts +28 -10
- package/dist/contracts/superadmin-teams.js +5 -8
- package/dist/contracts/superadmin.d.ts +0 -32
- package/dist/contracts/superadmin.js +3 -11
- package/dist/contracts/tags.d.ts +9 -9
- package/dist/contracts/teams.d.ts +44 -2
- package/dist/contracts/teams.js +43 -23
- package/dist/contracts/transfers.d.ts +0 -49
- package/dist/contracts/transfers.js +2 -6
- package/dist/contracts/usage.d.ts +61 -0
- package/dist/contracts/usage.js +64 -0
- package/dist/contracts/variables.d.ts +2 -7
- package/dist/contracts/variables.js +6 -5
- package/dist/contracts/webhooks.d.ts +2 -2
- package/dist/contracts/zero.d.ts +87 -56
- package/dist/contracts/zero.js +82 -20
- package/dist/dashboard-paths/index.d.ts +1 -1
- package/dist/dashboard-paths/index.js +1 -0
- package/dist/docs/agent-prose.d.ts +1 -1
- package/dist/docs/agent-prose.js +62 -66
- package/dist/docs/agent-setup.js +49 -23
- package/dist/docs/agent-solutions.d.ts +4 -4
- package/dist/docs/agent-solutions.js +8 -8
- package/dist/docs/catalog.d.ts +19 -19
- package/dist/docs/catalog.js +30 -19
- package/dist/docs/error-docs.js +63 -151
- package/dist/docs/skills.d.ts +3 -3
- package/dist/docs/skills.js +1 -1
- package/dist/test-helpers/fetch-stub.d.ts +16 -0
- package/dist/test-helpers/fetch-stub.js +24 -0
- package/dist/utils/build-settings.js +9 -3
- package/dist/utils/canonical-json.d.ts +10 -0
- package/dist/utils/canonical-json.js +21 -0
- package/dist/utils/cast-transport.d.ts +28 -0
- package/dist/utils/cast-transport.js +52 -0
- package/dist/utils/claim-token.d.ts +0 -8
- package/dist/utils/claim-token.js +3 -15
- package/dist/utils/credential-policy.d.ts +1 -1
- package/dist/utils/env-file.d.ts +17 -0
- package/dist/utils/env-file.js +96 -0
- package/dist/utils/error-code.d.ts +2 -0
- package/dist/utils/error-code.js +7 -0
- package/dist/utils/generate-space-name.d.ts +8 -10
- package/dist/utils/generate-space-name.js +206 -21
- package/dist/utils/grant-decision.fixtures.json +2938 -0
- package/dist/utils/grants.d.ts +2 -0
- package/dist/utils/grants.js +25 -2
- package/dist/utils/gravatar.d.ts +9 -0
- package/dist/utils/gravatar.js +31 -0
- package/dist/utils/idempotency.d.ts +6 -0
- package/dist/utils/idempotency.js +28 -0
- package/dist/utils/local-space-state.d.ts +1 -5
- package/dist/utils/local-space-state.js +7 -26
- package/dist/utils/page-fonts.d.ts +2 -2
- package/dist/utils/page-fonts.js +22 -4
- package/dist/utils/pages.d.ts +1 -2
- package/dist/utils/pages.js +21 -5
- package/dist/utils/publish-form-data.d.ts +12 -0
- package/dist/utils/publish-form-data.js +10 -0
- package/dist/utils/publish-policy.d.ts +20 -0
- package/dist/utils/publish-policy.fixtures.json +397 -0
- package/dist/utils/publish-policy.js +36 -19
- package/dist/utils/push-new.d.ts +7 -0
- package/dist/utils/push-new.js +7 -0
- package/dist/utils/query-keys.d.ts +0 -1
- package/dist/utils/query-keys.js +0 -1
- package/dist/utils/runtime-paths.d.ts +5 -0
- package/dist/utils/runtime-paths.js +5 -0
- package/dist/utils/runtime-upload-batch.d.ts +0 -5
- package/dist/utils/runtime-upload-batch.js +1 -27
- package/dist/utils/runtime-upload.d.ts +3 -13
- package/dist/utils/runtime-upload.js +4 -14
- package/dist/utils/space-config.d.ts +0 -33
- package/dist/utils/space-config.js +5 -326
- package/dist/utils/storage-policy.d.ts +1 -1
- package/dist/utils/storage-policy.js +3 -1
- package/dist/utils/structured-error.d.ts +14 -0
- package/dist/utils/structured-error.js +22 -0
- package/dist/utils/version-path.js +12 -3
- package/dist/vocabulary.d.ts +5 -3
- package/dist/vocabulary.js +13 -10
- package/package.json +10 -5
- package/dist/config/postgres-budget.d.ts +0 -129
- package/dist/config/postgres-budget.js +0 -140
- package/dist/config/postgres-budget.json +0 -51
- package/dist/contracts/archives.d.ts +0 -331
- package/dist/contracts/archives.js +0 -120
- package/dist/contracts/deployments.d.ts +0 -574
- package/dist/contracts/deployments.js +0 -97
- package/dist/contracts/sites.d.ts +0 -416
- package/dist/contracts/sites.js +0 -168
- package/dist/contracts/superadmin-queues.d.ts +0 -414
- package/dist/contracts/superadmin-queues.js +0 -202
- package/dist/contracts/superadmin-runtime.d.ts +0 -27
- package/dist/contracts/superadmin-runtime.js +0 -38
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/utils/api.d.ts +0 -4
- package/dist/utils/api.js +0 -13
|
@@ -54,7 +54,7 @@ export declare const agentSolutions: readonly [{
|
|
|
54
54
|
readonly summary: "Recommended: direct hosted MCP.";
|
|
55
55
|
readonly description: "Connect ChatGPT-style cloud agents to Spacefast through hosted MCP; use inline files or signed uploads instead of local paths.";
|
|
56
56
|
readonly commands: readonly ["https://mcp.spacefast.com"];
|
|
57
|
-
readonly guideUrl: `${string}/
|
|
57
|
+
readonly guideUrl: `${string}/agents`;
|
|
58
58
|
readonly setupText: string;
|
|
59
59
|
}, {
|
|
60
60
|
readonly id: "claude-ai";
|
|
@@ -64,7 +64,7 @@ export declare const agentSolutions: readonly [{
|
|
|
64
64
|
readonly summary: "Recommended: direct hosted MCP.";
|
|
65
65
|
readonly description: "Connect the web Claude app to Spacefast through hosted MCP when it cannot read your local checkout.";
|
|
66
66
|
readonly commands: readonly ["https://mcp.spacefast.com"];
|
|
67
|
-
readonly guideUrl: `${string}/
|
|
67
|
+
readonly guideUrl: `${string}/agents`;
|
|
68
68
|
readonly setupText: string;
|
|
69
69
|
}, {
|
|
70
70
|
readonly id: "raycast";
|
|
@@ -74,7 +74,7 @@ export declare const agentSolutions: readonly [{
|
|
|
74
74
|
readonly summary: "Recommended: direct hosted MCP.";
|
|
75
75
|
readonly description: "Use hosted MCP for Raycast and similar clients that can connect to a remote MCP server but should not need a local Spacefast install.";
|
|
76
76
|
readonly commands: readonly ["https://mcp.spacefast.com"];
|
|
77
|
-
readonly guideUrl: `${string}/
|
|
77
|
+
readonly guideUrl: `${string}/agents`;
|
|
78
78
|
readonly setupText: string;
|
|
79
79
|
}, {
|
|
80
80
|
readonly id: "cursor";
|
|
@@ -84,7 +84,7 @@ export declare const agentSolutions: readonly [{
|
|
|
84
84
|
readonly summary: "Recommended: local MCP when it needs the checkout.";
|
|
85
85
|
readonly description: "Use On-Device MCP for editor agents that need local files; use hosted MCP instead when they only need cloud-safe tools.";
|
|
86
86
|
readonly commands: readonly ["sf setup agent --agent auto --connect", "sf mcp install --agent auto --mode local --transport stdio --connect"];
|
|
87
|
-
readonly guideUrl: `${string}/
|
|
87
|
+
readonly guideUrl: `${string}/agents`;
|
|
88
88
|
readonly setupText: string;
|
|
89
89
|
}, {
|
|
90
90
|
readonly id: "terminal";
|
|
@@ -89,8 +89,8 @@ export const agentSolutions = [
|
|
|
89
89
|
summary: "Recommended: direct hosted MCP.",
|
|
90
90
|
description: `Connect ChatGPT-style cloud agents to ${BRAND.productName} through hosted MCP; use inline files or signed uploads instead of local paths.`,
|
|
91
91
|
commands: [hostedMcpEndpointUrl],
|
|
92
|
-
guideUrl: `${DOCS_BASE_URL}/
|
|
93
|
-
setupText: hostedMcpText("ChatGPT", `${DOCS_BASE_URL}/
|
|
92
|
+
guideUrl: `${DOCS_BASE_URL}/agents`,
|
|
93
|
+
setupText: hostedMcpText("ChatGPT", `${DOCS_BASE_URL}/agents`),
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
id: "claude-ai",
|
|
@@ -100,8 +100,8 @@ export const agentSolutions = [
|
|
|
100
100
|
summary: "Recommended: direct hosted MCP.",
|
|
101
101
|
description: `Connect the web Claude app to ${BRAND.productName} through hosted MCP when it cannot read your local checkout.`,
|
|
102
102
|
commands: [hostedMcpEndpointUrl],
|
|
103
|
-
guideUrl: `${DOCS_BASE_URL}/
|
|
104
|
-
setupText: hostedMcpText("Claude.ai", `${DOCS_BASE_URL}/
|
|
103
|
+
guideUrl: `${DOCS_BASE_URL}/agents`,
|
|
104
|
+
setupText: hostedMcpText("Claude.ai", `${DOCS_BASE_URL}/agents`),
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
107
|
id: "raycast",
|
|
@@ -111,8 +111,8 @@ export const agentSolutions = [
|
|
|
111
111
|
summary: "Recommended: direct hosted MCP.",
|
|
112
112
|
description: `Use hosted MCP for Raycast and similar clients that can connect to a remote MCP server but should not need a local ${BRAND.productName} install.`,
|
|
113
113
|
commands: [hostedMcpEndpointUrl],
|
|
114
|
-
guideUrl: `${DOCS_BASE_URL}/
|
|
115
|
-
setupText: hostedMcpText("Raycast", `${DOCS_BASE_URL}/
|
|
114
|
+
guideUrl: `${DOCS_BASE_URL}/agents`,
|
|
115
|
+
setupText: hostedMcpText("Raycast", `${DOCS_BASE_URL}/agents`),
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
id: "cursor",
|
|
@@ -125,8 +125,8 @@ export const agentSolutions = [
|
|
|
125
125
|
"sf setup agent --agent auto --connect",
|
|
126
126
|
"sf mcp install --agent auto --mode local --transport stdio --connect",
|
|
127
127
|
],
|
|
128
|
-
guideUrl: `${DOCS_BASE_URL}/
|
|
129
|
-
setupText: localMcpText("Cursor or another MCP client", `${DOCS_BASE_URL}/
|
|
128
|
+
guideUrl: `${DOCS_BASE_URL}/agents`,
|
|
129
|
+
setupText: localMcpText("Cursor or another MCP client", `${DOCS_BASE_URL}/agents`),
|
|
130
130
|
},
|
|
131
131
|
{
|
|
132
132
|
id: "terminal",
|
package/dist/docs/catalog.d.ts
CHANGED
|
@@ -65,10 +65,10 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
65
65
|
readonly title: "Anonymous publish and claim";
|
|
66
66
|
readonly kind: "guide";
|
|
67
67
|
readonly tier: "essential";
|
|
68
|
-
readonly summary: "Publish without an account, then claim the space with its
|
|
68
|
+
readonly summary: "Publish without an account, then claim the space with its key.";
|
|
69
69
|
readonly keywords: readonly ["anonymous", "claim", "unclaimed", "agent", "token", "adopt"];
|
|
70
70
|
readonly url: "https://spacefast.com/docs/anonymous-publish";
|
|
71
|
-
readonly body: "Publish without logging in to get an instant URL and a
|
|
71
|
+
readonly body: "Publish without logging in to get an instant URL and a space key; run `sf spaces claim` with that key to bind the space to your account.";
|
|
72
72
|
}, {
|
|
73
73
|
readonly slug: "agents";
|
|
74
74
|
readonly title: "Agents and MCP";
|
|
@@ -92,7 +92,7 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
92
92
|
readonly title: "Publish receipt fields";
|
|
93
93
|
readonly kind: "workflow";
|
|
94
94
|
readonly tier: "full";
|
|
95
|
-
readonly summary: "Use the receipt as the source of truth.
|
|
95
|
+
readonly summary: "Use the receipt as the source of truth. For anonymous publishes, claim.url is the private-site door and claim.claimUrl is the browser claim link; liveUrl and immutableUrl identify resources for automation.";
|
|
96
96
|
readonly keywords: readonly ["receipt", "share", "claim", "diagnostics"];
|
|
97
97
|
readonly url: "https://spacefast.com/docs/api#publish";
|
|
98
98
|
readonly body: "receipt liveUrl open url immutableUrl claim expiresAt diagnostics links finalize promote upload errors docsUrl";
|
|
@@ -101,16 +101,16 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
101
101
|
readonly title: "Keep publishing after the user claims";
|
|
102
102
|
readonly kind: "workflow";
|
|
103
103
|
readonly tier: "full";
|
|
104
|
-
readonly summary: "After the owner claims an anonymous space with continuation enabled, exchange the saved
|
|
104
|
+
readonly summary: "After the owner claims an anonymous space with continuation enabled, exchange the saved space key once for a durable space-scoped access token, save it over the key, and keep publishing.";
|
|
105
105
|
readonly keywords: readonly ["continue", "exchange", "claim token", "space_claimed_credential_available", "continuation"];
|
|
106
106
|
readonly url: "https://spacefast.com/docs/agents#continue-after-claim";
|
|
107
|
-
readonly body: "continue continuation claim token exchange voucher publish execute POST /v1/
|
|
107
|
+
readonly body: "continue continuation space key claim token exchange voucher publish execute POST /v1/claim/exchange space_claimed_credential_available continuation_used continuation_unavailable durable access token state.json update after claim";
|
|
108
108
|
}, {
|
|
109
109
|
readonly slug: "workflow/secret-handling";
|
|
110
110
|
readonly title: "Secret handling rules";
|
|
111
111
|
readonly kind: "workflow";
|
|
112
112
|
readonly tier: "full";
|
|
113
|
-
readonly summary: "Treat
|
|
113
|
+
readonly summary: "Treat space keys, upload tokens, device codes, API keys, auth files, and .spacefast state as credentials. Do not print, commit, archive, or log them.";
|
|
114
114
|
readonly keywords: readonly ["secret", "token", "claim token", "redact"];
|
|
115
115
|
readonly url: "https://spacefast.com/docs/agents#secret-handling";
|
|
116
116
|
readonly body: "secret handling claim token upload token device code API key auth file .spacefast state redact logs transcripts archive";
|
|
@@ -239,7 +239,7 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
239
239
|
readonly summary: "Run code on a space with Zero or Functions.";
|
|
240
240
|
readonly keywords: readonly ["runtime", "zero", "functions", "server", "dynamic", "code", "backend", "sf.jsonc"];
|
|
241
241
|
readonly url: "https://spacefast.com/docs/runtimes";
|
|
242
|
-
readonly body: "A space serves static files until you declare a `runtime` block in sf.jsonc. Zero is a capsule with its own database and transactions; Functions is a worker with one `fetch` handler and any npm package. Both
|
|
242
|
+
readonly body: "A space serves static files until you declare a `runtime` block in sf.jsonc. Every space has its own runtime site. Zero is a capsule with its own database and transactions; Functions is a Cloudflare worker with one `fetch` handler and any npm package. Both are available on every plan and compile during `sf publish`.";
|
|
243
243
|
}, {
|
|
244
244
|
readonly slug: "runtimes/zero";
|
|
245
245
|
readonly title: "Spacefast Zero";
|
|
@@ -248,7 +248,7 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
248
248
|
readonly summary: "A capsule with a database: schema, queries, mutations, endpoints.";
|
|
249
249
|
readonly keywords: readonly ["zero", "capsule", "database", "schema", "query", "mutation", "endpoint", "transaction", "sql", "sf dev"];
|
|
250
250
|
readonly url: "https://spacefast.com/docs/runtimes/zero";
|
|
251
|
-
readonly body: "Zero is for apps where the data is the point. Write one capsule — schema, queries, mutations, endpoints — start it locally with `sf dev`, and `sf publish` puts it live with its own database
|
|
251
|
+
readonly body: "Zero is for apps where the data is the point. Write one capsule — schema, queries, mutations, endpoints — start it locally with `sf dev`, and `sf publish` puts it live with its own database and dedicated runtime site on every plan.";
|
|
252
252
|
}, {
|
|
253
253
|
readonly slug: "runtimes/functions";
|
|
254
254
|
readonly title: "Spacefast Functions";
|
|
@@ -257,7 +257,7 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
257
257
|
readonly summary: "A worker for your space: one `fetch` handler, any npm package.";
|
|
258
258
|
readonly keywords: readonly ["functions", "worker", "fetch", "ssr", "cloudflare", "npm", "handler", "server", "api"];
|
|
259
259
|
readonly url: "https://spacefast.com/docs/runtimes/functions";
|
|
260
|
-
readonly body: "Functions runs a worker for your space: a default export with a `fetch` method, served from your space's own origin, so requests no file answers reach your code. Opt into a database with `\"database\": true`.
|
|
260
|
+
readonly body: "Functions runs a Cloudflare worker for your space: a default export with a `fetch` method, served from your space's own origin, so requests no file answers reach your code. It is available on every plan. Opt into a database with `\"database\": true`. Automatic Next.js builds use a private, version-scoped origin cache for the Data Cache, `revalidateTag()`, `revalidatePath()`, and ISR regeneration leases; no cache credential enters the worker.";
|
|
261
261
|
}, {
|
|
262
262
|
readonly slug: "collab";
|
|
263
263
|
readonly title: "Comments";
|
|
@@ -299,10 +299,10 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
299
299
|
readonly title: "Next.js integration";
|
|
300
300
|
readonly kind: "guide";
|
|
301
301
|
readonly tier: "reference";
|
|
302
|
-
readonly summary: "
|
|
303
|
-
readonly keywords: readonly ["nextjs", "next", "react", "framework", "integration", "
|
|
302
|
+
readonly summary: "Build and publish a full Next.js app with OpenNext.";
|
|
303
|
+
readonly keywords: readonly ["nextjs", "next", "react", "framework", "integration", "opennext", "isr", "data cache", "revalidateTag", "revalidatePath"];
|
|
304
304
|
readonly url: "https://spacefast.com/docs/integrations/nextjs";
|
|
305
|
-
readonly body: "
|
|
305
|
+
readonly body: "Run `sf publish` in a Next.js project. Spacefast builds it with pinned OpenNext and publishes the static assets plus its Functions worker. The automatic adapter keeps the Next Data Cache and tag invalidations in private origin storage scoped to the exact space and version, so cached data survives cold Worker isolates; `revalidateTag()` and `revalidatePath()` invalidate that same store. Concurrent stale ISR requests share a 30-second regeneration lease, with at most 4,096 leases active for one version. Each cached value is limited to 4 MiB; one version may retain 128 MiB, 4,096 entries, and 8,192 tags. A project with its own `open-next.config.ts` owns its adapters instead of receiving Spacefast's automatic cache config.";
|
|
306
306
|
}, {
|
|
307
307
|
readonly slug: "integrations/vite";
|
|
308
308
|
readonly title: "Vite integration";
|
|
@@ -320,7 +320,7 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
320
320
|
readonly summary: "File counts, sizes, and rate limits per plan.";
|
|
321
321
|
readonly keywords: readonly ["limits", "quota", "size", "rate limit", "plan", "storage"];
|
|
322
322
|
readonly url: "https://spacefast.com/docs/limits";
|
|
323
|
-
readonly body: "Reference for per-space file counts, archive and file size ceilings,
|
|
323
|
+
readonly body: "Reference for per-space file counts, archive and file size ceilings, and rate limits, which vary by plan.";
|
|
324
324
|
}, {
|
|
325
325
|
readonly slug: "troubleshooting";
|
|
326
326
|
readonly title: "Troubleshooting";
|
|
@@ -383,23 +383,23 @@ export declare const DOCS_CATALOG: readonly [{
|
|
|
383
383
|
readonly summary: "Attach an anonymously-published space to your account.";
|
|
384
384
|
readonly keywords: readonly ["claim", "anonymous", "attach", "token", "adopt", "spaces"];
|
|
385
385
|
readonly url: "https://spacefast.com/docs/cli";
|
|
386
|
-
readonly body: "After an agent publishes anonymously, run `sf spaces claim` with the
|
|
386
|
+
readonly body: "After an agent publishes anonymously, run `sf spaces claim` with the space key to bind the space to your account.";
|
|
387
387
|
}, {
|
|
388
388
|
readonly slug: "cli/spaces";
|
|
389
389
|
readonly title: "sf spaces";
|
|
390
390
|
readonly kind: "cli";
|
|
391
391
|
readonly tier: "full";
|
|
392
|
-
readonly summary: "List, inspect,
|
|
393
|
-
readonly keywords: readonly ["spaces", "space", "ls", "get", "
|
|
392
|
+
readonly summary: "List, inspect, download, duplicate, transfer, and remove spaces.";
|
|
393
|
+
readonly keywords: readonly ["spaces", "space", "ls", "get", "download", "duplicate", "rm", "transfer"];
|
|
394
394
|
readonly url: "https://spacefast.com/docs/cli";
|
|
395
|
-
readonly body: "The `sf spaces` group manages spaces: `ls`, `get`, `claim`, `
|
|
395
|
+
readonly body: "The `sf spaces` group manages spaces: `ls`, `get`, `claim`, `download`, `duplicate`, `transfer`, and `rm`. Use `sf spaces download --version <ref>` to retrieve one immutable version.";
|
|
396
396
|
}, {
|
|
397
397
|
readonly slug: "cli/versions";
|
|
398
398
|
readonly title: "sf versions";
|
|
399
399
|
readonly kind: "cli";
|
|
400
400
|
readonly tier: "full";
|
|
401
|
-
readonly summary: "List, inspect,
|
|
402
|
-
readonly keywords: readonly ["versions", "version", "ls", "get", "
|
|
401
|
+
readonly summary: "List, inspect, and remove immutable versions.";
|
|
402
|
+
readonly keywords: readonly ["versions", "version", "ls", "get", "rm", "rollback", "history"];
|
|
403
403
|
readonly url: "https://spacefast.com/docs/cli";
|
|
404
404
|
readonly body: "`sf versions ls` shows a space's history; `sf versions get` inspects one and `sf rollback` promotes an earlier version back to live.";
|
|
405
405
|
}, {
|
package/dist/docs/catalog.js
CHANGED
|
@@ -69,10 +69,10 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
69
69
|
title: "Anonymous publish and claim",
|
|
70
70
|
kind: "guide",
|
|
71
71
|
tier: "essential",
|
|
72
|
-
summary: "Publish without an account, then claim the space with its
|
|
72
|
+
summary: "Publish without an account, then claim the space with its key.",
|
|
73
73
|
keywords: ["anonymous", "claim", "unclaimed", "agent", "token", "adopt"],
|
|
74
74
|
url: `${DOCS_BASE_URL}/anonymous-publish`,
|
|
75
|
-
body: "Publish without logging in to get an instant URL and a
|
|
75
|
+
body: "Publish without logging in to get an instant URL and a space key; run `sf spaces claim` with that key to bind the space to your account.",
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
78
|
slug: "agents",
|
|
@@ -100,7 +100,7 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
100
100
|
title: "Publish receipt fields",
|
|
101
101
|
kind: "workflow",
|
|
102
102
|
tier: "full",
|
|
103
|
-
summary: "Use the receipt as the source of truth.
|
|
103
|
+
summary: "Use the receipt as the source of truth. For anonymous publishes, claim.url is the private-site door and claim.claimUrl is the browser claim link; liveUrl and immutableUrl identify resources for automation.",
|
|
104
104
|
keywords: ["receipt", "share", "claim", "diagnostics"],
|
|
105
105
|
url: `${DOCS_BASE_URL}/api#publish`,
|
|
106
106
|
body: "receipt liveUrl open url immutableUrl claim expiresAt diagnostics links finalize promote upload errors docsUrl",
|
|
@@ -110,7 +110,7 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
110
110
|
title: "Keep publishing after the user claims",
|
|
111
111
|
kind: "workflow",
|
|
112
112
|
tier: "full",
|
|
113
|
-
summary: "After the owner claims an anonymous space with continuation enabled, exchange the saved
|
|
113
|
+
summary: "After the owner claims an anonymous space with continuation enabled, exchange the saved space key once for a durable space-scoped access token, save it over the key, and keep publishing.",
|
|
114
114
|
keywords: [
|
|
115
115
|
"continue",
|
|
116
116
|
"exchange",
|
|
@@ -119,14 +119,14 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
119
119
|
"continuation",
|
|
120
120
|
],
|
|
121
121
|
url: `${DOCS_BASE_URL}/agents#continue-after-claim`,
|
|
122
|
-
body: "continue continuation claim token exchange voucher publish execute POST /v1/
|
|
122
|
+
body: "continue continuation space key claim token exchange voucher publish execute POST /v1/claim/exchange space_claimed_credential_available continuation_used continuation_unavailable durable access token state.json update after claim",
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
125
|
slug: "workflow/secret-handling",
|
|
126
126
|
title: "Secret handling rules",
|
|
127
127
|
kind: "workflow",
|
|
128
128
|
tier: "full",
|
|
129
|
-
summary: "Treat
|
|
129
|
+
summary: "Treat space keys, upload tokens, device codes, API keys, auth files, and .spacefast state as credentials. Do not print, commit, archive, or log them.",
|
|
130
130
|
keywords: ["secret", "token", "claim token", "redact"],
|
|
131
131
|
url: `${DOCS_BASE_URL}/agents#secret-handling`,
|
|
132
132
|
body: "secret handling claim token upload token device code API key auth file .spacefast state redact logs transcripts archive",
|
|
@@ -269,7 +269,7 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
269
269
|
summary: "Run code on a space with Zero or Functions.",
|
|
270
270
|
keywords: ["runtime", "zero", "functions", "server", "dynamic", "code", "backend", "sf.jsonc"],
|
|
271
271
|
url: `${DOCS_BASE_URL}/runtimes`,
|
|
272
|
-
body: "A space serves static files until you declare a `runtime` block in sf.jsonc. Zero is a capsule with its own database and transactions; Functions is a worker with one `fetch` handler and any npm package. Both
|
|
272
|
+
body: "A space serves static files until you declare a `runtime` block in sf.jsonc. Every space has its own runtime site. Zero is a capsule with its own database and transactions; Functions is a Cloudflare worker with one `fetch` handler and any npm package. Both are available on every plan and compile during `sf publish`.",
|
|
273
273
|
},
|
|
274
274
|
{
|
|
275
275
|
slug: "runtimes/zero",
|
|
@@ -290,7 +290,7 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
290
290
|
"sf dev",
|
|
291
291
|
],
|
|
292
292
|
url: `${DOCS_BASE_URL}/runtimes/zero`,
|
|
293
|
-
body: "Zero is for apps where the data is the point. Write one capsule — schema, queries, mutations, endpoints — start it locally with `sf dev`, and `sf publish` puts it live with its own database
|
|
293
|
+
body: "Zero is for apps where the data is the point. Write one capsule — schema, queries, mutations, endpoints — start it locally with `sf dev`, and `sf publish` puts it live with its own database and dedicated runtime site on every plan.",
|
|
294
294
|
},
|
|
295
295
|
{
|
|
296
296
|
slug: "runtimes/functions",
|
|
@@ -310,7 +310,7 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
310
310
|
"api",
|
|
311
311
|
],
|
|
312
312
|
url: `${DOCS_BASE_URL}/runtimes/functions`,
|
|
313
|
-
body: 'Functions runs a worker for your space: a default export with a `fetch` method, served from your space\'s own origin, so requests no file answers reach your code. Opt into a database with `"database": true`.
|
|
313
|
+
body: 'Functions runs a Cloudflare worker for your space: a default export with a `fetch` method, served from your space\'s own origin, so requests no file answers reach your code. It is available on every plan. Opt into a database with `"database": true`. Automatic Next.js builds use a private, version-scoped origin cache for the Data Cache, `revalidateTag()`, `revalidatePath()`, and ISR regeneration leases; no cache credential enters the worker.',
|
|
314
314
|
},
|
|
315
315
|
{
|
|
316
316
|
slug: "collab",
|
|
@@ -357,10 +357,21 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
357
357
|
title: "Next.js integration",
|
|
358
358
|
kind: "guide",
|
|
359
359
|
tier: "reference",
|
|
360
|
-
summary: "
|
|
361
|
-
keywords: [
|
|
360
|
+
summary: "Build and publish a full Next.js app with OpenNext.",
|
|
361
|
+
keywords: [
|
|
362
|
+
"nextjs",
|
|
363
|
+
"next",
|
|
364
|
+
"react",
|
|
365
|
+
"framework",
|
|
366
|
+
"integration",
|
|
367
|
+
"opennext",
|
|
368
|
+
"isr",
|
|
369
|
+
"data cache",
|
|
370
|
+
"revalidateTag",
|
|
371
|
+
"revalidatePath",
|
|
372
|
+
],
|
|
362
373
|
url: `${DOCS_BASE_URL}/integrations/nextjs`,
|
|
363
|
-
body: "
|
|
374
|
+
body: "Run `sf publish` in a Next.js project. Spacefast builds it with pinned OpenNext and publishes the static assets plus its Functions worker. The automatic adapter keeps the Next Data Cache and tag invalidations in private origin storage scoped to the exact space and version, so cached data survives cold Worker isolates; `revalidateTag()` and `revalidatePath()` invalidate that same store. Concurrent stale ISR requests share a 30-second regeneration lease, with at most 4,096 leases active for one version. Each cached value is limited to 4 MiB; one version may retain 128 MiB, 4,096 entries, and 8,192 tags. A project with its own `open-next.config.ts` owns its adapters instead of receiving Spacefast's automatic cache config.",
|
|
364
375
|
},
|
|
365
376
|
{
|
|
366
377
|
slug: "integrations/vite",
|
|
@@ -380,7 +391,7 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
380
391
|
summary: "File counts, sizes, and rate limits per plan.",
|
|
381
392
|
keywords: ["limits", "quota", "size", "rate limit", "plan", "storage"],
|
|
382
393
|
url: `${DOCS_BASE_URL}/limits`,
|
|
383
|
-
body: "Reference for per-space file counts, archive and file size ceilings,
|
|
394
|
+
body: "Reference for per-space file counts, archive and file size ceilings, and rate limits, which vary by plan.",
|
|
384
395
|
},
|
|
385
396
|
{
|
|
386
397
|
slug: "troubleshooting",
|
|
@@ -451,25 +462,25 @@ const HAND_WRITTEN_DOCS_CATALOG = [
|
|
|
451
462
|
summary: "Attach an anonymously-published space to your account.",
|
|
452
463
|
keywords: ["claim", "anonymous", "attach", "token", "adopt", "spaces"],
|
|
453
464
|
url: `${DOCS_BASE_URL}/cli`,
|
|
454
|
-
body: "After an agent publishes anonymously, run `sf spaces claim` with the
|
|
465
|
+
body: "After an agent publishes anonymously, run `sf spaces claim` with the space key to bind the space to your account.",
|
|
455
466
|
},
|
|
456
467
|
{
|
|
457
468
|
slug: "cli/spaces",
|
|
458
469
|
title: "sf spaces",
|
|
459
470
|
kind: "cli",
|
|
460
471
|
tier: "full",
|
|
461
|
-
summary: "List, inspect,
|
|
462
|
-
keywords: ["spaces", "space", "ls", "get", "
|
|
472
|
+
summary: "List, inspect, download, duplicate, transfer, and remove spaces.",
|
|
473
|
+
keywords: ["spaces", "space", "ls", "get", "download", "duplicate", "rm", "transfer"],
|
|
463
474
|
url: `${DOCS_BASE_URL}/cli`,
|
|
464
|
-
body: "The `sf spaces` group manages spaces: `ls`, `get`, `claim`, `
|
|
475
|
+
body: "The `sf spaces` group manages spaces: `ls`, `get`, `claim`, `download`, `duplicate`, `transfer`, and `rm`. Use `sf spaces download --version <ref>` to retrieve one immutable version.",
|
|
465
476
|
},
|
|
466
477
|
{
|
|
467
478
|
slug: "cli/versions",
|
|
468
479
|
title: "sf versions",
|
|
469
480
|
kind: "cli",
|
|
470
481
|
tier: "full",
|
|
471
|
-
summary: "List, inspect,
|
|
472
|
-
keywords: ["versions", "version", "ls", "get", "
|
|
482
|
+
summary: "List, inspect, and remove immutable versions.",
|
|
483
|
+
keywords: ["versions", "version", "ls", "get", "rm", "rollback", "history"],
|
|
473
484
|
url: `${DOCS_BASE_URL}/cli`,
|
|
474
485
|
body: "`sf versions ls` shows a space's history; `sf versions get` inspects one and `sf rollback` promotes an earlier version back to live.",
|
|
475
486
|
},
|