@spacefast/common 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/contracts/access.d.ts +386 -1201
- package/dist/contracts/access.js +240 -1057
- package/dist/contracts/activity.d.ts +1 -1
- package/dist/contracts/activity.js +6 -14
- package/dist/contracts/api-keys.d.ts +16 -0
- package/dist/contracts/api-keys.js +2 -0
- package/dist/contracts/archives.d.ts +1 -2
- package/dist/contracts/archives.js +4 -6
- package/dist/contracts/comments.d.ts +58 -85
- package/dist/contracts/comments.js +86 -67
- package/dist/contracts/countries.js +2 -7
- package/dist/contracts/data-source-routes.d.ts +20 -0
- package/dist/contracts/data-source-routes.js +15 -0
- package/dist/contracts/device-auth.d.ts +7 -3
- package/dist/contracts/enums.d.ts +2 -4
- package/dist/contracts/enums.js +3 -8
- package/dist/contracts/error-code-meta.d.ts +17 -20
- package/dist/contracts/error-code-meta.js +8 -5
- package/dist/contracts/error-codes.d.ts +1 -1
- package/dist/contracts/error-codes.js +4 -5
- package/dist/contracts/events.d.ts +13 -13
- package/dist/contracts/execution.d.ts +212 -0
- package/dist/contracts/execution.js +288 -0
- package/dist/contracts/feature-lifecycle.d.ts +21 -167
- package/dist/contracts/feature-lifecycle.js +27 -173
- package/dist/contracts/features.d.ts +13 -115
- package/dist/contracts/features.js +1 -31
- package/dist/contracts/functions.d.ts +729 -0
- package/dist/contracts/functions.js +485 -0
- package/dist/contracts/git.d.ts +1 -1
- package/dist/contracts/grants.d.ts +1158 -0
- package/dist/contracts/grants.js +696 -0
- package/dist/contracts/ids.d.ts +5 -3
- package/dist/contracts/ids.js +5 -3
- package/dist/contracts/mcp.d.ts +6 -6
- package/dist/contracts/oauth-resources.d.ts +5 -5
- package/dist/contracts/oauth-resources.js +1 -0
- package/dist/contracts/operations.d.ts +2 -2
- package/dist/contracts/pages.d.ts +6 -14
- package/dist/contracts/pages.js +6 -23
- package/dist/contracts/plan-policy.d.ts +1 -8
- package/dist/contracts/plan-policy.js +1 -4
- package/dist/contracts/platform.d.ts +78 -30
- package/dist/contracts/platform.js +59 -12
- package/dist/contracts/push-new.d.ts +26 -2
- package/dist/contracts/push-new.js +8 -0
- package/dist/contracts/quotas.d.ts +0 -1
- package/dist/contracts/quotas.js +0 -5
- package/dist/contracts/repository-connections.d.ts +1 -1
- package/dist/contracts/resources.d.ts +10 -66
- package/dist/contracts/resources.js +4 -10
- package/dist/contracts/runtime-api.d.ts +558 -265
- package/dist/contracts/runtime-api.js +178 -91
- package/dist/contracts/runtime-app.d.ts +138 -0
- package/dist/contracts/runtime-app.js +21 -0
- package/dist/contracts/sf-config-v1.d.ts +5 -0
- package/dist/contracts/sites.d.ts +5 -0
- package/dist/contracts/sites.js +12 -1
- package/dist/contracts/space-config.d.ts +46 -116
- package/dist/contracts/space-config.js +320 -24
- package/dist/contracts/spaces.d.ts +253 -158
- package/dist/contracts/spaces.js +68 -54
- package/dist/contracts/superadmin-emails.d.ts +2 -2
- package/dist/contracts/superadmin-spaces.d.ts +15 -130
- package/dist/contracts/superadmin-spaces.js +7 -0
- package/dist/contracts/tags.d.ts +23 -23
- package/dist/contracts/teams.d.ts +9 -9
- package/dist/contracts/transfers.d.ts +0 -1
- package/dist/contracts/zero.d.ts +195 -273
- package/dist/contracts/zero.js +78 -206
- package/dist/dashboard-paths/index.d.ts +2 -2
- package/dist/dashboard-paths/index.js +1 -0
- package/dist/docs/agent-prose.js +10 -8
- package/dist/docs/agent-setup.d.ts +2 -2
- package/dist/docs/agent-setup.js +11 -9
- package/dist/docs/agent-solutions.js +1 -1
- package/dist/docs/catalog.d.ts +28 -28
- package/dist/docs/catalog.js +29 -29
- package/dist/docs/error-docs.js +23 -27
- package/dist/utils/asset-fingerprint.d.ts +11 -0
- package/dist/utils/asset-fingerprint.js +46 -0
- package/dist/utils/auth-redirect.d.ts +1 -3
- package/dist/utils/auth-redirect.js +1 -21
- package/dist/utils/build-settings.d.ts +2 -0
- package/dist/utils/build-settings.js +61 -9
- package/dist/utils/credential-policy.d.ts +1 -1
- package/dist/utils/credential-policy.js +4 -0
- package/dist/utils/egress-policy.fixtures.json +1 -1
- package/dist/utils/grants.d.ts +53 -0
- package/dist/utils/grants.js +160 -0
- package/dist/utils/local-space-state.js +1 -0
- package/dist/utils/pages.d.ts +11 -5
- package/dist/utils/pages.js +19 -32
- package/dist/utils/publish-policy.d.ts +34 -4
- package/dist/utils/publish-policy.js +132 -61
- package/dist/utils/query-keys.d.ts +1 -6
- package/dist/utils/query-keys.js +1 -6
- package/dist/utils/space-config.d.ts +5 -1
- package/dist/utils/space-config.js +35 -0
- package/dist/utils/static-runtime-policy.d.ts +5 -0
- package/dist/utils/static-runtime-policy.js +54 -10
- package/dist/utils/upload-session.d.ts +3 -0
- package/dist/utils/upload-session.js +31 -0
- package/package.json +2 -1
- package/dist/utils/access-grant.d.ts +0 -14
- package/dist/utils/access-grant.js +0 -88
- package/dist/utils/access-match.d.ts +0 -46
- package/dist/utils/access-match.fixtures.json +0 -513
- package/dist/utils/access-match.js +0 -312
- package/dist/utils/access-verdict.fixtures.json +0 -421
- package/dist/utils/sf-config-v1.d.ts +0 -2
- package/dist/utils/sf-config-v1.fixtures.json +0 -9
- package/dist/utils/sf-config-v1.js +0 -551
|
@@ -261,45 +261,6 @@ declare const featureEntries: readonly [{
|
|
|
261
261
|
readonly code: "proxy_binding_stop";
|
|
262
262
|
readonly summary: "Deny new binds; discoverable authenticated read/detach plus service reconciliation continue.";
|
|
263
263
|
};
|
|
264
|
-
}, {
|
|
265
|
-
readonly cohort: "launch";
|
|
266
|
-
readonly key: "collab.comments";
|
|
267
|
-
readonly name: "Comments";
|
|
268
|
-
readonly description: "Enables Cast-backed comments on eligible immutable version URLs.";
|
|
269
|
-
readonly stage: "ga";
|
|
270
|
-
readonly surface: true;
|
|
271
|
-
readonly defaultEnabled: true;
|
|
272
|
-
readonly runtime: {
|
|
273
|
-
readonly enabledInDevelopment: true;
|
|
274
|
-
readonly enabledForA8c: true;
|
|
275
|
-
readonly planDefaults: {};
|
|
276
|
-
};
|
|
277
|
-
readonly assignmentScopes: readonly ["user", "team", "global"];
|
|
278
|
-
readonly docs: {
|
|
279
|
-
readonly channel: "public";
|
|
280
|
-
readonly slug: "/docs/collab";
|
|
281
|
-
readonly feedbackUrl: null;
|
|
282
|
-
};
|
|
283
|
-
readonly owner: "team:collaboration";
|
|
284
|
-
readonly requires: readonly [];
|
|
285
|
-
readonly lifecycleAdoptedAt: "2026-07-12";
|
|
286
|
-
readonly reviewAfter: "2026-08-11";
|
|
287
|
-
readonly removeAfter: "2026-10-10";
|
|
288
|
-
readonly gaAt: "2026-07-23";
|
|
289
|
-
readonly allowedActorPolicies: readonly ["request_actor", "persisted_request_actor", "resource_team"];
|
|
290
|
-
readonly downRamp: {
|
|
291
|
-
readonly code: "comments_stop";
|
|
292
|
-
readonly summary: "Deny every customer comment read/write route and deferred task; internal operator export/cleanup continue.";
|
|
293
|
-
};
|
|
294
|
-
}, {
|
|
295
|
-
readonly key: "collab.anonymous_commenters";
|
|
296
|
-
readonly name: "Anonymous commenters";
|
|
297
|
-
readonly description: "Allows anyone with the link to comment when space policy allows it.";
|
|
298
|
-
readonly defaultEnabled: true;
|
|
299
|
-
readonly runtime: {
|
|
300
|
-
readonly enabledForA8c: true;
|
|
301
|
-
readonly planDefaults: {};
|
|
302
|
-
};
|
|
303
264
|
}, {
|
|
304
265
|
readonly cohort: "launch";
|
|
305
266
|
readonly key: "collab.notices";
|
|
@@ -325,36 +286,6 @@ declare const featureEntries: readonly [{
|
|
|
325
286
|
readonly code: "notices_stop";
|
|
326
287
|
readonly summary: "Stop mint/publish; service/operator revoke and cleanup continue.";
|
|
327
288
|
};
|
|
328
|
-
}, {
|
|
329
|
-
readonly cohort: "launch";
|
|
330
|
-
readonly key: "collab.published_comments";
|
|
331
|
-
readonly name: "Published host comments";
|
|
332
|
-
readonly description: "Allows the Collab overlay to mount comments on a space's live/published host, not just immutable preview URLs.";
|
|
333
|
-
readonly stage: "ga";
|
|
334
|
-
readonly surface: true;
|
|
335
|
-
readonly defaultEnabled: true;
|
|
336
|
-
readonly runtime: {
|
|
337
|
-
readonly enabledInDevelopment: true;
|
|
338
|
-
readonly enabledForA8c: true;
|
|
339
|
-
readonly planDefaults: {};
|
|
340
|
-
};
|
|
341
|
-
readonly assignmentScopes: readonly ["team", "global"];
|
|
342
|
-
readonly docs: {
|
|
343
|
-
readonly channel: "public";
|
|
344
|
-
readonly slug: "/docs/collab/published-comments";
|
|
345
|
-
readonly feedbackUrl: null;
|
|
346
|
-
};
|
|
347
|
-
readonly owner: "team:collaboration";
|
|
348
|
-
readonly requires: readonly ["collab.comments"];
|
|
349
|
-
readonly lifecycleAdoptedAt: "2026-07-12";
|
|
350
|
-
readonly reviewAfter: "2026-08-11";
|
|
351
|
-
readonly removeAfter: "2026-10-10";
|
|
352
|
-
readonly gaAt: "2026-07-23";
|
|
353
|
-
readonly allowedActorPolicies: readonly ["resource_team"];
|
|
354
|
-
readonly downRamp: {
|
|
355
|
-
readonly code: "published_comments_stop";
|
|
356
|
-
readonly summary: "Stop published-host injection; stored data remains only for operator export/cleanup.";
|
|
357
|
-
};
|
|
358
289
|
}, {
|
|
359
290
|
readonly key: "collab.drawing";
|
|
360
291
|
readonly name: "Collab drawing";
|
|
@@ -495,127 +426,50 @@ declare const featureEntries: readonly [{
|
|
|
495
426
|
};
|
|
496
427
|
}, {
|
|
497
428
|
readonly cohort: "launch";
|
|
498
|
-
readonly key: "
|
|
499
|
-
readonly name: "
|
|
500
|
-
readonly description:
|
|
501
|
-
readonly stage: "internal";
|
|
502
|
-
readonly surface: true;
|
|
503
|
-
readonly defaultEnabled: false;
|
|
504
|
-
readonly runtime: {
|
|
505
|
-
readonly enabledInDevelopment: true;
|
|
506
|
-
readonly enabledForA8c: true;
|
|
507
|
-
readonly planDefaults: {};
|
|
508
|
-
};
|
|
509
|
-
readonly assignmentScopes: readonly ["user", "team", "global"];
|
|
510
|
-
readonly docs: {
|
|
511
|
-
readonly channel: "handbook";
|
|
512
|
-
readonly slug: "/features/access/invites";
|
|
513
|
-
readonly feedbackUrl: null;
|
|
514
|
-
};
|
|
515
|
-
readonly owner: "team:access";
|
|
516
|
-
readonly requires: readonly [];
|
|
517
|
-
readonly lifecycleAdoptedAt: "2026-07-12";
|
|
518
|
-
readonly reviewAfter: "2026-08-11";
|
|
519
|
-
readonly removeAfter: "2026-10-10";
|
|
520
|
-
readonly gaAt: null;
|
|
521
|
-
readonly allowedActorPolicies: readonly ["request_actor", "persisted_request_actor"];
|
|
522
|
-
readonly downRamp: {
|
|
523
|
-
readonly code: "invites_stop";
|
|
524
|
-
readonly summary: "Deny every customer invite route and deferred delivery; internal operator cancel/revoke and service cleanup continue.";
|
|
525
|
-
};
|
|
526
|
-
}, {
|
|
527
|
-
readonly key: "access.firewall_card";
|
|
528
|
-
readonly name: "Firewall card";
|
|
529
|
-
readonly description: "Enables the managed firewall block card (country/IP/bot rules) in space access settings (access-plan §5.6).";
|
|
530
|
-
readonly defaultEnabled: true;
|
|
531
|
-
readonly runtime: {
|
|
532
|
-
readonly enabledInDevelopment: true;
|
|
533
|
-
readonly enabledForA8c: true;
|
|
534
|
-
readonly planDefaults: {};
|
|
535
|
-
};
|
|
536
|
-
}, {
|
|
537
|
-
readonly cohort: "launch";
|
|
538
|
-
readonly key: "access.sso_connections";
|
|
539
|
-
readonly name: "Company SSO connections";
|
|
540
|
-
readonly description: "Enables team-level OIDC connections minted at the authorize endpoint (access-plan §6.2, X-18).";
|
|
429
|
+
readonly key: "functions";
|
|
430
|
+
readonly name: "Spacefast Functions";
|
|
431
|
+
readonly description: string;
|
|
541
432
|
readonly stage: "internal";
|
|
542
433
|
readonly surface: true;
|
|
543
434
|
readonly defaultEnabled: false;
|
|
544
435
|
readonly runtime: {
|
|
545
|
-
readonly enabledInDevelopment: true;
|
|
546
436
|
readonly enabledForA8c: true;
|
|
547
437
|
readonly planDefaults: {};
|
|
548
438
|
};
|
|
549
|
-
readonly assignmentScopes: readonly ["
|
|
439
|
+
readonly assignmentScopes: readonly ["team", "global"];
|
|
550
440
|
readonly docs: {
|
|
551
441
|
readonly channel: "handbook";
|
|
552
|
-
readonly slug: "/features/
|
|
442
|
+
readonly slug: "/features/functions";
|
|
553
443
|
readonly feedbackUrl: null;
|
|
554
444
|
};
|
|
555
|
-
readonly owner: "team:
|
|
445
|
+
readonly owner: "team:zero";
|
|
556
446
|
readonly requires: readonly [];
|
|
557
|
-
readonly lifecycleAdoptedAt: "2026-07-
|
|
558
|
-
readonly reviewAfter: "2026-08-
|
|
559
|
-
readonly removeAfter: "2026-10-
|
|
447
|
+
readonly lifecycleAdoptedAt: "2026-07-27";
|
|
448
|
+
readonly reviewAfter: "2026-08-26";
|
|
449
|
+
readonly removeAfter: "2026-10-25";
|
|
560
450
|
readonly gaAt: null;
|
|
561
|
-
readonly allowedActorPolicies: readonly ["
|
|
451
|
+
readonly allowedActorPolicies: readonly ["resource_team"];
|
|
562
452
|
readonly downRamp: {
|
|
563
|
-
readonly code: "
|
|
564
|
-
readonly summary:
|
|
453
|
+
readonly code: "functions_stop";
|
|
454
|
+
readonly summary: string;
|
|
565
455
|
};
|
|
566
456
|
}, {
|
|
567
457
|
readonly cohort: "launch";
|
|
568
|
-
readonly key: "
|
|
569
|
-
readonly name: "
|
|
570
|
-
readonly description: "
|
|
571
|
-
readonly stage: "
|
|
458
|
+
readonly key: "spaces.slug_rename";
|
|
459
|
+
readonly name: "Space slug rename";
|
|
460
|
+
readonly description: "Renames a space and its managed hostname while retained former hostnames temporarily redirect to the current address.";
|
|
461
|
+
readonly stage: "ga";
|
|
572
462
|
readonly surface: true;
|
|
573
|
-
readonly defaultEnabled: false;
|
|
574
|
-
readonly runtime: {
|
|
575
|
-
readonly enabledInDevelopment: true;
|
|
576
|
-
readonly enabledForA8c: true;
|
|
577
|
-
readonly planDefaults: {};
|
|
578
|
-
};
|
|
579
|
-
readonly assignmentScopes: readonly ["user", "team", "global"];
|
|
580
|
-
readonly docs: {
|
|
581
|
-
readonly channel: "handbook";
|
|
582
|
-
readonly slug: "/features/access/byo-issuers";
|
|
583
|
-
readonly feedbackUrl: null;
|
|
584
|
-
};
|
|
585
|
-
readonly owner: "team:access";
|
|
586
|
-
readonly requires: readonly [];
|
|
587
|
-
readonly lifecycleAdoptedAt: "2026-07-12";
|
|
588
|
-
readonly reviewAfter: "2026-08-11";
|
|
589
|
-
readonly removeAfter: "2026-10-10";
|
|
590
|
-
readonly gaAt: null;
|
|
591
|
-
readonly allowedActorPolicies: readonly ["request_actor", "persisted_request_actor"];
|
|
592
|
-
readonly downRamp: {
|
|
593
|
-
readonly code: "byo_issuers_stop";
|
|
594
|
-
readonly summary: "Deny every customer issuer route and callback; internal operator revoke/cleanup continue.";
|
|
595
|
-
};
|
|
596
|
-
}, {
|
|
597
|
-
readonly key: "access.views_panel";
|
|
598
|
-
readonly name: "Views panel";
|
|
599
|
-
readonly description: "Enables the identified who-viewed-what panel riding the analytics tiers (access-plan §5.6b, X-28).";
|
|
600
463
|
readonly defaultEnabled: true;
|
|
601
464
|
readonly runtime: {
|
|
602
465
|
readonly enabledInDevelopment: true;
|
|
603
466
|
readonly enabledForA8c: true;
|
|
604
467
|
readonly planDefaults: {};
|
|
605
468
|
};
|
|
606
|
-
}, {
|
|
607
|
-
readonly cohort: "launch";
|
|
608
|
-
readonly key: "spaces.slug_rename";
|
|
609
|
-
readonly name: "Space slug rename";
|
|
610
|
-
readonly description: "Changes mutable space identity metadata while the stable managed hostname and hostname rows remain unchanged.";
|
|
611
|
-
readonly stage: "internal";
|
|
612
|
-
readonly surface: true;
|
|
613
|
-
readonly defaultEnabled: false;
|
|
614
|
-
readonly runtime: null;
|
|
615
469
|
readonly assignmentScopes: readonly ["user", "team", "global"];
|
|
616
470
|
readonly docs: {
|
|
617
|
-
readonly channel: "
|
|
618
|
-
readonly slug: "/
|
|
471
|
+
readonly channel: "public";
|
|
472
|
+
readonly slug: "/docs/spaces/rename";
|
|
619
473
|
readonly feedbackUrl: null;
|
|
620
474
|
};
|
|
621
475
|
readonly owner: "team:spaces";
|
|
@@ -623,11 +477,11 @@ declare const featureEntries: readonly [{
|
|
|
623
477
|
readonly lifecycleAdoptedAt: "2026-07-12";
|
|
624
478
|
readonly reviewAfter: "2026-08-11";
|
|
625
479
|
readonly removeAfter: "2026-10-10";
|
|
626
|
-
readonly gaAt:
|
|
480
|
+
readonly gaAt: "2026-07-27";
|
|
627
481
|
readonly allowedActorPolicies: readonly ["request_actor"];
|
|
628
482
|
readonly downRamp: {
|
|
629
483
|
readonly code: "slug_rename_stop";
|
|
630
|
-
readonly summary: "Deny
|
|
484
|
+
readonly summary: "Deny new slug renames while already-committed hostname redirects and runtime convergence continue.";
|
|
631
485
|
};
|
|
632
486
|
}];
|
|
633
487
|
type FeatureEntry = (typeof featureEntries)[number];
|
|
@@ -645,5 +499,5 @@ type RuntimeDefinitionRecord<K extends string> = {
|
|
|
645
499
|
readonly [Key in K]: RuntimeFeatureDefinitionShape<Key>;
|
|
646
500
|
};
|
|
647
501
|
export declare const FEATURE_RUNTIME_KEYS: readonly RuntimeFeatureKey[];
|
|
648
|
-
export declare const FEATURE_RUNTIME_DEFINITIONS: Readonly<RuntimeDefinitionRecord<"zero" | "plans.paid.available" | "anonymous.publishing" | "beta.enrollment_gate" | "domains.search" | "domains.registration" | "domains.dns_management" | "domains.wpcom_dns" | "domains.domain_connect" | "domains.proxy_bindings" | "collab.
|
|
502
|
+
export declare const FEATURE_RUNTIME_DEFINITIONS: Readonly<RuntimeDefinitionRecord<"zero" | "plans.paid.available" | "anonymous.publishing" | "beta.enrollment_gate" | "domains.search" | "domains.registration" | "domains.dns_management" | "domains.wpcom_dns" | "domains.domain_connect" | "domains.proxy_bindings" | "collab.notices" | "collab.drawing" | "sites.dedicated_runtime" | "shelf" | "tags" | "functions" | "spaces.slug_rename">>;
|
|
649
503
|
export declare const FEATURE_LIFECYCLE_BY_KEY: ReadonlyMap<LifecycleFeatureKey, FeatureRegistryEntry<LifecycleFeatureKey>>;
|
|
@@ -259,47 +259,6 @@ const featureEntries = Object.freeze([
|
|
|
259
259
|
summary: "Deny new binds; discoverable authenticated read/detach plus service reconciliation continue.",
|
|
260
260
|
},
|
|
261
261
|
},
|
|
262
|
-
{
|
|
263
|
-
cohort: "launch",
|
|
264
|
-
key: "collab.comments",
|
|
265
|
-
name: "Comments",
|
|
266
|
-
description: "Enables Cast-backed comments on eligible immutable version URLs.",
|
|
267
|
-
stage: "ga",
|
|
268
|
-
surface: true,
|
|
269
|
-
defaultEnabled: true,
|
|
270
|
-
runtime: {
|
|
271
|
-
enabledInDevelopment: true,
|
|
272
|
-
enabledForA8c: true,
|
|
273
|
-
planDefaults: {},
|
|
274
|
-
},
|
|
275
|
-
assignmentScopes: ["user", "team", "global"],
|
|
276
|
-
docs: {
|
|
277
|
-
channel: "public",
|
|
278
|
-
slug: "/docs/collab",
|
|
279
|
-
feedbackUrl: null,
|
|
280
|
-
},
|
|
281
|
-
owner: "team:collaboration",
|
|
282
|
-
requires: [],
|
|
283
|
-
lifecycleAdoptedAt: "2026-07-12",
|
|
284
|
-
reviewAfter: "2026-08-11",
|
|
285
|
-
removeAfter: "2026-10-10",
|
|
286
|
-
gaAt: "2026-07-23",
|
|
287
|
-
allowedActorPolicies: ["request_actor", "persisted_request_actor", "resource_team"],
|
|
288
|
-
downRamp: {
|
|
289
|
-
code: "comments_stop",
|
|
290
|
-
summary: "Deny every customer comment read/write route and deferred task; internal operator export/cleanup continue.",
|
|
291
|
-
},
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
key: "collab.anonymous_commenters",
|
|
295
|
-
name: "Anonymous commenters",
|
|
296
|
-
description: "Allows anyone with the link to comment when space policy allows it.",
|
|
297
|
-
defaultEnabled: true,
|
|
298
|
-
runtime: {
|
|
299
|
-
enabledForA8c: true,
|
|
300
|
-
planDefaults: {},
|
|
301
|
-
},
|
|
302
|
-
},
|
|
303
262
|
{
|
|
304
263
|
cohort: "launch",
|
|
305
264
|
key: "collab.notices",
|
|
@@ -326,37 +285,6 @@ const featureEntries = Object.freeze([
|
|
|
326
285
|
summary: "Stop mint/publish; service/operator revoke and cleanup continue.",
|
|
327
286
|
},
|
|
328
287
|
},
|
|
329
|
-
{
|
|
330
|
-
cohort: "launch",
|
|
331
|
-
key: "collab.published_comments",
|
|
332
|
-
name: "Published host comments",
|
|
333
|
-
description: "Allows the Collab overlay to mount comments on a space's live/published host, not just immutable preview URLs.",
|
|
334
|
-
stage: "ga",
|
|
335
|
-
surface: true,
|
|
336
|
-
defaultEnabled: true,
|
|
337
|
-
runtime: {
|
|
338
|
-
enabledInDevelopment: true,
|
|
339
|
-
enabledForA8c: true,
|
|
340
|
-
planDefaults: {},
|
|
341
|
-
},
|
|
342
|
-
assignmentScopes: ["team", "global"],
|
|
343
|
-
docs: {
|
|
344
|
-
channel: "public",
|
|
345
|
-
slug: "/docs/collab/published-comments",
|
|
346
|
-
feedbackUrl: null,
|
|
347
|
-
},
|
|
348
|
-
owner: "team:collaboration",
|
|
349
|
-
requires: ["collab.comments"],
|
|
350
|
-
lifecycleAdoptedAt: "2026-07-12",
|
|
351
|
-
reviewAfter: "2026-08-11",
|
|
352
|
-
removeAfter: "2026-10-10",
|
|
353
|
-
gaAt: "2026-07-23",
|
|
354
|
-
allowedActorPolicies: ["resource_team"],
|
|
355
|
-
downRamp: {
|
|
356
|
-
code: "published_comments_stop",
|
|
357
|
-
summary: "Stop published-host injection; stored data remains only for operator export/cleanup.",
|
|
358
|
-
},
|
|
359
|
-
},
|
|
360
288
|
{
|
|
361
289
|
key: "collab.drawing",
|
|
362
290
|
name: "Collab drawing",
|
|
@@ -505,132 +433,58 @@ const featureEntries = Object.freeze([
|
|
|
505
433
|
},
|
|
506
434
|
{
|
|
507
435
|
cohort: "launch",
|
|
508
|
-
key: "
|
|
509
|
-
name: "
|
|
510
|
-
description: "
|
|
436
|
+
key: "functions",
|
|
437
|
+
name: "Spacefast Functions",
|
|
438
|
+
description: "Dispatches a version's dynamic requests to the execution host. Compiling the worker at publish is not gated: " +
|
|
439
|
+
"the CLI always ships the bundle, and this flag decides whether anything runs it.",
|
|
511
440
|
stage: "internal",
|
|
512
441
|
surface: true,
|
|
513
442
|
defaultEnabled: false,
|
|
514
443
|
runtime: {
|
|
515
|
-
enabledInDevelopment: true,
|
|
516
444
|
enabledForA8c: true,
|
|
517
445
|
planDefaults: {},
|
|
518
446
|
},
|
|
519
|
-
assignmentScopes: ["
|
|
520
|
-
docs: {
|
|
521
|
-
channel: "handbook",
|
|
522
|
-
slug: "/features/access/invites",
|
|
523
|
-
feedbackUrl: null,
|
|
524
|
-
},
|
|
525
|
-
owner: "team:access",
|
|
526
|
-
requires: [],
|
|
527
|
-
lifecycleAdoptedAt: "2026-07-12",
|
|
528
|
-
reviewAfter: "2026-08-11",
|
|
529
|
-
removeAfter: "2026-10-10",
|
|
530
|
-
gaAt: null,
|
|
531
|
-
allowedActorPolicies: ["request_actor", "persisted_request_actor"],
|
|
532
|
-
downRamp: {
|
|
533
|
-
code: "invites_stop",
|
|
534
|
-
summary: "Deny every customer invite route and deferred delivery; internal operator cancel/revoke and service cleanup continue.",
|
|
535
|
-
},
|
|
536
|
-
},
|
|
537
|
-
{
|
|
538
|
-
key: "access.firewall_card",
|
|
539
|
-
name: "Firewall card",
|
|
540
|
-
description: "Enables the managed firewall block card (country/IP/bot rules) in space access settings (access-plan §5.6).",
|
|
541
|
-
defaultEnabled: true,
|
|
542
|
-
runtime: {
|
|
543
|
-
enabledInDevelopment: true,
|
|
544
|
-
enabledForA8c: true,
|
|
545
|
-
planDefaults: {},
|
|
546
|
-
},
|
|
547
|
-
},
|
|
548
|
-
{
|
|
549
|
-
cohort: "launch",
|
|
550
|
-
key: "access.sso_connections",
|
|
551
|
-
name: "Company SSO connections",
|
|
552
|
-
description: "Enables team-level OIDC connections minted at the authorize endpoint (access-plan §6.2, X-18).",
|
|
553
|
-
stage: "internal",
|
|
554
|
-
surface: true,
|
|
555
|
-
defaultEnabled: false,
|
|
556
|
-
runtime: {
|
|
557
|
-
enabledInDevelopment: true,
|
|
558
|
-
enabledForA8c: true,
|
|
559
|
-
planDefaults: {},
|
|
560
|
-
},
|
|
561
|
-
assignmentScopes: ["user", "team", "global"],
|
|
447
|
+
assignmentScopes: ["team", "global"],
|
|
562
448
|
docs: {
|
|
563
449
|
channel: "handbook",
|
|
564
|
-
slug: "/features/
|
|
450
|
+
slug: "/features/functions",
|
|
565
451
|
feedbackUrl: null,
|
|
566
452
|
},
|
|
567
|
-
owner: "team:
|
|
453
|
+
owner: "team:zero",
|
|
454
|
+
// Deliberately no `sites.dedicated_runtime` requirement, unlike Zero: a
|
|
455
|
+
// worker executes on Cloudflare rather than on the space's box, and reaches
|
|
456
|
+
// the database only through the broker. Shared placement is safe here in a
|
|
457
|
+
// way it is not for a capsule.
|
|
568
458
|
requires: [],
|
|
569
|
-
lifecycleAdoptedAt: "2026-07-
|
|
570
|
-
reviewAfter: "2026-08-
|
|
571
|
-
removeAfter: "2026-10-
|
|
459
|
+
lifecycleAdoptedAt: "2026-07-27",
|
|
460
|
+
reviewAfter: "2026-08-26",
|
|
461
|
+
removeAfter: "2026-10-25",
|
|
572
462
|
gaAt: null,
|
|
573
|
-
allowedActorPolicies: ["
|
|
463
|
+
allowedActorPolicies: ["resource_team"],
|
|
574
464
|
downRamp: {
|
|
575
|
-
code: "
|
|
576
|
-
summary: "
|
|
465
|
+
code: "functions_stop",
|
|
466
|
+
summary: "Stop emitting dispatch configuration at finalize; published bundles stay on disk as inert content and the " +
|
|
467
|
+
"version serves statically. Versions already carrying a config keep dispatching until they are replaced — " +
|
|
468
|
+
"unsetting the runtime's dispatch token is the immediate kill.",
|
|
577
469
|
},
|
|
578
470
|
},
|
|
579
471
|
{
|
|
580
472
|
cohort: "launch",
|
|
581
|
-
key: "
|
|
582
|
-
name: "
|
|
583
|
-
description: "
|
|
584
|
-
stage: "
|
|
473
|
+
key: "spaces.slug_rename",
|
|
474
|
+
name: "Space slug rename",
|
|
475
|
+
description: "Renames a space and its managed hostname while retained former hostnames temporarily redirect to the current address.",
|
|
476
|
+
stage: "ga",
|
|
585
477
|
surface: true,
|
|
586
|
-
defaultEnabled: false,
|
|
587
|
-
runtime: {
|
|
588
|
-
enabledInDevelopment: true,
|
|
589
|
-
enabledForA8c: true,
|
|
590
|
-
planDefaults: {},
|
|
591
|
-
},
|
|
592
|
-
assignmentScopes: ["user", "team", "global"],
|
|
593
|
-
docs: {
|
|
594
|
-
channel: "handbook",
|
|
595
|
-
slug: "/features/access/byo-issuers",
|
|
596
|
-
feedbackUrl: null,
|
|
597
|
-
},
|
|
598
|
-
owner: "team:access",
|
|
599
|
-
requires: [],
|
|
600
|
-
lifecycleAdoptedAt: "2026-07-12",
|
|
601
|
-
reviewAfter: "2026-08-11",
|
|
602
|
-
removeAfter: "2026-10-10",
|
|
603
|
-
gaAt: null,
|
|
604
|
-
allowedActorPolicies: ["request_actor", "persisted_request_actor"],
|
|
605
|
-
downRamp: {
|
|
606
|
-
code: "byo_issuers_stop",
|
|
607
|
-
summary: "Deny every customer issuer route and callback; internal operator revoke/cleanup continue.",
|
|
608
|
-
},
|
|
609
|
-
},
|
|
610
|
-
{
|
|
611
|
-
key: "access.views_panel",
|
|
612
|
-
name: "Views panel",
|
|
613
|
-
description: "Enables the identified who-viewed-what panel riding the analytics tiers (access-plan §5.6b, X-28).",
|
|
614
478
|
defaultEnabled: true,
|
|
615
479
|
runtime: {
|
|
616
480
|
enabledInDevelopment: true,
|
|
617
481
|
enabledForA8c: true,
|
|
618
482
|
planDefaults: {},
|
|
619
483
|
},
|
|
620
|
-
},
|
|
621
|
-
{
|
|
622
|
-
cohort: "launch",
|
|
623
|
-
key: "spaces.slug_rename",
|
|
624
|
-
name: "Space slug rename",
|
|
625
|
-
description: "Changes mutable space identity metadata while the stable managed hostname and hostname rows remain unchanged.",
|
|
626
|
-
stage: "internal",
|
|
627
|
-
surface: true,
|
|
628
|
-
defaultEnabled: false,
|
|
629
|
-
runtime: null,
|
|
630
484
|
assignmentScopes: ["user", "team", "global"],
|
|
631
485
|
docs: {
|
|
632
|
-
channel: "
|
|
633
|
-
slug: "/
|
|
486
|
+
channel: "public",
|
|
487
|
+
slug: "/docs/spaces/rename",
|
|
634
488
|
feedbackUrl: null,
|
|
635
489
|
},
|
|
636
490
|
owner: "team:spaces",
|
|
@@ -638,11 +492,11 @@ const featureEntries = Object.freeze([
|
|
|
638
492
|
lifecycleAdoptedAt: "2026-07-12",
|
|
639
493
|
reviewAfter: "2026-08-11",
|
|
640
494
|
removeAfter: "2026-10-10",
|
|
641
|
-
gaAt:
|
|
495
|
+
gaAt: "2026-07-27",
|
|
642
496
|
allowedActorPolicies: ["request_actor"],
|
|
643
497
|
downRamp: {
|
|
644
498
|
code: "slug_rename_stop",
|
|
645
|
-
summary: "Deny
|
|
499
|
+
summary: "Deny new slug renames while already-committed hostname redirects and runtime convergence continue.",
|
|
646
500
|
},
|
|
647
501
|
},
|
|
648
502
|
]);
|