@spacefast/common 0.0.26 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/connect-targets.d.ts +6 -146
- package/dist/agents/connect-targets.js +63 -295
- package/dist/agents/private-key-oauth.d.ts +31 -1
- package/dist/agents/private-key-oauth.js +124 -33
- package/dist/agents/registry/core.d.ts +292 -0
- package/dist/agents/registry/core.js +1388 -0
- package/dist/agents/registry/deeplink-probes.d.ts +23 -0
- package/dist/agents/registry/deeplink-probes.js +18 -0
- package/dist/agents/registry/node.d.ts +56 -0
- package/dist/agents/registry/node.js +339 -0
- package/dist/brand-assets-build.js +1 -2
- package/dist/brand-assets.js +4 -7
- package/dist/brand.d.ts +17 -0
- package/dist/brand.js +24 -4
- package/dist/config/domains.d.ts +55 -28
- package/dist/config/domains.js +85 -41
- package/dist/config/index.js +1 -2
- package/dist/contracts/abuse.js +9 -24
- package/dist/contracts/access-profiles.d.ts +86 -0
- package/dist/contracts/access-profiles.js +89 -0
- package/dist/contracts/access.d.ts +21 -27
- package/dist/contracts/access.js +33 -64
- package/dist/contracts/activity.d.ts +18 -1
- package/dist/contracts/activity.js +70 -26
- package/dist/contracts/analytics.js +8 -10
- package/dist/contracts/api-keys.d.ts +77 -52
- package/dist/contracts/api-keys.js +44 -24
- package/dist/contracts/application-journal.d.ts +216 -0
- package/dist/contracts/application-journal.js +167 -0
- package/dist/contracts/auth.d.ts +90 -17
- package/dist/contracts/auth.js +86 -17
- package/dist/contracts/beta.d.ts +9 -4
- package/dist/contracts/beta.js +20 -16
- package/dist/contracts/billing.js +7 -11
- package/dist/contracts/bootstrap.d.ts +791 -0
- package/dist/contracts/bootstrap.js +51 -0
- package/dist/contracts/builds.d.ts +186 -7
- package/dist/contracts/builds.js +75 -21
- package/dist/contracts/channels.d.ts +43 -0
- package/dist/contracts/channels.js +25 -9
- package/dist/contracts/cli.d.ts +7 -0
- package/dist/contracts/cli.js +6 -0
- package/dist/contracts/collab-public.d.ts +1 -1
- package/dist/contracts/collab-public.js +5 -8
- package/dist/contracts/comments.d.ts +45 -35
- package/dist/contracts/comments.js +107 -77
- package/dist/contracts/commerce.d.ts +165 -0
- package/dist/contracts/commerce.js +146 -0
- package/dist/contracts/common.d.ts +3 -3
- package/dist/contracts/common.js +18 -29
- package/dist/contracts/content-contract-verification.d.ts +521 -0
- package/dist/contracts/content-contract-verification.js +320 -0
- package/dist/contracts/content-platform-fixture.d.ts +1278 -0
- package/dist/contracts/content-platform-fixture.js +44 -0
- package/dist/contracts/content-program.d.ts +994 -0
- package/dist/contracts/content-program.js +658 -0
- package/dist/contracts/content-sync.d.ts +290 -0
- package/dist/contracts/content-sync.js +167 -0
- package/dist/contracts/content.d.ts +432 -0
- package/dist/contracts/content.js +303 -0
- package/dist/contracts/continuation.d.ts +17 -1
- package/dist/contracts/continuation.js +23 -23
- package/dist/contracts/countries.js +3 -4
- package/dist/contracts/crons.d.ts +17 -0
- package/dist/contracts/crons.js +33 -15
- package/dist/contracts/dashboard-prefs.d.ts +56 -0
- package/dist/contracts/dashboard-prefs.js +51 -0
- package/dist/contracts/device-auth.d.ts +234 -37
- package/dist/contracts/device-auth.js +267 -53
- package/dist/contracts/docs.d.ts +6 -10
- package/dist/contracts/docs.js +5 -13
- package/dist/contracts/domains.d.ts +499 -102
- package/dist/contracts/domains.js +169 -58
- package/dist/contracts/email-preferences.d.ts +3 -3
- package/dist/contracts/email-preferences.js +6 -7
- package/dist/contracts/enums.d.ts +26 -26
- package/dist/contracts/enums.js +61 -54
- package/dist/contracts/error-code-meta.d.ts +269 -7
- package/dist/contracts/error-code-meta.js +80 -5
- package/dist/contracts/error-codes.d.ts +5 -5
- package/dist/contracts/error-codes.js +78 -16
- package/dist/contracts/events.d.ts +100 -20
- package/dist/contracts/events.js +107 -20
- package/dist/contracts/execution.d.ts +47 -66
- package/dist/contracts/execution.js +51 -64
- package/dist/contracts/feature-lifecycle.d.ts +70 -14
- package/dist/contracts/feature-lifecycle.js +86 -15
- package/dist/contracts/features.d.ts +100 -37
- package/dist/contracts/features.js +21 -27
- package/dist/contracts/fixtures/content-platform-v1.json +1108 -0
- package/dist/contracts/frame-session.d.ts +192 -0
- package/dist/contracts/frame-session.js +164 -0
- package/dist/contracts/functions.d.ts +218 -211
- package/dist/contracts/functions.js +273 -260
- package/dist/contracts/grant-copy.d.ts +43 -0
- package/dist/contracts/grant-copy.js +44 -0
- package/dist/contracts/grants.d.ts +64 -56
- package/dist/contracts/grants.js +124 -23
- package/dist/contracts/ids.d.ts +4 -1
- package/dist/contracts/ids.js +4 -1
- package/dist/contracts/internal.d.ts +5 -4
- package/dist/contracts/internal.js +12 -3
- package/dist/contracts/mcp.d.ts +17 -0
- package/dist/contracts/mcp.js +23 -0
- package/dist/contracts/me.d.ts +6 -1
- package/dist/contracts/me.js +12 -6
- package/dist/contracts/notifications.d.ts +27 -29
- package/dist/contracts/notifications.js +9 -4
- package/dist/contracts/oauth-resources.d.ts +112 -10
- package/dist/contracts/oauth-resources.js +116 -11
- package/dist/contracts/oauth-scope-actions.d.ts +90 -0
- package/dist/contracts/oauth-scope-actions.js +126 -0
- package/dist/contracts/operations.d.ts +27 -4
- package/dist/contracts/operations.js +11 -5
- package/dist/contracts/pages.d.ts +29 -5
- package/dist/contracts/pages.js +22 -5
- package/dist/contracts/partner-notifications.d.ts +3 -0
- package/dist/contracts/partner-notifications.js +65 -0
- package/dist/contracts/{platform.d.ts → partner.d.ts} +29 -42
- package/dist/contracts/{platform.js → partner.js} +27 -40
- package/dist/contracts/plan-policy.d.ts +1 -1
- package/dist/contracts/principal-assertion.d.ts +43 -0
- package/dist/contracts/principal-assertion.js +67 -0
- package/dist/contracts/principals.d.ts +73 -0
- package/dist/contracts/principals.js +59 -0
- package/dist/contracts/privacy.d.ts +11 -0
- package/dist/contracts/privacy.js +17 -0
- package/dist/contracts/problem-document.js +3 -4
- package/dist/contracts/publish-archive.d.ts +116 -18
- package/dist/contracts/publish-archive.js +6 -3
- package/dist/contracts/push-new.d.ts +4 -4
- package/dist/contracts/quotas.js +3 -3
- package/dist/contracts/realtime.d.ts +52 -0
- package/dist/contracts/realtime.js +54 -0
- package/dist/contracts/repository-connections.d.ts +1 -1
- package/dist/contracts/repository-connections.js +6 -2
- package/dist/contracts/resources.d.ts +105 -14
- package/dist/contracts/resources.js +145 -21
- package/dist/contracts/route-inventory.d.ts +358 -0
- package/dist/contracts/route-inventory.js +141 -0
- package/dist/contracts/runtime-api.d.ts +112 -35
- package/dist/contracts/runtime-api.js +86 -66
- package/dist/contracts/runtime-app.d.ts +11 -21
- package/dist/contracts/runtime-app.js +39 -24
- package/dist/contracts/runtime-components.d.ts +143 -0
- package/dist/contracts/runtime-components.js +199 -0
- package/dist/contracts/runtime-db.d.ts +45 -19
- package/dist/contracts/runtime-db.js +85 -20
- package/dist/contracts/runtime-purge.js +3 -5
- package/dist/contracts/runtime-services.d.ts +43 -75
- package/dist/contracts/runtime-services.js +29 -49
- package/dist/contracts/runtime-storage.d.ts +14 -14
- package/dist/contracts/runtime-storage.js +28 -13
- package/dist/contracts/sf-config-v1.d.ts +14 -18
- package/dist/contracts/slugs.js +13 -4
- package/dist/contracts/space-config.d.ts +235 -28
- package/dist/contracts/space-config.js +246 -91
- package/dist/contracts/spaces.d.ts +360 -255
- package/dist/contracts/spaces.js +190 -122
- package/dist/contracts/superadmin-activity.d.ts +3 -43
- package/dist/contracts/superadmin-activity.js +6 -30
- package/dist/contracts/superadmin-emails.d.ts +1 -0
- package/dist/contracts/superadmin-emails.js +17 -1
- package/dist/contracts/superadmin-runtime.d.ts +199 -0
- package/dist/contracts/superadmin-runtime.js +141 -0
- package/dist/contracts/superadmin-search.d.ts +22 -2
- package/dist/contracts/superadmin-search.js +14 -6
- package/dist/contracts/superadmin-spaces.d.ts +435 -186
- package/dist/contracts/superadmin-spaces.js +131 -25
- package/dist/contracts/superadmin-teams.d.ts +3 -0
- package/dist/contracts/superadmin-teams.js +1 -2
- package/dist/contracts/superadmin-tenants.d.ts +627 -6
- package/dist/contracts/superadmin-tenants.js +32 -7
- package/dist/contracts/superadmin.d.ts +98 -16
- package/dist/contracts/superadmin.js +63 -10
- package/dist/contracts/tags.d.ts +85 -58
- package/dist/contracts/tags.js +44 -34
- package/dist/contracts/teams.d.ts +72 -9
- package/dist/contracts/teams.js +84 -25
- package/dist/contracts/tenants.d.ts +135 -0
- package/dist/contracts/tenants.js +120 -0
- package/dist/contracts/test-triggers.d.ts +70 -0
- package/dist/contracts/test-triggers.js +116 -0
- package/dist/contracts/theme-json.js +3 -8
- package/dist/contracts/transfers.d.ts +1 -0
- package/dist/contracts/transfers.js +1 -0
- package/dist/contracts/usage.d.ts +209 -0
- package/dist/contracts/usage.js +124 -12
- package/dist/contracts/variables.d.ts +2 -2
- package/dist/contracts/variables.js +9 -13
- package/dist/contracts/webhooks.d.ts +13 -5
- package/dist/contracts/webhooks.js +3 -1
- package/dist/contracts/zero.d.ts +57 -64
- package/dist/contracts/zero.js +68 -66
- package/dist/dashboard-paths/index.d.ts +24 -21
- package/dist/dashboard-paths/index.js +35 -47
- package/dist/dashboard-paths/route-reservations.generated.d.ts +2 -0
- package/dist/dashboard-paths/route-reservations.generated.js +36 -0
- package/dist/docs/agent-arrival.d.ts +92 -0
- package/dist/docs/agent-arrival.js +227 -0
- package/dist/docs/agent-output-policy.d.ts +6 -0
- package/dist/docs/agent-output-policy.js +22 -0
- package/dist/docs/agent-prose.d.ts +11 -17
- package/dist/docs/agent-prose.js +62 -37
- package/dist/docs/agent-setup.d.ts +72 -41
- package/dist/docs/agent-setup.js +336 -436
- package/dist/docs/catalog.d.ts +147 -89
- package/dist/docs/catalog.js +157 -42
- package/dist/docs/error-docs.d.ts +2098 -1
- package/dist/docs/error-docs.js +281 -16
- package/dist/docs/index-build.d.ts +0 -1
- package/dist/docs/index-build.js +2 -3
- package/dist/docs/page-context-prompt.d.ts +77 -0
- package/dist/docs/page-context-prompt.js +131 -0
- package/dist/docs/reference-urls.d.ts +46 -0
- package/dist/docs/reference-urls.js +79 -0
- package/dist/docs/search.d.ts +6 -8
- package/dist/docs/search.js +10 -13
- package/dist/docs/skill-distribution.d.ts +4 -1
- package/dist/docs/skill-distribution.js +10 -5
- package/dist/docs/skills.d.ts +117 -117
- package/dist/docs/skills.js +120 -72
- package/dist/docs/start-prompts.d.ts +45 -0
- package/dist/docs/start-prompts.js +62 -0
- package/dist/domain-exploration.js +9 -13
- package/dist/og-template.d.ts +56 -0
- package/dist/og-template.js +56 -0
- package/dist/slug-policy/index.js +5 -11
- package/dist/utils/browser-credential.d.ts +13 -6
- package/dist/utils/browser-credential.js +14 -7
- package/dist/utils/build-settings.d.ts +16 -0
- package/dist/utils/build-settings.js +63 -17
- package/dist/utils/canonical-json.d.ts +3 -5
- package/dist/utils/canonical-json.js +3 -5
- package/dist/utils/cast-transport.d.ts +5 -17
- package/dist/utils/cast-transport.js +6 -19
- package/dist/utils/claim-token.js +1 -2
- package/dist/utils/comment-avatars.js +4 -6
- package/dist/utils/concurrency.js +2 -3
- package/dist/utils/content-type.d.ts +7 -6
- package/dist/utils/content-type.js +73 -51
- package/dist/utils/credential-policy.d.ts +50 -6
- package/dist/utils/credential-policy.js +123 -57
- package/dist/utils/egress-policy.fixtures.json +1 -1
- package/dist/utils/generate-space-name.d.ts +3 -8
- package/dist/utils/generate-space-name.js +3 -8
- package/dist/utils/grants.d.ts +0 -1
- package/dist/utils/grants.js +4 -7
- package/dist/utils/gravatar.d.ts +2 -4
- package/dist/utils/gravatar.js +6 -12
- package/dist/utils/id-hints.js +14 -23
- package/dist/utils/idempotency.d.ts +3 -3
- package/dist/utils/idempotency.js +6 -7
- package/dist/utils/local-space-state.d.ts +15 -15
- package/dist/utils/local-space-state.js +34 -23
- package/dist/utils/oauth-signed-query.d.ts +3 -5
- package/dist/utils/oauth-signed-query.js +6 -9
- package/dist/utils/one-shot-replay.d.ts +3 -5
- package/dist/utils/one-shot-replay.js +3 -5
- package/dist/utils/page-colors.d.ts +4 -10
- package/dist/utils/page-colors.js +11 -35
- package/dist/utils/page-fonts.js +6 -11
- package/dist/utils/page-preview.d.ts +0 -1
- package/dist/utils/page-preview.js +0 -1
- package/dist/utils/pages.d.ts +22 -11
- package/dist/utils/pages.js +70 -30
- package/dist/utils/privacy-regions.d.ts +19 -0
- package/dist/utils/privacy-regions.js +91 -0
- package/dist/utils/publish-form-data.d.ts +4 -5
- package/dist/utils/publish-form-data.js +2 -3
- package/dist/utils/publish-policy.d.ts +10 -23
- package/dist/utils/publish-policy.js +63 -116
- package/dist/utils/query-client.d.ts +2 -0
- package/dist/utils/query-client.js +10 -1
- package/dist/utils/runtime-paths.d.ts +4 -4
- package/dist/utils/runtime-paths.js +6 -8
- package/dist/utils/runtime-upload.d.ts +4 -0
- package/dist/utils/runtime-upload.js +5 -0
- package/dist/utils/secure-local-file.d.ts +3 -3
- package/dist/utils/secure-local-file.js +18 -24
- package/dist/utils/space-config.d.ts +11 -14
- package/dist/utils/space-config.js +10 -16
- package/dist/utils/static-runtime-policy.d.ts +5 -8
- package/dist/utils/static-runtime-policy.generated.d.ts +16 -0
- package/dist/utils/static-runtime-policy.generated.js +70 -0
- package/dist/utils/static-runtime-policy.js +17 -84
- package/dist/utils/storage-policy.js +1 -2
- package/dist/utils/upload-session.js +8 -14
- package/dist/utils/version-path.js +11 -19
- package/dist/utils/wpcom-auth-redirects.d.ts +5 -14
- package/dist/utils/wpcom-auth-redirects.js +1 -4
- package/dist/vocabulary.d.ts +7 -7
- package/dist/vocabulary.js +30 -16
- package/package.json +14 -2
- package/dist/agents/client-registry.d.ts +0 -22
- package/dist/agents/client-registry.js +0 -41
- package/dist/docs/agent-handoff-document.d.ts +0 -15
- package/dist/docs/agent-handoff-document.js +0 -180
- package/dist/docs/agent-solutions.d.ts +0 -110
- package/dist/docs/agent-solutions.js +0 -183
- package/dist/utils/query-keys.d.ts +0 -84
- package/dist/utils/query-keys.js +0 -108
package/dist/docs/skills.d.ts
CHANGED
|
@@ -23,14 +23,14 @@ export interface SpacefastSkillDefinition {
|
|
|
23
23
|
export declare const SPACEFAST_SKILLS: readonly [{
|
|
24
24
|
readonly name: "create-and-publish-site";
|
|
25
25
|
readonly title: "Create and publish a polished website";
|
|
26
|
-
readonly description: "
|
|
27
|
-
readonly whenToUse: "Use when the user wants
|
|
26
|
+
readonly description: "Build a responsive website from a brief. Publish it and verify the live version.";
|
|
27
|
+
readonly whenToUse: "Use when the user wants a new website built, improved, or launched.";
|
|
28
28
|
readonly keywords: readonly ["create", "website", "design", "build", "responsive", "launch", "publish"];
|
|
29
29
|
readonly runtimes: readonly ["local", "hosted"];
|
|
30
|
-
readonly tools: readonly ["publish", "
|
|
30
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
31
31
|
readonly docs: readonly ["quickstart", "publishing"];
|
|
32
|
-
readonly instructions: readonly ["
|
|
33
|
-
readonly verification: readonly ["Call `
|
|
32
|
+
readonly instructions: readonly ["Use the user's brief. Infer optional design choices from the content and workspace.", "Ask a question only when a missing required value blocks safe work.", "Inspect the workspace. Reuse its framework, package manager, components, assets, and build commands when suitable.", "Build an accessible site with real content, responsive layouts, clear hierarchy, and useful interaction states.", "Run the real build. Check mobile and desktop layouts, links, assets, keyboard use, contrast, and layout stability.", "Review the final diff. Remove secrets and local authentication data from the artifact.", "Call `publish` once with the built output. Return useful access, live, and version URLs from the receipt. If the publish is anonymous, point the user to the claim action in the publish card and state its expiry.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
33
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the intended version is ready and current.", "If the deployment failed or stalled, report its stable error code and actionable diagnostics.", "Open the live URL. Verify the main page, navigation, assets, responsive layout, and primary call to action."];
|
|
34
34
|
readonly runtimeNotes: {
|
|
35
35
|
readonly local: "On-Device can work directly inside the configured local workspace root and publish a local build path.";
|
|
36
36
|
readonly hosted: "Hosted has no filesystem. Generate small files in the client and publish them inline, or use catalog manifest and import operations for larger artifacts.";
|
|
@@ -48,10 +48,10 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
48
48
|
readonly whenToUse: "Use when the artifact already exists and the user wants it published or updated.";
|
|
49
49
|
readonly keywords: readonly ["publish", "deploy", "live", "verify", "version", "claim"];
|
|
50
50
|
readonly runtimes: readonly ["local", "hosted"];
|
|
51
|
-
readonly tools: readonly ["publish", "
|
|
51
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
52
52
|
readonly docs: readonly ["publishing", "workflow/publish-receipt", "workflow/secret-handling"];
|
|
53
|
-
readonly instructions: readonly ["Identify the actual publish root or build output. Run the real build first when the source tree is not
|
|
54
|
-
readonly verification: readonly ["Call `
|
|
53
|
+
readonly instructions: readonly ["Identify the actual publish root or build output. Run the real build first when the source tree is not the artifact.", "Call `publish` once. Keep anonymous claim credentials in local custody.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop.", "Return the live, access, and version URLs that are present. For an anonymous publish, state the claim expiry and point the user to the claim action in the publish card.", "Never expose a raw claim credential. Never ask the user to paste one."];
|
|
54
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the intended version is ready and current.", "Report the stable error code and actionable diagnostics when the deployment failed or stalled.", "Open the live URL. Verify representative content and assets before reporting success."];
|
|
55
55
|
readonly runtimeNotes: {
|
|
56
56
|
readonly local: "Publish a bounded local path; locally custodied claim credentials are reused automatically.";
|
|
57
57
|
readonly hosted: "Publish inline files, or use catalog manifest and import operations for larger artifacts. Hosted has no filesystem.";
|
|
@@ -60,7 +60,7 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
60
60
|
readonly recipe: {
|
|
61
61
|
readonly slug: "recipes/agent-publish";
|
|
62
62
|
readonly tier: "full";
|
|
63
|
-
readonly url: `${string}/
|
|
63
|
+
readonly url: `${string}/publish/anonymous`;
|
|
64
64
|
};
|
|
65
65
|
}, {
|
|
66
66
|
readonly name: "ci-github-actions";
|
|
@@ -69,15 +69,15 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
69
69
|
readonly whenToUse: "Use when pushes or manual workflow runs should publish automatically from GitHub.";
|
|
70
70
|
readonly keywords: readonly ["github", "actions", "ci", "push", "automatic", "workflow"];
|
|
71
71
|
readonly runtimes: readonly ["local", "hosted"];
|
|
72
|
-
readonly tools: readonly [
|
|
72
|
+
readonly tools: readonly [];
|
|
73
73
|
readonly docs: readonly ["builds", "publishing", "workflow/secret-handling"];
|
|
74
|
-
readonly instructions: readonly ["Inspect the
|
|
74
|
+
readonly instructions: readonly ["Inspect the package manager, lockfile, build command, runtime version, output directory, and existing workflows.", "Create one least-privilege workflow for the intended branch and `workflow_dispatch`.", "Check out the repository.", "Install dependencies with the locked command.", "Run the real build.", "Run `npx -y spacefast@<pinned-version> publish <output> --json` with the actual output directory.", "Store the credential as a masked `SPACEFAST_TOKEN` repository or environment secret.", "Never echo credentials. Never upload authentication files or credentials as artifacts.", "Use the repository's real package manager and output directory.", "Do not replace custom build steps with a generic npm/dist example."];
|
|
75
75
|
readonly verification: readonly ["Validate the workflow syntax and run it on an explicit test branch or manual dispatch.", "Inspect the publish receipt and live URL; a green build step alone is not serving proof."];
|
|
76
76
|
readonly prompt: true;
|
|
77
77
|
readonly recipe: {
|
|
78
78
|
readonly slug: "recipes/github-deploys";
|
|
79
79
|
readonly tier: "full";
|
|
80
|
-
readonly url: `${string}/
|
|
80
|
+
readonly url: `${string}/publish/git`;
|
|
81
81
|
};
|
|
82
82
|
}, {
|
|
83
83
|
readonly name: "preview-channels";
|
|
@@ -86,26 +86,26 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
86
86
|
readonly whenToUse: "Use when reviewers need a realistic preview before a change goes live.";
|
|
87
87
|
readonly keywords: readonly ["preview", "channel", "branch", "pull request", "review", "private"];
|
|
88
88
|
readonly runtimes: readonly ["local", "hosted"];
|
|
89
|
-
readonly tools: readonly ["publish", "
|
|
89
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments", "execute", "resume_execution"];
|
|
90
90
|
readonly docs: readonly ["builds", "access-control"];
|
|
91
|
-
readonly instructions: readonly ["
|
|
92
|
-
readonly verification: readonly ["
|
|
91
|
+
readonly instructions: readonly ["Call `publish` once for an explicit non-production space or channel. Do not change the production target.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop.", "Keep the preview private unless the user requests sharing.", "For reviewer access, use one bounded `execute` program. Read current access, create the narrowest Link, then read it again.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Label the preview with its branch, change, or pull request. Report what is out of scope."];
|
|
92
|
+
readonly verification: readonly ["Call `show_space_deployments` for each affected Space. Confirm that the preview changed. Confirm that production did not change.", "Test the reviewer Link in a signed-out context. Report its scope and expiry."];
|
|
93
93
|
readonly recipe: {
|
|
94
94
|
readonly slug: "recipes/preview-channels";
|
|
95
95
|
readonly tier: "full";
|
|
96
|
-
readonly url: `${string}/
|
|
96
|
+
readonly url: `${string}/publish/git`;
|
|
97
97
|
};
|
|
98
98
|
}, {
|
|
99
99
|
readonly name: "claim-flow";
|
|
100
100
|
readonly title: "Claim an anonymous space";
|
|
101
|
-
readonly description: "Attach an anonymous space to an account or team before expiry
|
|
102
|
-
readonly whenToUse: "Use after an anonymous publish returns a claim
|
|
101
|
+
readonly description: "Attach an anonymous space to an account or team before expiry. Keep claim credentials in server or local custody.";
|
|
102
|
+
readonly whenToUse: "Use after an anonymous publish returns a claim action and expiry.";
|
|
103
103
|
readonly keywords: readonly ["claim", "anonymous", "ownership", "team", "continuation", "credential"];
|
|
104
104
|
readonly runtimes: readonly ["local", "hosted"];
|
|
105
|
-
readonly tools: readonly ["execute", "
|
|
105
|
+
readonly tools: readonly ["publish", "operation_status", "execute", "resume_execution"];
|
|
106
106
|
readonly docs: readonly ["anonymous-publish", "workflow/continue-after-claim", "workflow/secret-handling"];
|
|
107
|
-
readonly instructions: readonly ["
|
|
108
|
-
readonly verification: readonly ["Confirm the space
|
|
107
|
+
readonly instructions: readonly ["Point the user to the claim action in the publish card and state its expiry. Never copy the claim credential into model text.", "When account credentials are available, use one bounded `execute` program. Search and describe the claim operation before calling it.", "Pass only the required team ID and expected space ID.", "After the claim resumes, read the space in the same program. Return its owner and claim state.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Otherwise, ask the user to use the claim action in the publish card.", "After a browser claim, call `publish` again from On-Device. It exchanges the locally held credential without exposing it.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
108
|
+
readonly verification: readonly ["Confirm that the space has no claim expiry. Confirm that it belongs to the intended account or team.", "Confirm that the republish uses durable access without a raw credential."];
|
|
109
109
|
readonly prompt: true;
|
|
110
110
|
}, {
|
|
111
111
|
readonly name: "rollback-safely";
|
|
@@ -114,10 +114,10 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
114
114
|
readonly whenToUse: "Use when the current live version is broken and a prior healthy version is known or discoverable.";
|
|
115
115
|
readonly keywords: readonly ["rollback", "revert", "version", "incident", "restore"];
|
|
116
116
|
readonly runtimes: readonly ["local", "hosted"];
|
|
117
|
-
readonly tools: readonly ["
|
|
117
|
+
readonly tools: readonly ["show_space_deployments", "execute", "resume_execution"];
|
|
118
118
|
readonly docs: readonly ["versions-and-rollback"];
|
|
119
|
-
readonly instructions: readonly ["
|
|
120
|
-
readonly verification: readonly ["Call `
|
|
119
|
+
readonly instructions: readonly ["Call `show_space_deployments`. Select a known-good ready version that is older than the current version.", "Use one bounded `execute` program. Search and describe the version promotion operation before calling it.", "Read the live pointer, promote the selected version, then read the pointer again in the same program.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program."];
|
|
120
|
+
readonly verification: readonly ["Call `show_space_deployments`. Confirm that the selected version is current and ready.", "Open the live URL. Verify that the failing path or behavior works again."];
|
|
121
121
|
readonly prompt: true;
|
|
122
122
|
}, {
|
|
123
123
|
readonly name: "set-up-custom-domain";
|
|
@@ -126,10 +126,10 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
126
126
|
readonly whenToUse: "Use when the user owns a domain they want a Spacefast space to serve.";
|
|
127
127
|
readonly keywords: readonly ["domain", "dns", "tls", "https", "cname", "custom"];
|
|
128
128
|
readonly runtimes: readonly ["local", "hosted"];
|
|
129
|
-
readonly tools: readonly ["execute"];
|
|
129
|
+
readonly tools: readonly ["show_space_domains", "execute", "resume_execution"];
|
|
130
130
|
readonly docs: readonly ["custom-domains", "recipes/migrate-dns"];
|
|
131
|
-
readonly instructions: readonly ["
|
|
132
|
-
readonly verification: readonly ["
|
|
131
|
+
readonly instructions: readonly ["Call `show_space_domains`. Read the current domain, DNS, and certificate state.", "If setup is required, use one bounded `execute` program. Search and describe the add or assign operation before calling it.", "Read the domain again in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Return the exact DNS records from Spacefast. Do not claim that Spacefast changed third-party DNS.", "Keep the existing production hostname until the custom domain is ready."];
|
|
132
|
+
readonly verification: readonly ["After the external DNS change, call `show_space_domains`. Report the current verification state.", "Open the HTTPS URL only after DNS and certificate states are ready. Verify representative content."];
|
|
133
133
|
readonly prompt: true;
|
|
134
134
|
readonly recipe: {
|
|
135
135
|
readonly slug: "recipes/custom-domain";
|
|
@@ -143,10 +143,10 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
143
143
|
readonly whenToUse: "Use for moved pages, canonical host paths, and intentional permanent or temporary redirects.";
|
|
144
144
|
readonly keywords: readonly ["redirect", "rewrite", "routing", "301", "302", "path"];
|
|
145
145
|
readonly runtimes: readonly ["local", "hosted"];
|
|
146
|
-
readonly tools: readonly ["publish", "
|
|
146
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
147
147
|
readonly docs: readonly ["redirects"];
|
|
148
|
-
readonly instructions: readonly ["Inspect existing routing rules, then add the smallest non-conflicting rules to `_redirects` at the publish root.", "Choose temporary or permanent status deliberately
|
|
149
|
-
readonly verification: readonly ["Request representative old and new paths and confirm the exact status and Location header.", "Verify the final target serves successfully and unrelated assets are not redirected."];
|
|
148
|
+
readonly instructions: readonly ["Inspect existing routing rules, then add the smallest non-conflicting rules to `_redirects` at the publish root.", "Choose a temporary or permanent status deliberately. Preserve required path and query behavior.", "Avoid redirect loops and rules that hide real assets.", "Call `publish` once. Include the redirect file and related content in the same immutable version.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
149
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the new version is current and ready.", "Request representative old and new paths and confirm the exact status and Location header.", "Verify the final target serves successfully and unrelated assets are not redirected."];
|
|
150
150
|
readonly recipe: {
|
|
151
151
|
readonly slug: "recipes/redirects";
|
|
152
152
|
readonly tier: "reference";
|
|
@@ -159,10 +159,10 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
159
159
|
readonly whenToUse: "Use when an existing production domain must move to Spacefast.";
|
|
160
160
|
readonly keywords: readonly ["dns", "migrate", "cutover", "domain", "downtime", "certificate"];
|
|
161
161
|
readonly runtimes: readonly ["local", "hosted"];
|
|
162
|
-
readonly tools: readonly ["execute"];
|
|
162
|
+
readonly tools: readonly ["show_space_domains", "execute", "resume_execution"];
|
|
163
163
|
readonly docs: readonly ["custom-domains"];
|
|
164
|
-
readonly instructions: readonly ["Inventory the current authoritative DNS records
|
|
165
|
-
readonly verification: readonly ["
|
|
164
|
+
readonly instructions: readonly ["Inventory the current authoritative DNS records. Lower the TTL before cutover when the provider and timing permit it.", "Call `show_space_domains`. Read the current DNS and certificate state.", "If setup is required, use one bounded `execute` program. Search and describe the add or assign operation before calling it.", "Read the domain again in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Create the returned DNS records at the provider. Keep the previous origin available during propagation.", "Cut over only after the expected content and TLS state are ready."];
|
|
165
|
+
readonly verification: readonly ["Call `show_space_domains`. Confirm that DNS and certificate states are ready.", "Check more than one resolver. Confirm that the certificate matches the final hostname.", "Open the public HTTPS URL. Verify representative content before removing rollback records."];
|
|
166
166
|
readonly recipe: {
|
|
167
167
|
readonly slug: "recipes/migrate-dns";
|
|
168
168
|
readonly tier: "reference";
|
|
@@ -175,10 +175,10 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
175
175
|
readonly whenToUse: "Use when a build, finalize, activation, or live serving step fails or stalls.";
|
|
176
176
|
readonly keywords: readonly ["debug", "failed", "build", "logs", "diagnose", "stalled"];
|
|
177
177
|
readonly runtimes: readonly ["local", "hosted"];
|
|
178
|
-
readonly tools: readonly ["execute"];
|
|
178
|
+
readonly tools: readonly ["show_space_deployments", "execute", "publish", "operation_status"];
|
|
179
179
|
readonly docs: readonly ["troubleshooting"];
|
|
180
|
-
readonly instructions: readonly ["
|
|
181
|
-
readonly verification: readonly ["
|
|
180
|
+
readonly instructions: readonly ["Call `show_space_deployments`. Read the failed version, build state, stable error code, and diagnostics.", "If more detail is required, use one bounded `execute` program. Read only the required build logs or version data.", "Apply the smallest fix supported by the evidence. Run the real build.", "Call `publish` once with the fixed output.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
181
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the new version is current and ready.", "Open the affected live path. Verify that the concrete failure does not occur."];
|
|
182
182
|
readonly prompt: true;
|
|
183
183
|
}, {
|
|
184
184
|
readonly name: "manage-access";
|
|
@@ -187,23 +187,23 @@ export declare const SPACEFAST_SKILLS: readonly [{
|
|
|
187
187
|
readonly whenToUse: "Use when a space or path must be made public, team-only, or shared with specific people or machines.";
|
|
188
188
|
readonly keywords: readonly ["access", "private", "public", "people", "links", "grant", "share"];
|
|
189
189
|
readonly runtimes: readonly ["local", "hosted"];
|
|
190
|
-
readonly tools: readonly ["execute", "
|
|
190
|
+
readonly tools: readonly ["execute", "resume_execution"];
|
|
191
191
|
readonly docs: readonly ["access-control"];
|
|
192
|
-
readonly instructions: readonly ["
|
|
193
|
-
readonly verification: readonly ["
|
|
192
|
+
readonly instructions: readonly ["Use one bounded `execute` program. Search and describe the access operations before calling them.", "Read current access. Apply the narrowest change for one explicit access intent. Read the resulting access state.", "Run the matching access check in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Show new Link or machine secrets only to the requesting user. Never store them in logs or committed files."];
|
|
193
|
+
readonly verification: readonly ["Confirm that the access check permits the intended actor and path.", "Test a new Link in the intended signed-out context. Confirm that unrelated resources stay inaccessible."];
|
|
194
194
|
readonly prompt: true;
|
|
195
195
|
}];
|
|
196
196
|
export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
197
197
|
readonly name: "create-and-publish-site";
|
|
198
198
|
readonly title: "Create and publish a polished website";
|
|
199
|
-
readonly description: "
|
|
200
|
-
readonly whenToUse: "Use when the user wants
|
|
199
|
+
readonly description: "Build a responsive website from a brief. Publish it and verify the live version.";
|
|
200
|
+
readonly whenToUse: "Use when the user wants a new website built, improved, or launched.";
|
|
201
201
|
readonly keywords: readonly ["create", "website", "design", "build", "responsive", "launch", "publish"];
|
|
202
202
|
readonly runtimes: readonly ["local", "hosted"];
|
|
203
|
-
readonly tools: readonly ["publish", "
|
|
203
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
204
204
|
readonly docs: readonly ["quickstart", "publishing"];
|
|
205
|
-
readonly instructions: readonly ["
|
|
206
|
-
readonly verification: readonly ["Call `
|
|
205
|
+
readonly instructions: readonly ["Use the user's brief. Infer optional design choices from the content and workspace.", "Ask a question only when a missing required value blocks safe work.", "Inspect the workspace. Reuse its framework, package manager, components, assets, and build commands when suitable.", "Build an accessible site with real content, responsive layouts, clear hierarchy, and useful interaction states.", "Run the real build. Check mobile and desktop layouts, links, assets, keyboard use, contrast, and layout stability.", "Review the final diff. Remove secrets and local authentication data from the artifact.", "Call `publish` once with the built output. Return useful access, live, and version URLs from the receipt. If the publish is anonymous, point the user to the claim action in the publish card and state its expiry.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
206
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the intended version is ready and current.", "If the deployment failed or stalled, report its stable error code and actionable diagnostics.", "Open the live URL. Verify the main page, navigation, assets, responsive layout, and primary call to action."];
|
|
207
207
|
readonly runtimeNotes: {
|
|
208
208
|
readonly local: "On-Device can work directly inside the configured local workspace root and publish a local build path.";
|
|
209
209
|
readonly hosted: "Hosted has no filesystem. Generate small files in the client and publish them inline, or use catalog manifest and import operations for larger artifacts.";
|
|
@@ -221,10 +221,10 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
221
221
|
readonly whenToUse: "Use when the artifact already exists and the user wants it published or updated.";
|
|
222
222
|
readonly keywords: readonly ["publish", "deploy", "live", "verify", "version", "claim"];
|
|
223
223
|
readonly runtimes: readonly ["local", "hosted"];
|
|
224
|
-
readonly tools: readonly ["publish", "
|
|
224
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
225
225
|
readonly docs: readonly ["publishing", "workflow/publish-receipt", "workflow/secret-handling"];
|
|
226
|
-
readonly instructions: readonly ["Identify the actual publish root or build output. Run the real build first when the source tree is not
|
|
227
|
-
readonly verification: readonly ["Call `
|
|
226
|
+
readonly instructions: readonly ["Identify the actual publish root or build output. Run the real build first when the source tree is not the artifact.", "Call `publish` once. Keep anonymous claim credentials in local custody.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop.", "Return the live, access, and version URLs that are present. For an anonymous publish, state the claim expiry and point the user to the claim action in the publish card.", "Never expose a raw claim credential. Never ask the user to paste one."];
|
|
227
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the intended version is ready and current.", "Report the stable error code and actionable diagnostics when the deployment failed or stalled.", "Open the live URL. Verify representative content and assets before reporting success."];
|
|
228
228
|
readonly runtimeNotes: {
|
|
229
229
|
readonly local: "Publish a bounded local path; locally custodied claim credentials are reused automatically.";
|
|
230
230
|
readonly hosted: "Publish inline files, or use catalog manifest and import operations for larger artifacts. Hosted has no filesystem.";
|
|
@@ -233,7 +233,7 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
233
233
|
readonly recipe: {
|
|
234
234
|
readonly slug: "recipes/agent-publish";
|
|
235
235
|
readonly tier: "full";
|
|
236
|
-
readonly url: `${string}/
|
|
236
|
+
readonly url: `${string}/publish/anonymous`;
|
|
237
237
|
};
|
|
238
238
|
} | {
|
|
239
239
|
readonly name: "ci-github-actions";
|
|
@@ -242,15 +242,15 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
242
242
|
readonly whenToUse: "Use when pushes or manual workflow runs should publish automatically from GitHub.";
|
|
243
243
|
readonly keywords: readonly ["github", "actions", "ci", "push", "automatic", "workflow"];
|
|
244
244
|
readonly runtimes: readonly ["local", "hosted"];
|
|
245
|
-
readonly tools: readonly [
|
|
245
|
+
readonly tools: readonly [];
|
|
246
246
|
readonly docs: readonly ["builds", "publishing", "workflow/secret-handling"];
|
|
247
|
-
readonly instructions: readonly ["Inspect the
|
|
247
|
+
readonly instructions: readonly ["Inspect the package manager, lockfile, build command, runtime version, output directory, and existing workflows.", "Create one least-privilege workflow for the intended branch and `workflow_dispatch`.", "Check out the repository.", "Install dependencies with the locked command.", "Run the real build.", "Run `npx -y spacefast@<pinned-version> publish <output> --json` with the actual output directory.", "Store the credential as a masked `SPACEFAST_TOKEN` repository or environment secret.", "Never echo credentials. Never upload authentication files or credentials as artifacts.", "Use the repository's real package manager and output directory.", "Do not replace custom build steps with a generic npm/dist example."];
|
|
248
248
|
readonly verification: readonly ["Validate the workflow syntax and run it on an explicit test branch or manual dispatch.", "Inspect the publish receipt and live URL; a green build step alone is not serving proof."];
|
|
249
249
|
readonly prompt: true;
|
|
250
250
|
readonly recipe: {
|
|
251
251
|
readonly slug: "recipes/github-deploys";
|
|
252
252
|
readonly tier: "full";
|
|
253
|
-
readonly url: `${string}/
|
|
253
|
+
readonly url: `${string}/publish/git`;
|
|
254
254
|
};
|
|
255
255
|
} | {
|
|
256
256
|
readonly name: "preview-channels";
|
|
@@ -259,26 +259,26 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
259
259
|
readonly whenToUse: "Use when reviewers need a realistic preview before a change goes live.";
|
|
260
260
|
readonly keywords: readonly ["preview", "channel", "branch", "pull request", "review", "private"];
|
|
261
261
|
readonly runtimes: readonly ["local", "hosted"];
|
|
262
|
-
readonly tools: readonly ["publish", "
|
|
262
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments", "execute", "resume_execution"];
|
|
263
263
|
readonly docs: readonly ["builds", "access-control"];
|
|
264
|
-
readonly instructions: readonly ["
|
|
265
|
-
readonly verification: readonly ["
|
|
264
|
+
readonly instructions: readonly ["Call `publish` once for an explicit non-production space or channel. Do not change the production target.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop.", "Keep the preview private unless the user requests sharing.", "For reviewer access, use one bounded `execute` program. Read current access, create the narrowest Link, then read it again.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Label the preview with its branch, change, or pull request. Report what is out of scope."];
|
|
265
|
+
readonly verification: readonly ["Call `show_space_deployments` for each affected Space. Confirm that the preview changed. Confirm that production did not change.", "Test the reviewer Link in a signed-out context. Report its scope and expiry."];
|
|
266
266
|
readonly recipe: {
|
|
267
267
|
readonly slug: "recipes/preview-channels";
|
|
268
268
|
readonly tier: "full";
|
|
269
|
-
readonly url: `${string}/
|
|
269
|
+
readonly url: `${string}/publish/git`;
|
|
270
270
|
};
|
|
271
271
|
} | {
|
|
272
272
|
readonly name: "claim-flow";
|
|
273
273
|
readonly title: "Claim an anonymous space";
|
|
274
|
-
readonly description: "Attach an anonymous space to an account or team before expiry
|
|
275
|
-
readonly whenToUse: "Use after an anonymous publish returns a claim
|
|
274
|
+
readonly description: "Attach an anonymous space to an account or team before expiry. Keep claim credentials in server or local custody.";
|
|
275
|
+
readonly whenToUse: "Use after an anonymous publish returns a claim action and expiry.";
|
|
276
276
|
readonly keywords: readonly ["claim", "anonymous", "ownership", "team", "continuation", "credential"];
|
|
277
277
|
readonly runtimes: readonly ["local", "hosted"];
|
|
278
|
-
readonly tools: readonly ["execute", "
|
|
278
|
+
readonly tools: readonly ["publish", "operation_status", "execute", "resume_execution"];
|
|
279
279
|
readonly docs: readonly ["anonymous-publish", "workflow/continue-after-claim", "workflow/secret-handling"];
|
|
280
|
-
readonly instructions: readonly ["
|
|
281
|
-
readonly verification: readonly ["Confirm the space
|
|
280
|
+
readonly instructions: readonly ["Point the user to the claim action in the publish card and state its expiry. Never copy the claim credential into model text.", "When account credentials are available, use one bounded `execute` program. Search and describe the claim operation before calling it.", "Pass only the required team ID and expected space ID.", "After the claim resumes, read the space in the same program. Return its owner and claim state.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Otherwise, ask the user to use the claim action in the publish card.", "After a browser claim, call `publish` again from On-Device. It exchanges the locally held credential without exposing it.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
281
|
+
readonly verification: readonly ["Confirm that the space has no claim expiry. Confirm that it belongs to the intended account or team.", "Confirm that the republish uses durable access without a raw credential."];
|
|
282
282
|
readonly prompt: true;
|
|
283
283
|
} | {
|
|
284
284
|
readonly name: "rollback-safely";
|
|
@@ -287,10 +287,10 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
287
287
|
readonly whenToUse: "Use when the current live version is broken and a prior healthy version is known or discoverable.";
|
|
288
288
|
readonly keywords: readonly ["rollback", "revert", "version", "incident", "restore"];
|
|
289
289
|
readonly runtimes: readonly ["local", "hosted"];
|
|
290
|
-
readonly tools: readonly ["
|
|
290
|
+
readonly tools: readonly ["show_space_deployments", "execute", "resume_execution"];
|
|
291
291
|
readonly docs: readonly ["versions-and-rollback"];
|
|
292
|
-
readonly instructions: readonly ["
|
|
293
|
-
readonly verification: readonly ["Call `
|
|
292
|
+
readonly instructions: readonly ["Call `show_space_deployments`. Select a known-good ready version that is older than the current version.", "Use one bounded `execute` program. Search and describe the version promotion operation before calling it.", "Read the live pointer, promote the selected version, then read the pointer again in the same program.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program."];
|
|
293
|
+
readonly verification: readonly ["Call `show_space_deployments`. Confirm that the selected version is current and ready.", "Open the live URL. Verify that the failing path or behavior works again."];
|
|
294
294
|
readonly prompt: true;
|
|
295
295
|
} | {
|
|
296
296
|
readonly name: "set-up-custom-domain";
|
|
@@ -299,10 +299,10 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
299
299
|
readonly whenToUse: "Use when the user owns a domain they want a Spacefast space to serve.";
|
|
300
300
|
readonly keywords: readonly ["domain", "dns", "tls", "https", "cname", "custom"];
|
|
301
301
|
readonly runtimes: readonly ["local", "hosted"];
|
|
302
|
-
readonly tools: readonly ["execute"];
|
|
302
|
+
readonly tools: readonly ["show_space_domains", "execute", "resume_execution"];
|
|
303
303
|
readonly docs: readonly ["custom-domains", "recipes/migrate-dns"];
|
|
304
|
-
readonly instructions: readonly ["
|
|
305
|
-
readonly verification: readonly ["
|
|
304
|
+
readonly instructions: readonly ["Call `show_space_domains`. Read the current domain, DNS, and certificate state.", "If setup is required, use one bounded `execute` program. Search and describe the add or assign operation before calling it.", "Read the domain again in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Return the exact DNS records from Spacefast. Do not claim that Spacefast changed third-party DNS.", "Keep the existing production hostname until the custom domain is ready."];
|
|
305
|
+
readonly verification: readonly ["After the external DNS change, call `show_space_domains`. Report the current verification state.", "Open the HTTPS URL only after DNS and certificate states are ready. Verify representative content."];
|
|
306
306
|
readonly prompt: true;
|
|
307
307
|
readonly recipe: {
|
|
308
308
|
readonly slug: "recipes/custom-domain";
|
|
@@ -316,10 +316,10 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
316
316
|
readonly whenToUse: "Use for moved pages, canonical host paths, and intentional permanent or temporary redirects.";
|
|
317
317
|
readonly keywords: readonly ["redirect", "rewrite", "routing", "301", "302", "path"];
|
|
318
318
|
readonly runtimes: readonly ["local", "hosted"];
|
|
319
|
-
readonly tools: readonly ["publish", "
|
|
319
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
320
320
|
readonly docs: readonly ["redirects"];
|
|
321
|
-
readonly instructions: readonly ["Inspect existing routing rules, then add the smallest non-conflicting rules to `_redirects` at the publish root.", "Choose temporary or permanent status deliberately
|
|
322
|
-
readonly verification: readonly ["Request representative old and new paths and confirm the exact status and Location header.", "Verify the final target serves successfully and unrelated assets are not redirected."];
|
|
321
|
+
readonly instructions: readonly ["Inspect existing routing rules, then add the smallest non-conflicting rules to `_redirects` at the publish root.", "Choose a temporary or permanent status deliberately. Preserve required path and query behavior.", "Avoid redirect loops and rules that hide real assets.", "Call `publish` once. Include the redirect file and related content in the same immutable version.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
322
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the new version is current and ready.", "Request representative old and new paths and confirm the exact status and Location header.", "Verify the final target serves successfully and unrelated assets are not redirected."];
|
|
323
323
|
readonly recipe: {
|
|
324
324
|
readonly slug: "recipes/redirects";
|
|
325
325
|
readonly tier: "reference";
|
|
@@ -332,10 +332,10 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
332
332
|
readonly whenToUse: "Use when an existing production domain must move to Spacefast.";
|
|
333
333
|
readonly keywords: readonly ["dns", "migrate", "cutover", "domain", "downtime", "certificate"];
|
|
334
334
|
readonly runtimes: readonly ["local", "hosted"];
|
|
335
|
-
readonly tools: readonly ["execute"];
|
|
335
|
+
readonly tools: readonly ["show_space_domains", "execute", "resume_execution"];
|
|
336
336
|
readonly docs: readonly ["custom-domains"];
|
|
337
|
-
readonly instructions: readonly ["Inventory the current authoritative DNS records
|
|
338
|
-
readonly verification: readonly ["
|
|
337
|
+
readonly instructions: readonly ["Inventory the current authoritative DNS records. Lower the TTL before cutover when the provider and timing permit it.", "Call `show_space_domains`. Read the current DNS and certificate state.", "If setup is required, use one bounded `execute` program. Search and describe the add or assign operation before calling it.", "Read the domain again in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Create the returned DNS records at the provider. Keep the previous origin available during propagation.", "Cut over only after the expected content and TLS state are ready."];
|
|
338
|
+
readonly verification: readonly ["Call `show_space_domains`. Confirm that DNS and certificate states are ready.", "Check more than one resolver. Confirm that the certificate matches the final hostname.", "Open the public HTTPS URL. Verify representative content before removing rollback records."];
|
|
339
339
|
readonly recipe: {
|
|
340
340
|
readonly slug: "recipes/migrate-dns";
|
|
341
341
|
readonly tier: "reference";
|
|
@@ -348,10 +348,10 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
348
348
|
readonly whenToUse: "Use when a build, finalize, activation, or live serving step fails or stalls.";
|
|
349
349
|
readonly keywords: readonly ["debug", "failed", "build", "logs", "diagnose", "stalled"];
|
|
350
350
|
readonly runtimes: readonly ["local", "hosted"];
|
|
351
|
-
readonly tools: readonly ["execute"];
|
|
351
|
+
readonly tools: readonly ["show_space_deployments", "execute", "publish", "operation_status"];
|
|
352
352
|
readonly docs: readonly ["troubleshooting"];
|
|
353
|
-
readonly instructions: readonly ["
|
|
354
|
-
readonly verification: readonly ["
|
|
353
|
+
readonly instructions: readonly ["Call `show_space_deployments`. Read the failed version, build state, stable error code, and diagnostics.", "If more detail is required, use one bounded `execute` program. Read only the required build logs or version data.", "Apply the smallest fix supported by the evidence. Run the real build.", "Call `publish` once with the fixed output.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
354
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the new version is current and ready.", "Open the affected live path. Verify that the concrete failure does not occur."];
|
|
355
355
|
readonly prompt: true;
|
|
356
356
|
} | {
|
|
357
357
|
readonly name: "manage-access";
|
|
@@ -360,23 +360,23 @@ export declare const SPACEFAST_PROMPT_SKILLS: ({
|
|
|
360
360
|
readonly whenToUse: "Use when a space or path must be made public, team-only, or shared with specific people or machines.";
|
|
361
361
|
readonly keywords: readonly ["access", "private", "public", "people", "links", "grant", "share"];
|
|
362
362
|
readonly runtimes: readonly ["local", "hosted"];
|
|
363
|
-
readonly tools: readonly ["execute", "
|
|
363
|
+
readonly tools: readonly ["execute", "resume_execution"];
|
|
364
364
|
readonly docs: readonly ["access-control"];
|
|
365
|
-
readonly instructions: readonly ["
|
|
366
|
-
readonly verification: readonly ["
|
|
365
|
+
readonly instructions: readonly ["Use one bounded `execute` program. Search and describe the access operations before calling them.", "Read current access. Apply the narrowest change for one explicit access intent. Read the resulting access state.", "Run the matching access check in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Show new Link or machine secrets only to the requesting user. Never store them in logs or committed files."];
|
|
366
|
+
readonly verification: readonly ["Confirm that the access check permits the intended actor and path.", "Test a new Link in the intended signed-out context. Confirm that unrelated resources stay inaccessible."];
|
|
367
367
|
readonly prompt: true;
|
|
368
368
|
})[];
|
|
369
369
|
export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
370
370
|
readonly name: "create-and-publish-site";
|
|
371
371
|
readonly title: "Create and publish a polished website";
|
|
372
|
-
readonly description: "
|
|
373
|
-
readonly whenToUse: "Use when the user wants
|
|
372
|
+
readonly description: "Build a responsive website from a brief. Publish it and verify the live version.";
|
|
373
|
+
readonly whenToUse: "Use when the user wants a new website built, improved, or launched.";
|
|
374
374
|
readonly keywords: readonly ["create", "website", "design", "build", "responsive", "launch", "publish"];
|
|
375
375
|
readonly runtimes: readonly ["local", "hosted"];
|
|
376
|
-
readonly tools: readonly ["publish", "
|
|
376
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
377
377
|
readonly docs: readonly ["quickstart", "publishing"];
|
|
378
|
-
readonly instructions: readonly ["
|
|
379
|
-
readonly verification: readonly ["Call `
|
|
378
|
+
readonly instructions: readonly ["Use the user's brief. Infer optional design choices from the content and workspace.", "Ask a question only when a missing required value blocks safe work.", "Inspect the workspace. Reuse its framework, package manager, components, assets, and build commands when suitable.", "Build an accessible site with real content, responsive layouts, clear hierarchy, and useful interaction states.", "Run the real build. Check mobile and desktop layouts, links, assets, keyboard use, contrast, and layout stability.", "Review the final diff. Remove secrets and local authentication data from the artifact.", "Call `publish` once with the built output. Return useful access, live, and version URLs from the receipt. If the publish is anonymous, point the user to the claim action in the publish card and state its expiry.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
379
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the intended version is ready and current.", "If the deployment failed or stalled, report its stable error code and actionable diagnostics.", "Open the live URL. Verify the main page, navigation, assets, responsive layout, and primary call to action."];
|
|
380
380
|
readonly runtimeNotes: {
|
|
381
381
|
readonly local: "On-Device can work directly inside the configured local workspace root and publish a local build path.";
|
|
382
382
|
readonly hosted: "Hosted has no filesystem. Generate small files in the client and publish them inline, or use catalog manifest and import operations for larger artifacts.";
|
|
@@ -394,10 +394,10 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
394
394
|
readonly whenToUse: "Use when the artifact already exists and the user wants it published or updated.";
|
|
395
395
|
readonly keywords: readonly ["publish", "deploy", "live", "verify", "version", "claim"];
|
|
396
396
|
readonly runtimes: readonly ["local", "hosted"];
|
|
397
|
-
readonly tools: readonly ["publish", "
|
|
397
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
398
398
|
readonly docs: readonly ["publishing", "workflow/publish-receipt", "workflow/secret-handling"];
|
|
399
|
-
readonly instructions: readonly ["Identify the actual publish root or build output. Run the real build first when the source tree is not
|
|
400
|
-
readonly verification: readonly ["Call `
|
|
399
|
+
readonly instructions: readonly ["Identify the actual publish root or build output. Run the real build first when the source tree is not the artifact.", "Call `publish` once. Keep anonymous claim credentials in local custody.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop.", "Return the live, access, and version URLs that are present. For an anonymous publish, state the claim expiry and point the user to the claim action in the publish card.", "Never expose a raw claim credential. Never ask the user to paste one."];
|
|
400
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the intended version is ready and current.", "Report the stable error code and actionable diagnostics when the deployment failed or stalled.", "Open the live URL. Verify representative content and assets before reporting success."];
|
|
401
401
|
readonly runtimeNotes: {
|
|
402
402
|
readonly local: "Publish a bounded local path; locally custodied claim credentials are reused automatically.";
|
|
403
403
|
readonly hosted: "Publish inline files, or use catalog manifest and import operations for larger artifacts. Hosted has no filesystem.";
|
|
@@ -406,7 +406,7 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
406
406
|
readonly recipe: {
|
|
407
407
|
readonly slug: "recipes/agent-publish";
|
|
408
408
|
readonly tier: "full";
|
|
409
|
-
readonly url: `${string}/
|
|
409
|
+
readonly url: `${string}/publish/anonymous`;
|
|
410
410
|
};
|
|
411
411
|
} | {
|
|
412
412
|
readonly name: "ci-github-actions";
|
|
@@ -415,15 +415,15 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
415
415
|
readonly whenToUse: "Use when pushes or manual workflow runs should publish automatically from GitHub.";
|
|
416
416
|
readonly keywords: readonly ["github", "actions", "ci", "push", "automatic", "workflow"];
|
|
417
417
|
readonly runtimes: readonly ["local", "hosted"];
|
|
418
|
-
readonly tools: readonly [
|
|
418
|
+
readonly tools: readonly [];
|
|
419
419
|
readonly docs: readonly ["builds", "publishing", "workflow/secret-handling"];
|
|
420
|
-
readonly instructions: readonly ["Inspect the
|
|
420
|
+
readonly instructions: readonly ["Inspect the package manager, lockfile, build command, runtime version, output directory, and existing workflows.", "Create one least-privilege workflow for the intended branch and `workflow_dispatch`.", "Check out the repository.", "Install dependencies with the locked command.", "Run the real build.", "Run `npx -y spacefast@<pinned-version> publish <output> --json` with the actual output directory.", "Store the credential as a masked `SPACEFAST_TOKEN` repository or environment secret.", "Never echo credentials. Never upload authentication files or credentials as artifacts.", "Use the repository's real package manager and output directory.", "Do not replace custom build steps with a generic npm/dist example."];
|
|
421
421
|
readonly verification: readonly ["Validate the workflow syntax and run it on an explicit test branch or manual dispatch.", "Inspect the publish receipt and live URL; a green build step alone is not serving proof."];
|
|
422
422
|
readonly prompt: true;
|
|
423
423
|
readonly recipe: {
|
|
424
424
|
readonly slug: "recipes/github-deploys";
|
|
425
425
|
readonly tier: "full";
|
|
426
|
-
readonly url: `${string}/
|
|
426
|
+
readonly url: `${string}/publish/git`;
|
|
427
427
|
};
|
|
428
428
|
} | {
|
|
429
429
|
readonly name: "preview-channels";
|
|
@@ -432,26 +432,26 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
432
432
|
readonly whenToUse: "Use when reviewers need a realistic preview before a change goes live.";
|
|
433
433
|
readonly keywords: readonly ["preview", "channel", "branch", "pull request", "review", "private"];
|
|
434
434
|
readonly runtimes: readonly ["local", "hosted"];
|
|
435
|
-
readonly tools: readonly ["publish", "
|
|
435
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments", "execute", "resume_execution"];
|
|
436
436
|
readonly docs: readonly ["builds", "access-control"];
|
|
437
|
-
readonly instructions: readonly ["
|
|
438
|
-
readonly verification: readonly ["
|
|
437
|
+
readonly instructions: readonly ["Call `publish` once for an explicit non-production space or channel. Do not change the production target.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop.", "Keep the preview private unless the user requests sharing.", "For reviewer access, use one bounded `execute` program. Read current access, create the narrowest Link, then read it again.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Label the preview with its branch, change, or pull request. Report what is out of scope."];
|
|
438
|
+
readonly verification: readonly ["Call `show_space_deployments` for each affected Space. Confirm that the preview changed. Confirm that production did not change.", "Test the reviewer Link in a signed-out context. Report its scope and expiry."];
|
|
439
439
|
readonly recipe: {
|
|
440
440
|
readonly slug: "recipes/preview-channels";
|
|
441
441
|
readonly tier: "full";
|
|
442
|
-
readonly url: `${string}/
|
|
442
|
+
readonly url: `${string}/publish/git`;
|
|
443
443
|
};
|
|
444
444
|
} | {
|
|
445
445
|
readonly name: "claim-flow";
|
|
446
446
|
readonly title: "Claim an anonymous space";
|
|
447
|
-
readonly description: "Attach an anonymous space to an account or team before expiry
|
|
448
|
-
readonly whenToUse: "Use after an anonymous publish returns a claim
|
|
447
|
+
readonly description: "Attach an anonymous space to an account or team before expiry. Keep claim credentials in server or local custody.";
|
|
448
|
+
readonly whenToUse: "Use after an anonymous publish returns a claim action and expiry.";
|
|
449
449
|
readonly keywords: readonly ["claim", "anonymous", "ownership", "team", "continuation", "credential"];
|
|
450
450
|
readonly runtimes: readonly ["local", "hosted"];
|
|
451
|
-
readonly tools: readonly ["execute", "
|
|
451
|
+
readonly tools: readonly ["publish", "operation_status", "execute", "resume_execution"];
|
|
452
452
|
readonly docs: readonly ["anonymous-publish", "workflow/continue-after-claim", "workflow/secret-handling"];
|
|
453
|
-
readonly instructions: readonly ["
|
|
454
|
-
readonly verification: readonly ["Confirm the space
|
|
453
|
+
readonly instructions: readonly ["Point the user to the claim action in the publish card and state its expiry. Never copy the claim credential into model text.", "When account credentials are available, use one bounded `execute` program. Search and describe the claim operation before calling it.", "Pass only the required team ID and expected space ID.", "After the claim resumes, read the space in the same program. Return its owner and claim state.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Otherwise, ask the user to use the claim action in the publish card.", "After a browser claim, call `publish` again from On-Device. It exchanges the locally held credential without exposing it.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
454
|
+
readonly verification: readonly ["Confirm that the space has no claim expiry. Confirm that it belongs to the intended account or team.", "Confirm that the republish uses durable access without a raw credential."];
|
|
455
455
|
readonly prompt: true;
|
|
456
456
|
} | {
|
|
457
457
|
readonly name: "rollback-safely";
|
|
@@ -460,10 +460,10 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
460
460
|
readonly whenToUse: "Use when the current live version is broken and a prior healthy version is known or discoverable.";
|
|
461
461
|
readonly keywords: readonly ["rollback", "revert", "version", "incident", "restore"];
|
|
462
462
|
readonly runtimes: readonly ["local", "hosted"];
|
|
463
|
-
readonly tools: readonly ["
|
|
463
|
+
readonly tools: readonly ["show_space_deployments", "execute", "resume_execution"];
|
|
464
464
|
readonly docs: readonly ["versions-and-rollback"];
|
|
465
|
-
readonly instructions: readonly ["
|
|
466
|
-
readonly verification: readonly ["Call `
|
|
465
|
+
readonly instructions: readonly ["Call `show_space_deployments`. Select a known-good ready version that is older than the current version.", "Use one bounded `execute` program. Search and describe the version promotion operation before calling it.", "Read the live pointer, promote the selected version, then read the pointer again in the same program.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program."];
|
|
466
|
+
readonly verification: readonly ["Call `show_space_deployments`. Confirm that the selected version is current and ready.", "Open the live URL. Verify that the failing path or behavior works again."];
|
|
467
467
|
readonly prompt: true;
|
|
468
468
|
} | {
|
|
469
469
|
readonly name: "set-up-custom-domain";
|
|
@@ -472,10 +472,10 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
472
472
|
readonly whenToUse: "Use when the user owns a domain they want a Spacefast space to serve.";
|
|
473
473
|
readonly keywords: readonly ["domain", "dns", "tls", "https", "cname", "custom"];
|
|
474
474
|
readonly runtimes: readonly ["local", "hosted"];
|
|
475
|
-
readonly tools: readonly ["execute"];
|
|
475
|
+
readonly tools: readonly ["show_space_domains", "execute", "resume_execution"];
|
|
476
476
|
readonly docs: readonly ["custom-domains", "recipes/migrate-dns"];
|
|
477
|
-
readonly instructions: readonly ["
|
|
478
|
-
readonly verification: readonly ["
|
|
477
|
+
readonly instructions: readonly ["Call `show_space_domains`. Read the current domain, DNS, and certificate state.", "If setup is required, use one bounded `execute` program. Search and describe the add or assign operation before calling it.", "Read the domain again in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Return the exact DNS records from Spacefast. Do not claim that Spacefast changed third-party DNS.", "Keep the existing production hostname until the custom domain is ready."];
|
|
478
|
+
readonly verification: readonly ["After the external DNS change, call `show_space_domains`. Report the current verification state.", "Open the HTTPS URL only after DNS and certificate states are ready. Verify representative content."];
|
|
479
479
|
readonly prompt: true;
|
|
480
480
|
readonly recipe: {
|
|
481
481
|
readonly slug: "recipes/custom-domain";
|
|
@@ -489,10 +489,10 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
489
489
|
readonly whenToUse: "Use for moved pages, canonical host paths, and intentional permanent or temporary redirects.";
|
|
490
490
|
readonly keywords: readonly ["redirect", "rewrite", "routing", "301", "302", "path"];
|
|
491
491
|
readonly runtimes: readonly ["local", "hosted"];
|
|
492
|
-
readonly tools: readonly ["publish", "
|
|
492
|
+
readonly tools: readonly ["publish", "operation_status", "show_space_deployments"];
|
|
493
493
|
readonly docs: readonly ["redirects"];
|
|
494
|
-
readonly instructions: readonly ["Inspect existing routing rules, then add the smallest non-conflicting rules to `_redirects` at the publish root.", "Choose temporary or permanent status deliberately
|
|
495
|
-
readonly verification: readonly ["Request representative old and new paths and confirm the exact status and Location header.", "Verify the final target serves successfully and unrelated assets are not redirected."];
|
|
494
|
+
readonly instructions: readonly ["Inspect existing routing rules, then add the smallest non-conflicting rules to `_redirects` at the publish root.", "Choose a temporary or permanent status deliberately. Preserve required path and query behavior.", "Avoid redirect loops and rules that hide real assets.", "Call `publish` once. Include the redirect file and related content in the same immutable version.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
495
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the new version is current and ready.", "Request representative old and new paths and confirm the exact status and Location header.", "Verify the final target serves successfully and unrelated assets are not redirected."];
|
|
496
496
|
readonly recipe: {
|
|
497
497
|
readonly slug: "recipes/redirects";
|
|
498
498
|
readonly tier: "reference";
|
|
@@ -505,10 +505,10 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
505
505
|
readonly whenToUse: "Use when an existing production domain must move to Spacefast.";
|
|
506
506
|
readonly keywords: readonly ["dns", "migrate", "cutover", "domain", "downtime", "certificate"];
|
|
507
507
|
readonly runtimes: readonly ["local", "hosted"];
|
|
508
|
-
readonly tools: readonly ["execute"];
|
|
508
|
+
readonly tools: readonly ["show_space_domains", "execute", "resume_execution"];
|
|
509
509
|
readonly docs: readonly ["custom-domains"];
|
|
510
|
-
readonly instructions: readonly ["Inventory the current authoritative DNS records
|
|
511
|
-
readonly verification: readonly ["
|
|
510
|
+
readonly instructions: readonly ["Inventory the current authoritative DNS records. Lower the TTL before cutover when the provider and timing permit it.", "Call `show_space_domains`. Read the current DNS and certificate state.", "If setup is required, use one bounded `execute` program. Search and describe the add or assign operation before calling it.", "Read the domain again in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Create the returned DNS records at the provider. Keep the previous origin available during propagation.", "Cut over only after the expected content and TLS state are ready."];
|
|
511
|
+
readonly verification: readonly ["Call `show_space_domains`. Confirm that DNS and certificate states are ready.", "Check more than one resolver. Confirm that the certificate matches the final hostname.", "Open the public HTTPS URL. Verify representative content before removing rollback records."];
|
|
512
512
|
readonly recipe: {
|
|
513
513
|
readonly slug: "recipes/migrate-dns";
|
|
514
514
|
readonly tier: "reference";
|
|
@@ -521,10 +521,10 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
521
521
|
readonly whenToUse: "Use when a build, finalize, activation, or live serving step fails or stalls.";
|
|
522
522
|
readonly keywords: readonly ["debug", "failed", "build", "logs", "diagnose", "stalled"];
|
|
523
523
|
readonly runtimes: readonly ["local", "hosted"];
|
|
524
|
-
readonly tools: readonly ["execute"];
|
|
524
|
+
readonly tools: readonly ["show_space_deployments", "execute", "publish", "operation_status"];
|
|
525
525
|
readonly docs: readonly ["troubleshooting"];
|
|
526
|
-
readonly instructions: readonly ["
|
|
527
|
-
readonly verification: readonly ["
|
|
526
|
+
readonly instructions: readonly ["Call `show_space_deployments`. Read the failed version, build state, stable error code, and diagnostics.", "If more detail is required, use one bounded `execute` program. Read only the required build logs or version data.", "Apply the smallest fix supported by the evidence. Run the real build.", "Call `publish` once with the fixed output.", "If `publish.result.status` is `publishing`, call `operation_status` with `publish.result.job.poll.operationId`.", "Call `operation_status` again only while `operation_status.result.done` is false.", "Continue only when `operation_status.result.status` is `succeeded`.", "Report `failed` or `canceled` and stop."];
|
|
527
|
+
readonly verification: readonly ["Call `show_space_deployments` with `space: publish.result.receipt.space.id`. Confirm that the new version is current and ready.", "Open the affected live path. Verify that the concrete failure does not occur."];
|
|
528
528
|
readonly prompt: true;
|
|
529
529
|
} | {
|
|
530
530
|
readonly name: "manage-access";
|
|
@@ -533,10 +533,10 @@ export declare const SPACEFAST_RECIPE_SKILLS: (({
|
|
|
533
533
|
readonly whenToUse: "Use when a space or path must be made public, team-only, or shared with specific people or machines.";
|
|
534
534
|
readonly keywords: readonly ["access", "private", "public", "people", "links", "grant", "share"];
|
|
535
535
|
readonly runtimes: readonly ["local", "hosted"];
|
|
536
|
-
readonly tools: readonly ["execute", "
|
|
536
|
+
readonly tools: readonly ["execute", "resume_execution"];
|
|
537
537
|
readonly docs: readonly ["access-control"];
|
|
538
|
-
readonly instructions: readonly ["
|
|
539
|
-
readonly verification: readonly ["
|
|
538
|
+
readonly instructions: readonly ["Use one bounded `execute` program. Search and describe the access operations before calling them.", "Read current access. Apply the narrowest change for one explicit access intent. Read the resulting access state.", "Run the matching access check in the same program after the mutation resumes.", "If `execute` pauses, follow its `resumePrompt`. Then call `resume_execution` with the returned `executionId`.", "Do not start another `execute` program.", "Show new Link or machine secrets only to the requesting user. Never store them in logs or committed files."];
|
|
539
|
+
readonly verification: readonly ["Confirm that the access check permits the intended actor and path.", "Test a new Link in the intended signed-out context. Confirm that unrelated resources stay inaccessible."];
|
|
540
540
|
readonly prompt: true;
|
|
541
541
|
}) & {
|
|
542
542
|
recipe: NonNullable<SpacefastSkillDefinition["recipe"]>;
|