@spacefast/common 0.2.2 → 0.4.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/marketplace-prompts.d.ts +1 -0
- package/dist/agents/marketplace-prompts.js +6 -0
- package/dist/agents/registry/core.d.ts +4 -12
- package/dist/agents/registry/core.js +7 -28
- package/dist/config/domains.d.ts +10 -8
- package/dist/config/domains.js +4 -7
- package/dist/contracts/access-core.d.ts +135 -0
- package/dist/contracts/access-core.js +242 -0
- package/dist/contracts/access-profiles.d.ts +8 -8
- package/dist/contracts/access-profiles.js +8 -8
- package/dist/contracts/access.d.ts +14 -103
- package/dist/contracts/access.js +10 -210
- package/dist/contracts/activity.d.ts +54 -55
- package/dist/contracts/activity.js +38 -9
- package/dist/contracts/api-keys.d.ts +69 -26
- package/dist/contracts/api-keys.js +29 -2
- package/dist/contracts/application-journal.d.ts +197 -4
- package/dist/contracts/application-journal.js +97 -16
- package/dist/contracts/auth.d.ts +20 -0
- package/dist/contracts/auth.js +18 -0
- package/dist/contracts/beta.d.ts +13 -0
- package/dist/contracts/beta.js +28 -0
- package/dist/contracts/billing.d.ts +2 -2
- package/dist/contracts/bootstrap.d.ts +23 -6
- package/dist/contracts/builds.d.ts +18 -4
- package/dist/contracts/builds.js +7 -4
- package/dist/contracts/channels.d.ts +43 -0
- package/dist/contracts/channels.js +22 -6
- package/dist/contracts/comments.d.ts +49 -0
- package/dist/contracts/comments.js +61 -2
- package/dist/contracts/commerce.d.ts +19 -13
- package/dist/contracts/connector-access.d.ts +28 -0
- package/dist/contracts/connector-access.js +31 -0
- package/dist/contracts/connectors.d.ts +2382 -0
- package/dist/contracts/connectors.js +941 -0
- package/dist/contracts/content-contract-verification.d.ts +112 -58
- package/dist/contracts/content-contract-verification.js +42 -54
- package/dist/contracts/content-model-emit.d.ts +97 -0
- package/dist/contracts/content-model-emit.js +306 -0
- package/dist/contracts/content-model-sdk.d.ts +101 -0
- package/dist/contracts/content-model-sdk.js +232 -0
- package/dist/contracts/{content-program.d.ts → content-model.d.ts} +338 -82
- package/dist/contracts/{content-program.js → content-model.js} +291 -63
- package/dist/contracts/content-platform-fixture.d.ts +380 -110
- package/dist/contracts/content-platform-fixture.js +8 -8
- package/dist/contracts/content-sync.d.ts +197 -74
- package/dist/contracts/content-sync.js +98 -37
- package/dist/contracts/content.d.ts +30 -422
- package/dist/contracts/content.js +34 -294
- package/dist/contracts/dashboard-prefs.d.ts +10 -3
- package/dist/contracts/dashboard-prefs.js +6 -3
- package/dist/contracts/data-location.d.ts +9 -0
- package/dist/contracts/data-location.js +7 -0
- package/dist/contracts/deployment-comparison.d.ts +67 -0
- package/dist/contracts/deployment-comparison.js +68 -0
- package/dist/contracts/device-auth.d.ts +55 -11
- package/dist/contracts/domains.d.ts +40 -16
- package/dist/contracts/domains.js +23 -0
- package/dist/contracts/enums.d.ts +1 -10
- package/dist/contracts/enums.js +0 -15
- package/dist/contracts/error-code-meta.d.ts +384 -20
- package/dist/contracts/error-code-meta.js +200 -5
- package/dist/contracts/error-codes.d.ts +17 -4
- package/dist/contracts/error-codes.js +108 -10
- package/dist/contracts/events.d.ts +5 -0
- package/dist/contracts/events.js +12 -3
- package/dist/contracts/execution.d.ts +5 -1
- package/dist/contracts/execution.js +4 -0
- package/dist/contracts/feature-lifecycle.d.ts +53 -20
- package/dist/contracts/feature-lifecycle.js +65 -23
- package/dist/contracts/features.d.ts +57 -31
- package/dist/contracts/features.js +0 -1
- package/dist/contracts/feedback.d.ts +124 -0
- package/dist/contracts/feedback.js +64 -0
- package/dist/contracts/fixtures/content-model-sdk-v1.generated.d.ts +129 -0
- package/dist/contracts/fixtures/content-model-sdk-v1.generated.js +48 -0
- package/dist/contracts/fixtures/content-platform-v1.json +101 -49
- package/dist/contracts/frame-session.d.ts +60 -10
- package/dist/contracts/frame-session.js +52 -12
- package/dist/contracts/functions.d.ts +28 -2
- package/dist/contracts/functions.js +25 -2
- package/dist/contracts/grant-copy.d.ts +2 -0
- package/dist/contracts/grant-copy.js +2 -0
- package/dist/contracts/grants-core.d.ts +95 -0
- package/dist/contracts/grants-core.js +435 -0
- package/dist/contracts/grants.d.ts +13 -84
- package/dist/contracts/grants.js +21 -369
- package/dist/contracts/ids-core.d.ts +11 -0
- package/dist/contracts/ids-core.js +14 -0
- package/dist/contracts/ids.d.ts +7 -4
- package/dist/contracts/ids.js +12 -4
- package/dist/contracts/internal.d.ts +18 -0
- package/dist/contracts/internal.js +19 -0
- package/dist/contracts/mcp.d.ts +8 -18
- package/dist/contracts/mcp.js +2 -23
- package/dist/contracts/notifications.d.ts +4 -1
- package/dist/contracts/notifications.js +1 -0
- package/dist/contracts/oauth-resources.d.ts +46 -9
- package/dist/contracts/oauth-resources.js +50 -1
- package/dist/contracts/oauth-scope-actions.d.ts +27 -3
- package/dist/contracts/oauth-scope-actions.js +18 -8
- package/dist/contracts/operations.d.ts +1 -1
- package/dist/contracts/partner-account.d.ts +629 -0
- package/dist/contracts/partner-account.js +18 -0
- package/dist/contracts/principal-assertion.d.ts +74 -1
- package/dist/contracts/principal-assertion.js +67 -3
- package/dist/contracts/publish-archive.d.ts +22 -1
- package/dist/contracts/push-new.d.ts +3 -3
- package/dist/contracts/push-new.js +1 -1
- package/dist/contracts/quotas.js +2 -1
- package/dist/contracts/repository-connections.d.ts +10 -6
- package/dist/contracts/repository-connections.js +15 -0
- package/dist/contracts/resources.d.ts +6 -5
- package/dist/contracts/resources.js +7 -0
- package/dist/contracts/route-inventory.d.ts +74 -19
- package/dist/contracts/route-inventory.js +20 -6
- package/dist/contracts/runtime-api.d.ts +415 -4
- package/dist/contracts/runtime-api.js +60 -15
- package/dist/contracts/runtime-app.d.ts +6 -1
- package/dist/contracts/runtime-components.d.ts +646 -18
- package/dist/contracts/runtime-components.js +304 -188
- package/dist/contracts/runtime-services.d.ts +15 -0
- package/dist/contracts/runtime-services.js +25 -0
- package/dist/contracts/runtime-storage.d.ts +32 -0
- package/dist/contracts/runtime-storage.js +37 -0
- package/dist/contracts/source-workspaces.d.ts +511 -0
- package/dist/contracts/source-workspaces.js +276 -0
- package/dist/contracts/space-config-spacefast.d.ts +394 -0
- package/dist/contracts/space-config-spacefast.js +70 -0
- package/dist/contracts/space-config.d.ts +177 -90
- package/dist/contracts/space-config.js +77 -92
- package/dist/contracts/spaces.d.ts +132 -24
- package/dist/contracts/spaces.js +77 -13
- package/dist/contracts/superadmin-connectors.d.ts +371 -0
- package/dist/contracts/superadmin-connectors.js +61 -0
- package/dist/contracts/superadmin-emails.d.ts +1 -1
- package/dist/contracts/superadmin-emails.js +1 -1
- package/dist/contracts/superadmin-entities.d.ts +105 -0
- package/dist/contracts/superadmin-entities.js +64 -0
- package/dist/contracts/superadmin-runtime.d.ts +35 -116
- package/dist/contracts/superadmin-runtime.js +13 -69
- package/dist/contracts/superadmin-search.d.ts +12 -14
- package/dist/contracts/superadmin-search.js +2 -2
- package/dist/contracts/superadmin-spaces.d.ts +15 -72
- package/dist/contracts/superadmin-spaces.js +2 -7
- package/dist/contracts/superadmin-teams.d.ts +12 -0
- package/dist/contracts/superadmin-teams.js +7 -1
- package/dist/contracts/superadmin-tenants.d.ts +44 -16
- package/dist/contracts/superadmin.d.ts +2 -2
- package/dist/contracts/tags.d.ts +12 -12
- package/dist/contracts/teams.d.ts +29 -1
- package/dist/contracts/teams.js +24 -2
- package/dist/contracts/tenants.d.ts +98 -0
- package/dist/contracts/tenants.js +20 -0
- package/dist/contracts/transfers.d.ts +92 -0
- package/dist/contracts/transfers.js +37 -0
- package/dist/contracts/usage.d.ts +9 -1
- package/dist/contracts/usage.js +2 -0
- package/dist/contracts/visual-review.d.ts +448 -0
- package/dist/contracts/visual-review.js +156 -0
- package/dist/contracts/wordpress-php-toolkit.json +9 -0
- package/dist/contracts/work-mode.d.ts +24 -0
- package/dist/contracts/work-mode.js +17 -0
- package/dist/contracts/wp-cli.d.ts +66 -0
- package/dist/contracts/wp-cli.js +68 -0
- package/dist/contracts/zero-catalog.d.ts +29 -0
- package/dist/contracts/zero-catalog.js +55 -0
- package/dist/contracts/zero-platform-abilities.generated.d.ts +31 -0
- package/dist/contracts/zero-platform-abilities.generated.js +373 -0
- package/dist/contracts/zero-spacefast.d.ts +444 -0
- package/dist/contracts/zero-spacefast.js +149 -0
- package/dist/contracts/zero-types.d.ts +47 -0
- package/dist/contracts/zero-types.js +263 -0
- package/dist/contracts/zero.d.ts +781 -14
- package/dist/contracts/zero.js +204 -10
- package/dist/dashboard-paths/index.d.ts +2 -2
- package/dist/dashboard-paths/route-reservations.generated.d.ts +2 -2
- package/dist/dashboard-paths/route-reservations.generated.js +5 -0
- package/dist/docs/agent-prose.d.ts +1 -1
- package/dist/docs/agent-prose.js +15 -18
- package/dist/docs/agent-setup.d.ts +1 -1
- package/dist/docs/agent-setup.js +5 -13
- package/dist/docs/catalog.d.ts +64 -28
- package/dist/docs/catalog.js +155 -28
- package/dist/docs/error-docs.d.ts +361 -17
- package/dist/docs/error-docs.js +365 -21
- package/dist/docs/reference-urls.js +1 -1
- package/dist/docs/skills.d.ts +84 -84
- package/dist/docs/skills.js +66 -47
- package/dist/docs/start-prompts.d.ts +14 -0
- package/dist/docs/start-prompts.js +20 -0
- package/dist/utils/account-labels.d.ts +7 -0
- package/dist/utils/account-labels.js +15 -0
- package/dist/utils/auth.d.ts +1 -0
- package/dist/utils/auth.js +1 -0
- package/dist/utils/credential-policy.d.ts +22 -1
- package/dist/utils/credential-policy.js +55 -6
- package/dist/utils/local-space-state.d.ts +7 -0
- package/dist/utils/local-space-state.js +7 -0
- package/dist/utils/logger.d.ts +34 -0
- package/dist/utils/logger.js +144 -0
- package/dist/utils/page-routes.d.ts +9 -0
- package/dist/utils/page-routes.js +82 -0
- package/dist/utils/pages.d.ts +2 -0
- package/dist/utils/pages.js +7 -0
- package/dist/utils/publish-form-data.d.ts +2 -0
- package/dist/utils/publish-form-data.js +2 -0
- package/dist/utils/publish-policy-spacefast.d.ts +13 -0
- package/dist/utils/publish-policy-spacefast.js +117 -0
- package/dist/utils/publish-policy.d.ts +22 -16
- package/dist/utils/publish-policy.fixtures.json +15 -0
- package/dist/utils/publish-policy.js +62 -139
- package/dist/utils/query-client.js +9 -1
- package/dist/utils/runtime-upload.d.ts +4 -0
- package/dist/utils/runtime-upload.js +5 -0
- package/dist/utils/space-config.d.ts +2 -3
- package/dist/utils/space-config.js +1 -1
- package/dist/utils/uploaded-source.d.ts +4 -0
- package/dist/utils/uploaded-source.js +12 -0
- package/dist/visual-review.d.ts +4 -0
- package/dist/visual-review.js +208 -0
- package/dist/vocabulary.d.ts +38 -0
- package/dist/vocabulary.js +55 -0
- package/package.json +7 -2
- package/dist/agents/registry/deeplink-probes.d.ts +0 -23
- package/dist/agents/registry/deeplink-probes.js +0 -18
|
@@ -63,7 +63,6 @@ declare const InternalBuildInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
63
63
|
ref: z.ZodString;
|
|
64
64
|
commit: z.ZodOptional<z.ZodString>;
|
|
65
65
|
branch: z.ZodOptional<z.ZodString>;
|
|
66
|
-
pullRequestNumber: z.ZodOptional<z.ZodNumber>;
|
|
67
66
|
repository: z.ZodOptional<z.ZodObject<{
|
|
68
67
|
provider: z.ZodString;
|
|
69
68
|
repositoryId: z.ZodNullable<z.ZodString>;
|
|
@@ -96,7 +95,6 @@ export declare const BuildCreateInputSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
|
|
|
96
95
|
ref: z.ZodOptional<z.ZodString>;
|
|
97
96
|
commit: z.ZodOptional<z.ZodString>;
|
|
98
97
|
branch: z.ZodOptional<z.ZodString>;
|
|
99
|
-
pullRequestNumber: z.ZodOptional<z.ZodNumber>;
|
|
100
98
|
}, z.core.$strip>], "kind">;
|
|
101
99
|
declare const buildExecutionLaunchSchema: z.ZodObject<{
|
|
102
100
|
state: z.ZodEnum<{
|
|
@@ -259,7 +257,6 @@ export declare const buildCreateRequestSchema: z.ZodObject<{
|
|
|
259
257
|
ref: z.ZodOptional<z.ZodString>;
|
|
260
258
|
commit: z.ZodOptional<z.ZodString>;
|
|
261
259
|
branch: z.ZodOptional<z.ZodString>;
|
|
262
|
-
pullRequestNumber: z.ZodOptional<z.ZodNumber>;
|
|
263
260
|
}, z.core.$strip>], "kind">;
|
|
264
261
|
settings: z.ZodOptional<z.ZodObject<{
|
|
265
262
|
rootDirectory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -328,7 +325,6 @@ export declare const spaceBuildCreateRequestSchema: z.ZodDiscriminatedUnion<[z.Z
|
|
|
328
325
|
ref: z.ZodOptional<z.ZodString>;
|
|
329
326
|
commit: z.ZodOptional<z.ZodString>;
|
|
330
327
|
branch: z.ZodOptional<z.ZodString>;
|
|
331
|
-
pullRequestNumber: z.ZodOptional<z.ZodNumber>;
|
|
332
328
|
}, z.core.$strip>], "kind">;
|
|
333
329
|
settings: z.ZodOptional<z.ZodObject<{
|
|
334
330
|
rootDirectory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -408,6 +404,15 @@ export declare const buildSourceArchiveUploadSchema: z.ZodObject<{
|
|
|
408
404
|
sha256: z.ZodOptional<z.ZodString>;
|
|
409
405
|
contentType: z.ZodOptional<z.ZodString>;
|
|
410
406
|
}, z.core.$strip>>>;
|
|
407
|
+
bulk: z.ZodOptional<z.ZodObject<{
|
|
408
|
+
kind: z.ZodLiteral<"zip-cas-v1">;
|
|
409
|
+
method: z.ZodLiteral<"PUT">;
|
|
410
|
+
url: z.ZodUnion<[z.ZodString, z.ZodString]>;
|
|
411
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
412
|
+
maxCompressedBytes: z.ZodNumber;
|
|
413
|
+
maxExpandedBytes: z.ZodNumber;
|
|
414
|
+
maxBlobs: z.ZodNumber;
|
|
415
|
+
}, z.core.$strip>>;
|
|
411
416
|
links: z.ZodObject<{
|
|
412
417
|
refresh: z.ZodString;
|
|
413
418
|
resume: z.ZodOptional<z.ZodString>;
|
|
@@ -569,6 +574,15 @@ export declare const buildCreateResponseSchema: z.ZodObject<{
|
|
|
569
574
|
sha256: z.ZodOptional<z.ZodString>;
|
|
570
575
|
contentType: z.ZodOptional<z.ZodString>;
|
|
571
576
|
}, z.core.$strip>>>;
|
|
577
|
+
bulk: z.ZodOptional<z.ZodObject<{
|
|
578
|
+
kind: z.ZodLiteral<"zip-cas-v1">;
|
|
579
|
+
method: z.ZodLiteral<"PUT">;
|
|
580
|
+
url: z.ZodUnion<[z.ZodString, z.ZodString]>;
|
|
581
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
582
|
+
maxCompressedBytes: z.ZodNumber;
|
|
583
|
+
maxExpandedBytes: z.ZodNumber;
|
|
584
|
+
maxBlobs: z.ZodNumber;
|
|
585
|
+
}, z.core.$strip>>;
|
|
572
586
|
links: z.ZodObject<{
|
|
573
587
|
refresh: z.ZodString;
|
|
574
588
|
resume: z.ZodOptional<z.ZodString>;
|
package/dist/contracts/builds.js
CHANGED
|
@@ -103,7 +103,6 @@ const InternalBuildInputSchema = z
|
|
|
103
103
|
ref: z.string().describe("Branch, tag, or ref to build."),
|
|
104
104
|
commit: z.string().optional().describe("Exact commit built, once resolved."),
|
|
105
105
|
branch: z.string().optional().describe("Branch name when the ref is a commit SHA."),
|
|
106
|
-
pullRequestNumber: z.number().int().positive().optional(),
|
|
107
106
|
repository: z
|
|
108
107
|
.object({
|
|
109
108
|
provider: z.string(),
|
|
@@ -161,7 +160,6 @@ export const BuildCreateInputSchema = z
|
|
|
161
160
|
ref: z.string().optional().describe("Branch, tag, or ref to build."),
|
|
162
161
|
commit: z.string().optional().describe("Exact commit built, once resolved."),
|
|
163
162
|
branch: z.string().optional().describe("Branch name when the ref is a commit SHA."),
|
|
164
|
-
pullRequestNumber: z.number().int().positive().optional(),
|
|
165
163
|
}),
|
|
166
164
|
])
|
|
167
165
|
.describe("What a new build should run against.");
|
|
@@ -249,12 +247,17 @@ export const buildCreateRequestSchema = z
|
|
|
249
247
|
.object({
|
|
250
248
|
input: BuildCreateInputSchema,
|
|
251
249
|
settings: BuildSettingsOverrideSchema.optional().describe("Per-run settings overrides, persisted as `settingsSnapshot` after resolution."),
|
|
252
|
-
target: BuildTargetSchema.partial()
|
|
250
|
+
target: BuildTargetSchema.partial()
|
|
251
|
+
.optional()
|
|
252
|
+
.describe("Omit to use the Space's channel mapping for the repository ref. Send channel: null or preview: true to prevent automatic promotion. An empty target object also prevents promotion."),
|
|
253
253
|
diagnostics: z
|
|
254
254
|
.array(baseDiagnosticSchema)
|
|
255
255
|
.optional()
|
|
256
256
|
.describe("Diagnostics already known before the build is queued."),
|
|
257
|
-
wait: z
|
|
257
|
+
wait: z
|
|
258
|
+
.boolean()
|
|
259
|
+
.default(false)
|
|
260
|
+
.describe("Wait for the build to finish before this request returns. Agents must keep this false and poll the build status. Synchronous clients can set it to true."),
|
|
258
261
|
})
|
|
259
262
|
// Strict so a typo is a validation failure instead of a silently dropped
|
|
260
263
|
// field, and so a body that names a managed `source` can never be read as a
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
export declare const channelPromotionPolicySchema: z.ZodEnum<{
|
|
3
|
+
auto: "auto";
|
|
4
|
+
manual: "manual";
|
|
5
|
+
}>;
|
|
6
|
+
export type ChannelPromotionPolicy = z.infer<typeof channelPromotionPolicySchema>;
|
|
7
|
+
export declare const channelUpdateSchema: z.ZodObject<{
|
|
8
|
+
promotion: z.ZodEnum<{
|
|
9
|
+
auto: "auto";
|
|
10
|
+
manual: "manual";
|
|
11
|
+
}>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type ChannelUpdateInput = z.infer<typeof channelUpdateSchema>;
|
|
2
14
|
export declare const channelChangeKindSchema: z.ZodEnum<{
|
|
3
15
|
publish: "publish";
|
|
4
16
|
rollback: "rollback";
|
|
@@ -19,6 +31,10 @@ export declare const channelListItemSchema: z.ZodObject<{
|
|
|
19
31
|
currentVersionId: z.ZodNullable<z.ZodString>;
|
|
20
32
|
currentDeploymentUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
33
|
previousVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
34
|
+
promotion: z.ZodEnum<{
|
|
35
|
+
auto: "auto";
|
|
36
|
+
manual: "manual";
|
|
37
|
+
}>;
|
|
22
38
|
updatedAt: z.ZodString;
|
|
23
39
|
lastChange: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
24
40
|
kind: z.ZodNullable<z.ZodEnum<{
|
|
@@ -37,6 +53,7 @@ export declare const channelHistoryEntrySchema: z.ZodObject<{
|
|
|
37
53
|
actorType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
38
54
|
system: "system";
|
|
39
55
|
user: "user";
|
|
56
|
+
visitor: "visitor";
|
|
40
57
|
api_key: "api_key";
|
|
41
58
|
partner_token: "partner_token";
|
|
42
59
|
oauth_client: "oauth_client";
|
|
@@ -57,6 +74,10 @@ export declare const channelListResponseSchema: z.ZodObject<{
|
|
|
57
74
|
currentVersionId: z.ZodNullable<z.ZodString>;
|
|
58
75
|
currentDeploymentUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
59
76
|
previousVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
77
|
+
promotion: z.ZodEnum<{
|
|
78
|
+
auto: "auto";
|
|
79
|
+
manual: "manual";
|
|
80
|
+
}>;
|
|
60
81
|
updatedAt: z.ZodString;
|
|
61
82
|
lastChange: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
62
83
|
kind: z.ZodNullable<z.ZodEnum<{
|
|
@@ -68,6 +89,27 @@ export declare const channelListResponseSchema: z.ZodObject<{
|
|
|
68
89
|
}, z.core.$strip>>>;
|
|
69
90
|
}, z.core.$strip>>;
|
|
70
91
|
}, z.core.$strip>;
|
|
92
|
+
export declare const channelUpdateResponseSchema: z.ZodObject<{
|
|
93
|
+
data: z.ZodObject<{
|
|
94
|
+
name: z.ZodString;
|
|
95
|
+
currentVersionId: z.ZodNullable<z.ZodString>;
|
|
96
|
+
currentDeploymentUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
97
|
+
previousVersionId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
98
|
+
promotion: z.ZodEnum<{
|
|
99
|
+
auto: "auto";
|
|
100
|
+
manual: "manual";
|
|
101
|
+
}>;
|
|
102
|
+
updatedAt: z.ZodString;
|
|
103
|
+
lastChange: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
104
|
+
kind: z.ZodNullable<z.ZodEnum<{
|
|
105
|
+
publish: "publish";
|
|
106
|
+
rollback: "rollback";
|
|
107
|
+
promote: "promote";
|
|
108
|
+
}>>;
|
|
109
|
+
at: z.ZodString;
|
|
110
|
+
}, z.core.$strip>>>;
|
|
111
|
+
}, z.core.$strip>;
|
|
112
|
+
}, z.core.$strip>;
|
|
71
113
|
export declare const channelHistoryResponseSchema: z.ZodObject<{
|
|
72
114
|
data: z.ZodArray<z.ZodObject<{
|
|
73
115
|
versionId: z.ZodString;
|
|
@@ -76,6 +118,7 @@ export declare const channelHistoryResponseSchema: z.ZodObject<{
|
|
|
76
118
|
actorType: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
77
119
|
system: "system";
|
|
78
120
|
user: "user";
|
|
121
|
+
visitor: "visitor";
|
|
79
122
|
api_key: "api_key";
|
|
80
123
|
partner_token: "partner_token";
|
|
81
124
|
oauth_client: "oauth_client";
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
|
|
3
|
-
//
|
|
4
|
-
//
|
|
2
|
+
import { activityActorTypeSchema } from "./activity.js";
|
|
3
|
+
// Channels surface (the platform spec "Channels"): a projection over the
|
|
4
|
+
// `channels` table and the `channel.promoted` activity log. The promotion
|
|
5
|
+
// policy is the one write; pointer moves stay owned by the publish/version
|
|
6
|
+
// lifecycle.
|
|
7
|
+
// Publication policy for a channel: "auto" lets implicit paths (publish
|
|
8
|
+
// finalize, build auto-promote) move the pointer; "manual" holds every
|
|
9
|
+
// implicit promotion — only the explicit promote endpoint flips. The
|
|
10
|
+
// trigger side (what builds) lives on the repository connection.
|
|
11
|
+
export const channelPromotionPolicySchema = z.enum(["auto", "manual"]);
|
|
12
|
+
export const channelUpdateSchema = z.object({
|
|
13
|
+
promotion: channelPromotionPolicySchema.describe("Whether implicit promotion paths may move this channel's pointer."),
|
|
14
|
+
});
|
|
5
15
|
// How a channel pointer moved: a fresh publish going live, a forward promote,
|
|
6
16
|
// or a rollback to an older version. Recorded on the `channel.promoted` event
|
|
7
17
|
// at write time; null on events that predate kind recording.
|
|
@@ -30,7 +40,11 @@ export const channelListItemSchema = z.object({
|
|
|
30
40
|
.nullable()
|
|
31
41
|
.optional()
|
|
32
42
|
.describe("Last version this channel served before the current pointer (rollback target)."),
|
|
33
|
-
|
|
43
|
+
promotion: channelPromotionPolicySchema.describe("auto: publishes and green builds go live; manual: only explicit promotion moves the pointer."),
|
|
44
|
+
updatedAt: z
|
|
45
|
+
.string()
|
|
46
|
+
.datetime()
|
|
47
|
+
.describe("Instant this channel last changed: a pointer move or a promotion policy change. `lastChange.at` is the pointer-move instant alone."),
|
|
34
48
|
lastChange: channelLastChangeSchema
|
|
35
49
|
.nullable()
|
|
36
50
|
.optional()
|
|
@@ -46,8 +60,7 @@ export const channelHistoryEntrySchema = z.object({
|
|
|
46
60
|
.nullable()
|
|
47
61
|
.optional()
|
|
48
62
|
.describe("Version the channel served immediately before this promotion."),
|
|
49
|
-
actorType:
|
|
50
|
-
.enum(["user", "api_key", "partner_token", "oauth_client", "anonymous_claim", "system"])
|
|
63
|
+
actorType: activityActorTypeSchema
|
|
51
64
|
.nullable()
|
|
52
65
|
.optional()
|
|
53
66
|
.describe("Kind of actor that performed the promotion."),
|
|
@@ -61,6 +74,9 @@ export const channelHistoryEntrySchema = z.object({
|
|
|
61
74
|
export const channelListResponseSchema = z.object({
|
|
62
75
|
data: z.array(channelListItemSchema),
|
|
63
76
|
});
|
|
77
|
+
export const channelUpdateResponseSchema = z.object({
|
|
78
|
+
data: channelListItemSchema,
|
|
79
|
+
});
|
|
64
80
|
export const channelHistoryResponseSchema = z.object({
|
|
65
81
|
data: z.array(channelHistoryEntrySchema),
|
|
66
82
|
});
|
|
@@ -300,6 +300,55 @@ export declare const commentAuthorSchema: z.ZodObject<{
|
|
|
300
300
|
color: z.ZodNullable<z.ZodString>;
|
|
301
301
|
}, z.core.$strip>;
|
|
302
302
|
export declare const commentTargetSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
303
|
+
/**
|
|
304
|
+
* Where a comment's anchor was captured. Mirrors `AnchorSource` in
|
|
305
|
+
* `@spacefast/collab-sdk` — snake_case because this is the stored shape, not a
|
|
306
|
+
* platform resource.
|
|
307
|
+
*/
|
|
308
|
+
export declare const commentAnchorSourceSchema: z.ZodObject<{
|
|
309
|
+
space_id: z.ZodString;
|
|
310
|
+
version_id: z.ZodNullable<z.ZodString>;
|
|
311
|
+
canonical_path: z.ZodString;
|
|
312
|
+
url: z.ZodString;
|
|
313
|
+
}, z.core.$strip>;
|
|
314
|
+
/**
|
|
315
|
+
* A comment anchored to a file, rather than to something a page rendered.
|
|
316
|
+
*
|
|
317
|
+
* The wire `target` stays free-form: Cast stores whatever the producer sent and
|
|
318
|
+
* the API passes it through unread. THIS is what producers build and consumers
|
|
319
|
+
* parse, so "is this thread about a file, and which lines" is one answer with
|
|
320
|
+
* one shape instead of a guess per reader.
|
|
321
|
+
*
|
|
322
|
+
* Lines are inclusive and 1-based, the coordinates a diff, a stack trace and a
|
|
323
|
+
* `path:line` link already use.
|
|
324
|
+
*/
|
|
325
|
+
export declare const commentFileAnchorSchema: z.ZodObject<{
|
|
326
|
+
v: z.ZodLiteral<2>;
|
|
327
|
+
resolver_version: z.ZodNumber;
|
|
328
|
+
type: z.ZodLiteral<"file">;
|
|
329
|
+
source: z.ZodObject<{
|
|
330
|
+
space_id: z.ZodString;
|
|
331
|
+
version_id: z.ZodNullable<z.ZodString>;
|
|
332
|
+
canonical_path: z.ZodString;
|
|
333
|
+
url: z.ZodString;
|
|
334
|
+
}, z.core.$strip>;
|
|
335
|
+
file: z.ZodObject<{
|
|
336
|
+
path: z.ZodString;
|
|
337
|
+
lines: z.ZodOptional<z.ZodObject<{
|
|
338
|
+
start: z.ZodNumber;
|
|
339
|
+
end: z.ZodNumber;
|
|
340
|
+
}, z.core.$strip>>;
|
|
341
|
+
}, z.core.$strip>;
|
|
342
|
+
}, z.core.$strip>;
|
|
343
|
+
export type CommentFileAnchor = z.infer<typeof commentFileAnchorSchema>;
|
|
344
|
+
/**
|
|
345
|
+
* The file a target names, or null when it is not a file anchor.
|
|
346
|
+
*
|
|
347
|
+
* Total on purpose: every reader of `target` faces free-form JSON, and this is
|
|
348
|
+
* the one place that decides whether it is a file anchor. A malformed one is
|
|
349
|
+
* "not a file anchor", never a throw.
|
|
350
|
+
*/
|
|
351
|
+
export declare function commentFileAnchorPath(target: unknown): string | null;
|
|
303
352
|
/**
|
|
304
353
|
* How many attachments one thread or reply may carry. Mirrors Cast's
|
|
305
354
|
* `@attachment_limit`: Cast enforces it on write, this is what REST readers get.
|
|
@@ -348,6 +348,58 @@ export const commentAuthorSchema = z.object({
|
|
|
348
348
|
color: z.string().max(64).nullable(),
|
|
349
349
|
});
|
|
350
350
|
export const commentTargetSchema = z.record(z.string(), z.unknown()).nullable();
|
|
351
|
+
/**
|
|
352
|
+
* Where a comment's anchor was captured. Mirrors `AnchorSource` in
|
|
353
|
+
* `@spacefast/collab-sdk` — snake_case because this is the stored shape, not a
|
|
354
|
+
* platform resource.
|
|
355
|
+
*/
|
|
356
|
+
export const commentAnchorSourceSchema = z.object({
|
|
357
|
+
space_id: z.string().min(1),
|
|
358
|
+
version_id: z.string().min(1).nullable(),
|
|
359
|
+
canonical_path: z.string().max(COMMENT_PAGE_PATH_MAX_LENGTH),
|
|
360
|
+
url: z.string().max(2_048),
|
|
361
|
+
});
|
|
362
|
+
/**
|
|
363
|
+
* A comment anchored to a file, rather than to something a page rendered.
|
|
364
|
+
*
|
|
365
|
+
* The wire `target` stays free-form: Cast stores whatever the producer sent and
|
|
366
|
+
* the API passes it through unread. THIS is what producers build and consumers
|
|
367
|
+
* parse, so "is this thread about a file, and which lines" is one answer with
|
|
368
|
+
* one shape instead of a guess per reader.
|
|
369
|
+
*
|
|
370
|
+
* Lines are inclusive and 1-based, the coordinates a diff, a stack trace and a
|
|
371
|
+
* `path:line` link already use.
|
|
372
|
+
*/
|
|
373
|
+
export const commentFileAnchorSchema = z.object({
|
|
374
|
+
v: z.literal(2),
|
|
375
|
+
resolver_version: z.number().int().positive(),
|
|
376
|
+
type: z.literal("file"),
|
|
377
|
+
source: commentAnchorSourceSchema,
|
|
378
|
+
file: z.object({
|
|
379
|
+
path: z.string().min(1).max(COMMENT_PAGE_PATH_MAX_LENGTH),
|
|
380
|
+
lines: z
|
|
381
|
+
.object({
|
|
382
|
+
start: z.number().int().min(1),
|
|
383
|
+
end: z.number().int().min(1),
|
|
384
|
+
})
|
|
385
|
+
.refine((lines) => lines.end >= lines.start, {
|
|
386
|
+
message: "Line ranges must end at or after they start.",
|
|
387
|
+
})
|
|
388
|
+
.optional(),
|
|
389
|
+
}),
|
|
390
|
+
});
|
|
391
|
+
/**
|
|
392
|
+
* The file a target names, or null when it is not a file anchor.
|
|
393
|
+
*
|
|
394
|
+
* Total on purpose: every reader of `target` faces free-form JSON, and this is
|
|
395
|
+
* the one place that decides whether it is a file anchor. A malformed one is
|
|
396
|
+
* "not a file anchor", never a throw.
|
|
397
|
+
*/
|
|
398
|
+
// oxlint-disable-next-line anti-slop/no-unknown-parameters -- the wire target is deliberately free-form; deciding what it is is this function's whole job.
|
|
399
|
+
export function commentFileAnchorPath(target) {
|
|
400
|
+
const parsed = commentFileAnchorSchema.safeParse(target);
|
|
401
|
+
return parsed.success ? parsed.data.file.path : null;
|
|
402
|
+
}
|
|
351
403
|
/**
|
|
352
404
|
* How many attachments one thread or reply may carry. Mirrors Cast's
|
|
353
405
|
* `@attachment_limit`: Cast enforces it on write, this is what REST readers get.
|
|
@@ -454,9 +506,16 @@ export const commentListQuerySchema = cursorListQuerySchema.extend({
|
|
|
454
506
|
.describe("Return only threads that have unread comments for the caller."),
|
|
455
507
|
});
|
|
456
508
|
export const commentCreateSchema = z.object({
|
|
457
|
-
pagePath: z
|
|
509
|
+
pagePath: z
|
|
510
|
+
.string()
|
|
511
|
+
.min(1)
|
|
512
|
+
.max(COMMENT_PAGE_PATH_MAX_LENGTH)
|
|
513
|
+
.default("/")
|
|
514
|
+
.describe("Page the thread is anchored to. Ignored when `target` is a file anchor: that anchor's `file.path` is the page path, so the thread is always filed under the file it is about."),
|
|
458
515
|
body: z.string().min(1).max(16_000),
|
|
459
|
-
target: commentTargetSchema
|
|
516
|
+
target: commentTargetSchema
|
|
517
|
+
.optional()
|
|
518
|
+
.describe("Where in the page or file this thread points. Stored and returned unread, so producers and consumers agree on its shape between themselves; a file anchor is the one shape the API itself recognizes."),
|
|
460
519
|
idempotencyKey: z.string().min(1).max(320).optional(),
|
|
461
520
|
});
|
|
462
521
|
export const commentReplySchema = z.object({
|
|
@@ -32,13 +32,16 @@ export declare const PLAN_CATALOG_CAPS: {
|
|
|
32
32
|
};
|
|
33
33
|
export declare const QUOTA_ENFORCEMENT_POLICIES: readonly ["warn", "block"];
|
|
34
34
|
export declare const quotaEnforcementPolicySchema: z.ZodEnum<{
|
|
35
|
-
warn: "warn";
|
|
36
35
|
block: "block";
|
|
36
|
+
warn: "warn";
|
|
37
37
|
}>;
|
|
38
38
|
export type QuotaEnforcementPolicy = z.infer<typeof quotaEnforcementPolicySchema>;
|
|
39
39
|
export declare const planCatalogEntrySchema: z.ZodObject<{
|
|
40
40
|
features: z.ZodArray<z.ZodEnum<{
|
|
41
|
+
connectors: "connectors";
|
|
41
42
|
zero: "zero";
|
|
43
|
+
tags: "tags";
|
|
44
|
+
functions: "functions";
|
|
42
45
|
"plans.paid.available": "plans.paid.available";
|
|
43
46
|
"anonymous.publishing": "anonymous.publishing";
|
|
44
47
|
"beta.enrollment_gate": "beta.enrollment_gate";
|
|
@@ -51,11 +54,10 @@ export declare const planCatalogEntrySchema: z.ZodObject<{
|
|
|
51
54
|
"collab.notices": "collab.notices";
|
|
52
55
|
"collab.comments": "collab.comments";
|
|
53
56
|
"content.managed": "content.managed";
|
|
54
|
-
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
55
57
|
"collab.drawing": "collab.drawing";
|
|
56
|
-
|
|
57
|
-
functions: "functions";
|
|
58
|
+
"sites.jetpack": "sites.jetpack";
|
|
58
59
|
"spaces.slug_rename": "spaces.slug_rename";
|
|
60
|
+
"content.users": "content.users";
|
|
59
61
|
"pages.templates": "pages.templates";
|
|
60
62
|
"branding.hide": "branding.hide";
|
|
61
63
|
}>>;
|
|
@@ -66,14 +68,17 @@ export declare const planCatalogEntrySchema: z.ZodObject<{
|
|
|
66
68
|
customDomains: z.ZodOptional<z.ZodNumber>;
|
|
67
69
|
}, z.core.$strict>;
|
|
68
70
|
quotaPolicy: z.ZodOptional<z.ZodEnum<{
|
|
69
|
-
warn: "warn";
|
|
70
71
|
block: "block";
|
|
72
|
+
warn: "warn";
|
|
71
73
|
}>>;
|
|
72
74
|
}, z.core.$strict>;
|
|
73
75
|
export type PlanCatalogEntry = z.infer<typeof planCatalogEntrySchema>;
|
|
74
76
|
export declare const planCatalogSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
75
77
|
features: z.ZodArray<z.ZodEnum<{
|
|
78
|
+
connectors: "connectors";
|
|
76
79
|
zero: "zero";
|
|
80
|
+
tags: "tags";
|
|
81
|
+
functions: "functions";
|
|
77
82
|
"plans.paid.available": "plans.paid.available";
|
|
78
83
|
"anonymous.publishing": "anonymous.publishing";
|
|
79
84
|
"beta.enrollment_gate": "beta.enrollment_gate";
|
|
@@ -86,11 +91,10 @@ export declare const planCatalogSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
86
91
|
"collab.notices": "collab.notices";
|
|
87
92
|
"collab.comments": "collab.comments";
|
|
88
93
|
"content.managed": "content.managed";
|
|
89
|
-
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
90
94
|
"collab.drawing": "collab.drawing";
|
|
91
|
-
|
|
92
|
-
functions: "functions";
|
|
95
|
+
"sites.jetpack": "sites.jetpack";
|
|
93
96
|
"spaces.slug_rename": "spaces.slug_rename";
|
|
97
|
+
"content.users": "content.users";
|
|
94
98
|
"pages.templates": "pages.templates";
|
|
95
99
|
"branding.hide": "branding.hide";
|
|
96
100
|
}>>;
|
|
@@ -101,8 +105,8 @@ export declare const planCatalogSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
|
101
105
|
customDomains: z.ZodOptional<z.ZodNumber>;
|
|
102
106
|
}, z.core.$strict>;
|
|
103
107
|
quotaPolicy: z.ZodOptional<z.ZodEnum<{
|
|
104
|
-
warn: "warn";
|
|
105
108
|
block: "block";
|
|
109
|
+
warn: "warn";
|
|
106
110
|
}>>;
|
|
107
111
|
}, z.core.$strict>>;
|
|
108
112
|
export type PlanCatalog = z.infer<typeof planCatalogSchema>;
|
|
@@ -110,7 +114,10 @@ export declare const defaultPlanNameSchema: z.ZodString;
|
|
|
110
114
|
export declare const materializedPlanCatalogSchema: z.ZodObject<{
|
|
111
115
|
plans: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
112
116
|
features: z.ZodArray<z.ZodEnum<{
|
|
117
|
+
connectors: "connectors";
|
|
113
118
|
zero: "zero";
|
|
119
|
+
tags: "tags";
|
|
120
|
+
functions: "functions";
|
|
114
121
|
"plans.paid.available": "plans.paid.available";
|
|
115
122
|
"anonymous.publishing": "anonymous.publishing";
|
|
116
123
|
"beta.enrollment_gate": "beta.enrollment_gate";
|
|
@@ -123,11 +130,10 @@ export declare const materializedPlanCatalogSchema: z.ZodObject<{
|
|
|
123
130
|
"collab.notices": "collab.notices";
|
|
124
131
|
"collab.comments": "collab.comments";
|
|
125
132
|
"content.managed": "content.managed";
|
|
126
|
-
"sites.dedicated_runtime": "sites.dedicated_runtime";
|
|
127
133
|
"collab.drawing": "collab.drawing";
|
|
128
|
-
|
|
129
|
-
functions: "functions";
|
|
134
|
+
"sites.jetpack": "sites.jetpack";
|
|
130
135
|
"spaces.slug_rename": "spaces.slug_rename";
|
|
136
|
+
"content.users": "content.users";
|
|
131
137
|
"pages.templates": "pages.templates";
|
|
132
138
|
"branding.hide": "branding.hide";
|
|
133
139
|
}>>;
|
|
@@ -138,8 +144,8 @@ export declare const materializedPlanCatalogSchema: z.ZodObject<{
|
|
|
138
144
|
customDomains: z.ZodOptional<z.ZodNumber>;
|
|
139
145
|
}, z.core.$strict>;
|
|
140
146
|
quotaPolicy: z.ZodOptional<z.ZodEnum<{
|
|
141
|
-
warn: "warn";
|
|
142
147
|
block: "block";
|
|
148
|
+
warn: "warn";
|
|
143
149
|
}>>;
|
|
144
150
|
}, z.core.$strict>>;
|
|
145
151
|
defaultPlan: z.ZodNullable<z.ZodString>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* ACCESS narrowing for connectors, stored on the credential (api key row /
|
|
4
|
+
* auth grant). Absent (null) means the default derivation applies: a credential
|
|
5
|
+
* holding `connectors:*` scopes may use the team's shared connections plus —
|
|
6
|
+
* when a human subject is attached — that member's own personal connections.
|
|
7
|
+
*
|
|
8
|
+
* `explicit` narrows a credential to specific connections; it is how a
|
|
9
|
+
* third-party OAuth client or a narrow agent token is granted "this Linear and
|
|
10
|
+
* nothing else". Enforcement happens at credential resolution inside the
|
|
11
|
+
* connectors module, never in route handlers.
|
|
12
|
+
*/
|
|
13
|
+
export declare const ConnectorAccessScopeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
14
|
+
kind: z.ZodLiteral<"all">;
|
|
15
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
16
|
+
kind: z.ZodLiteral<"explicit">;
|
|
17
|
+
connectionIds: z.ZodArray<z.ZodString>;
|
|
18
|
+
}, z.core.$strip>], "kind">;
|
|
19
|
+
export type ConnectorAccessScope = z.infer<typeof ConnectorAccessScopeSchema>;
|
|
20
|
+
/** PATCH body fragment for credentials that can carry connector access. */
|
|
21
|
+
export declare const connectorAccessPatchSchema: z.ZodObject<{
|
|
22
|
+
connectorAccess: z.ZodOptional<z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
23
|
+
kind: z.ZodLiteral<"all">;
|
|
24
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
25
|
+
kind: z.ZodLiteral<"explicit">;
|
|
26
|
+
connectionIds: z.ZodArray<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>], "kind">>>;
|
|
28
|
+
}, z.core.$strip>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* ACCESS narrowing for connectors, stored on the credential (api key row /
|
|
4
|
+
* auth grant). Absent (null) means the default derivation applies: a credential
|
|
5
|
+
* holding `connectors:*` scopes may use the team's shared connections plus —
|
|
6
|
+
* when a human subject is attached — that member's own personal connections.
|
|
7
|
+
*
|
|
8
|
+
* `explicit` narrows a credential to specific connections; it is how a
|
|
9
|
+
* third-party OAuth client or a narrow agent token is granted "this Linear and
|
|
10
|
+
* nothing else". Enforcement happens at credential resolution inside the
|
|
11
|
+
* connectors module, never in route handlers.
|
|
12
|
+
*/
|
|
13
|
+
export const ConnectorAccessScopeSchema = z.discriminatedUnion("kind", [
|
|
14
|
+
z
|
|
15
|
+
.object({ kind: z.literal("all") })
|
|
16
|
+
.describe("Team connections plus the caller's own personal connections."),
|
|
17
|
+
z.object({
|
|
18
|
+
kind: z.literal("explicit"),
|
|
19
|
+
connectionIds: z
|
|
20
|
+
.array(z.string())
|
|
21
|
+
.min(1)
|
|
22
|
+
.max(200)
|
|
23
|
+
.describe("Connection ids (`cxn_`) this credential may use. Nothing else resolves."),
|
|
24
|
+
}),
|
|
25
|
+
]);
|
|
26
|
+
/** PATCH body fragment for credentials that can carry connector access. */
|
|
27
|
+
export const connectorAccessPatchSchema = z.object({
|
|
28
|
+
connectorAccess: ConnectorAccessScopeSchema.nullable()
|
|
29
|
+
.optional()
|
|
30
|
+
.describe("Connector ACCESS narrowing. Null restores the default derivation."),
|
|
31
|
+
});
|