@pellux/goodvibes-sdk 0.25.16 → 0.25.17
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/_internal/contracts/artifacts/operator-contract.json +1 -1
- package/dist/_internal/contracts/generated/foundation-metadata.d.ts +1 -1
- package/dist/_internal/contracts/generated/foundation-metadata.js +1 -1
- package/dist/_internal/contracts/generated/operator-contract.js +1 -1
- package/dist/_internal/platform/cloudflare/manager.d.ts +0 -1
- package/dist/_internal/platform/cloudflare/manager.d.ts.map +1 -1
- package/dist/_internal/platform/cloudflare/manager.js +7 -15
- package/dist/_internal/platform/cloudflare/types.d.ts +13 -1
- package/dist/_internal/platform/cloudflare/types.d.ts.map +1 -1
- package/dist/_internal/platform/cloudflare/utils.d.ts +7 -2
- package/dist/_internal/platform/cloudflare/utils.d.ts.map +1 -1
- package/dist/_internal/platform/cloudflare/utils.js +95 -19
- package/dist/_internal/platform/version.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Synced from packages/contracts/src/generated/foundation-metadata.ts
|
|
2
2
|
export const FOUNDATION_METADATA = {
|
|
3
3
|
"productId": "goodvibes",
|
|
4
|
-
"productVersion": "0.25.
|
|
4
|
+
"productVersion": "0.25.17",
|
|
5
5
|
"operatorMethodCount": 224,
|
|
6
6
|
"operatorEventCount": 30,
|
|
7
7
|
"peerEndpointCount": 6
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/cloudflare/manager.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAIV,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EAGvB,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/cloudflare/manager.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAIV,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EAGvB,+BAA+B,EAC/B,gCAAgC,EAChC,wBAAwB,EACxB,yBAAyB,EAMzB,gCAAgC,EAChC,iCAAiC,EAEjC,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAkBpB,qBAAa,6BAA6B;IAI5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqD;IAClF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAEZ,OAAO,EAAE,6BAA6B;IAK7D,cAAc,IAAI,OAAO,CAAC,4BAA4B,CAAC;IA0C7D,iBAAiB,CAAC,KAAK,GAAE,gCAAqC,GAAG,iCAAiC;IAkB5F,sBAAsB,CAAC,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAqEzG,QAAQ,CAAC,KAAK,GAAE,uBAA4B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAuEhF,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAuB3E,SAAS,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA0S9E,MAAM,CAAC,KAAK,GAAE,qBAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAe1E,OAAO,CAAC,KAAK,GAAE,sBAA2B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IA0BnF,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,iBAAiB;YAYX,eAAe;YAaf,oBAAoB;YAapB,wBAAwB;YAaxB,gBAAgB;YAahB,WAAW;IAOzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,yBAAyB;YAQnB,WAAW;IAazB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,SAAS;CAMlB"}
|
|
@@ -6,7 +6,7 @@ import { CLOUDFLARE_API_TOKEN_KEY, CLOUDFLARE_WORKER_CLIENT_TOKEN_KEY, CLOUDFLAR
|
|
|
6
6
|
import { discoverZones, resolveZone, selectDiscoveredZone, tryDiscover, } from './discovery.js';
|
|
7
7
|
import { configureDns, configureWorkerSubdomain, ensureAccess, ensureKvNamespace, ensureQueue, ensureQueueConsumer, ensureR2Bucket, ensureSecretsStore, ensureTunnel, findDurableObjectNamespace, uploadWorker, } from './resources.js';
|
|
8
8
|
import { CloudflareControlPlaneError } from './types.js';
|
|
9
|
-
import {
|
|
9
|
+
import { buildTokenPolicies, buildTokenRequirements, clean, collectAsync, collectSingleAccount, hostnameFromUrl, requireKvNamespaceId, requireQueueId, resolveComponents, resolvePermissionGroups, safeResponseText, stripTrailingSlash, verifyCreatedTokenPolicies, } from './utils.js';
|
|
10
10
|
export class CloudflareControlPlaneManager {
|
|
11
11
|
options;
|
|
12
12
|
createClient;
|
|
@@ -105,20 +105,16 @@ export class CloudflareControlPlaneManager {
|
|
|
105
105
|
required: components.dns,
|
|
106
106
|
});
|
|
107
107
|
}
|
|
108
|
-
const
|
|
109
|
-
const
|
|
108
|
+
const tokenApi = this.requireUserTokens(client);
|
|
109
|
+
const permissionGroups = await resolvePermissionGroups(requirements, (params) => tokenApi.permissionGroups.list(params));
|
|
110
|
+
const policies = buildTokenPolicies(accountId, zone?.id, permissionGroups);
|
|
110
111
|
const tokenName = clean(input.tokenName) || 'GoodVibes Cloudflare Operational';
|
|
111
|
-
const token = await
|
|
112
|
+
const token = await tokenApi.create({
|
|
112
113
|
name: tokenName,
|
|
113
|
-
policies
|
|
114
|
-
{
|
|
115
|
-
effect: 'allow',
|
|
116
|
-
permission_groups: permissionIds.map((id) => ({ id })),
|
|
117
|
-
resources,
|
|
118
|
-
},
|
|
119
|
-
],
|
|
114
|
+
policies,
|
|
120
115
|
...(clean(input.expiresOn) ? { expires_on: clean(input.expiresOn) } : {}),
|
|
121
116
|
});
|
|
117
|
+
await verifyCreatedTokenPolicies(token, permissionGroups, tokenApi.get ? (tokenId) => tokenApi.get(tokenId) : undefined);
|
|
122
118
|
if (!token.value) {
|
|
123
119
|
throw new CloudflareControlPlaneError('Cloudflare did not return a token value for the newly-created operational token.', 'CLOUDFLARE_TOKEN_VALUE_MISSING', 502);
|
|
124
120
|
}
|
|
@@ -634,10 +630,6 @@ export class CloudflareControlPlaneManager {
|
|
|
634
630
|
}
|
|
635
631
|
return client.user.tokens;
|
|
636
632
|
}
|
|
637
|
-
async resolvePermissionGroupIds(client, requirements) {
|
|
638
|
-
const tokenApi = this.requireUserTokens(client);
|
|
639
|
-
return await resolvePermissionGroupIds(requirements, (params) => tokenApi.permissionGroups.list(params));
|
|
640
|
-
}
|
|
641
633
|
createProvisioningContext() {
|
|
642
634
|
return {
|
|
643
635
|
readConfig: () => this.readConfig(),
|
|
@@ -192,10 +192,16 @@ export interface CloudflareTokenRequirementsInput {
|
|
|
192
192
|
export interface CloudflareTokenPermissionRequirement {
|
|
193
193
|
readonly component: CloudflareComponent | 'bootstrap';
|
|
194
194
|
readonly scope: 'account' | 'zone' | 'user';
|
|
195
|
+
readonly scopeAlternatives?: readonly string[];
|
|
195
196
|
readonly permission: string;
|
|
196
197
|
readonly alternatives?: readonly string[];
|
|
197
198
|
readonly reason: string;
|
|
198
199
|
}
|
|
200
|
+
export interface CloudflareResolvedPermissionGroup {
|
|
201
|
+
readonly id: string;
|
|
202
|
+
readonly requirement: CloudflareTokenPermissionRequirement;
|
|
203
|
+
readonly cloudflareScope: string;
|
|
204
|
+
}
|
|
199
205
|
export interface CloudflareTokenRequirementsResult {
|
|
200
206
|
readonly ok: true;
|
|
201
207
|
readonly components: Readonly<Record<CloudflareComponent, boolean>>;
|
|
@@ -356,16 +362,18 @@ export interface CloudflarePermissionGroupLike {
|
|
|
356
362
|
readonly name?: string;
|
|
357
363
|
readonly scopes?: readonly string[];
|
|
358
364
|
}
|
|
365
|
+
export type CloudflareTokenResourceMap = Record<string, string | Record<string, string>>;
|
|
359
366
|
export interface CloudflareTokenPolicyParam {
|
|
360
367
|
readonly effect: 'allow' | 'deny';
|
|
361
368
|
readonly permission_groups: readonly {
|
|
362
369
|
readonly id: string;
|
|
363
370
|
}[];
|
|
364
|
-
readonly resources:
|
|
371
|
+
readonly resources: CloudflareTokenResourceMap;
|
|
365
372
|
}
|
|
366
373
|
export interface CloudflareTokenCreateResponseLike {
|
|
367
374
|
readonly id?: string;
|
|
368
375
|
readonly name?: string;
|
|
376
|
+
readonly policies?: readonly CloudflareTokenPolicyParam[];
|
|
369
377
|
readonly value?: string;
|
|
370
378
|
}
|
|
371
379
|
export interface CloudflareTokenVerifyResponseLike {
|
|
@@ -385,6 +393,9 @@ export interface CloudflareApiClient {
|
|
|
385
393
|
readonly policies: readonly CloudflareTokenPolicyParam[];
|
|
386
394
|
readonly expires_on?: string;
|
|
387
395
|
}): Promise<CloudflareTokenCreateResponseLike>;
|
|
396
|
+
get?(tokenId: string, params: {
|
|
397
|
+
readonly account_id: string;
|
|
398
|
+
}): Promise<CloudflareTokenCreateResponseLike>;
|
|
388
399
|
verify(params: {
|
|
389
400
|
readonly account_id: string;
|
|
390
401
|
}): Promise<CloudflareTokenVerifyResponseLike>;
|
|
@@ -409,6 +420,7 @@ export interface CloudflareApiClient {
|
|
|
409
420
|
readonly policies: readonly CloudflareTokenPolicyParam[];
|
|
410
421
|
readonly expires_on?: string;
|
|
411
422
|
}): Promise<CloudflareTokenCreateResponseLike>;
|
|
423
|
+
get?(tokenId: string): Promise<CloudflareTokenCreateResponseLike>;
|
|
412
424
|
verify(): Promise<CloudflareTokenVerifyResponseLike>;
|
|
413
425
|
readonly permissionGroups: {
|
|
414
426
|
list(params?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/cloudflare/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/cloudflare/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CloudflareAccountLike, CloudflareApiClient, CloudflareComponent, CloudflareComponentSelection, CloudflareKvNamespaceLike, CloudflarePermissionGroupLike, CloudflareQueueLike, CloudflareTokenPermissionRequirement } from './types.js';
|
|
1
|
+
import type { CloudflareAccountLike, CloudflareApiClient, CloudflareComponent, CloudflareComponentSelection, CloudflareKvNamespaceLike, CloudflarePermissionGroupLike, CloudflareQueueLike, CloudflareResolvedPermissionGroup, CloudflareTokenPermissionRequirement, CloudflareTokenPolicyParam, CloudflareTokenCreateResponseLike } from './types.js';
|
|
2
2
|
export declare function resolveComponents(selection: CloudflareComponentSelection | undefined): Readonly<Record<CloudflareComponent, boolean>>;
|
|
3
3
|
export declare function buildTokenRequirements(components: Readonly<Record<CloudflareComponent, boolean>>, includeBootstrap: boolean): readonly CloudflareTokenPermissionRequirement[];
|
|
4
4
|
export declare function selectPermissionGroups(requirements: readonly CloudflareTokenPermissionRequirement[], groups: readonly CloudflarePermissionGroupLike[]): readonly string[];
|
|
@@ -6,7 +6,12 @@ export declare function resolvePermissionGroupIds(requirements: readonly Cloudfl
|
|
|
6
6
|
readonly name?: string;
|
|
7
7
|
readonly scope?: string;
|
|
8
8
|
}) => AsyncIterable<CloudflarePermissionGroupLike>): Promise<readonly string[]>;
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function resolvePermissionGroups(requirements: readonly CloudflareTokenPermissionRequirement[], listPermissionGroups: (params?: {
|
|
10
|
+
readonly name?: string;
|
|
11
|
+
readonly scope?: string;
|
|
12
|
+
}) => AsyncIterable<CloudflarePermissionGroupLike>): Promise<readonly CloudflareResolvedPermissionGroup[]>;
|
|
13
|
+
export declare function buildTokenPolicies(accountId: string, zoneId: string | undefined, groups: readonly CloudflareResolvedPermissionGroup[]): readonly CloudflareTokenPolicyParam[];
|
|
14
|
+
export declare function verifyCreatedTokenPolicies(token: CloudflareTokenCreateResponseLike, expectedGroups: readonly CloudflareResolvedPermissionGroup[], loadToken?: (tokenId: string) => Promise<CloudflareTokenCreateResponseLike>): Promise<void>;
|
|
10
15
|
export declare function collectSingleAccount(client: CloudflareApiClient, accountId: string, warnings: string[]): Promise<readonly CloudflareAccountLike[]>;
|
|
11
16
|
export declare function collectAsync<T>(iterable: AsyncIterable<T>, limit?: number): Promise<readonly T[]>;
|
|
12
17
|
export declare function clean(value: string | undefined): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/cloudflare/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,EAC7B,mBAAmB,EACnB,oCAAoC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/cloudflare/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,EAC5B,yBAAyB,EACzB,6BAA6B,EAC7B,mBAAmB,EACnB,iCAAiC,EACjC,oCAAoC,EACpC,0BAA0B,EAE1B,iCAAiC,EAClC,MAAM,YAAY,CAAC;AAGpB,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,4BAA4B,GAAG,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAKrI;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,EAC1D,gBAAgB,EAAE,OAAO,GACxB,SAAS,oCAAoC,EAAE,CAkHjD;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,SAAS,oCAAoC,EAAE,EAC7D,MAAM,EAAE,SAAS,6BAA6B,EAAE,GAC/C,SAAS,MAAM,EAAE,CAmBnB;AAED,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,SAAS,oCAAoC,EAAE,EAC7D,oBAAoB,EAAE,CAAC,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,aAAa,CAAC,6BAA6B,CAAC,GACnI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAE5B;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,SAAS,oCAAoC,EAAE,EAC7D,oBAAoB,EAAE,CAAC,MAAM,CAAC,EAAE;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,aAAa,CAAC,6BAA6B,CAAC,GACnI,OAAO,CAAC,SAAS,iCAAiC,EAAE,CAAC,CA4DvD;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,SAAS,iCAAiC,EAAE,GACnD,SAAS,0BAA0B,EAAE,CAmBvC;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,iCAAiC,EACxC,cAAc,EAAE,SAAS,iCAAiC,EAAE,EAC5D,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iCAAiC,CAAC,GAC1E,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAW3C;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAOpG;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,yBAAyB,GAAG,MAAM,CAGjF;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1E"}
|
|
@@ -106,6 +106,7 @@ export function buildTokenRequirements(components, includeBootstrap) {
|
|
|
106
106
|
requirements.push({
|
|
107
107
|
component: 'r2',
|
|
108
108
|
scope: 'account',
|
|
109
|
+
scopeAlternatives: ['com.cloudflare.edge.r2.bucket'],
|
|
109
110
|
permission: 'Workers R2 Storage Write',
|
|
110
111
|
alternatives: ['R2 Storage Write', 'Workers R2 Storage Edit'],
|
|
111
112
|
reason: 'Create and bind a Standard R2 bucket for optional GoodVibes artifacts.',
|
|
@@ -131,7 +132,10 @@ export function selectPermissionGroups(requirements, groups) {
|
|
|
131
132
|
return Array.from(new Set(ids));
|
|
132
133
|
}
|
|
133
134
|
export async function resolvePermissionGroupIds(requirements, listPermissionGroups) {
|
|
134
|
-
|
|
135
|
+
return (await resolvePermissionGroups(requirements, listPermissionGroups)).map((entry) => entry.id);
|
|
136
|
+
}
|
|
137
|
+
export async function resolvePermissionGroups(requirements, listPermissionGroups) {
|
|
138
|
+
const resolved = [];
|
|
135
139
|
const missing = [];
|
|
136
140
|
let scannedGroups = null;
|
|
137
141
|
let lastError;
|
|
@@ -142,15 +146,19 @@ export async function resolvePermissionGroupIds(requirements, listPermissionGrou
|
|
|
142
146
|
return scannedGroups;
|
|
143
147
|
};
|
|
144
148
|
for (const requirement of requirements) {
|
|
145
|
-
const
|
|
149
|
+
const scopes = cloudflareScopesForRequirement(requirement);
|
|
146
150
|
const names = permissionNameCandidates(requirement);
|
|
147
151
|
let group;
|
|
148
152
|
for (const name of names) {
|
|
153
|
+
if (group)
|
|
154
|
+
break;
|
|
149
155
|
try {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
156
|
+
for (const scope of scopes) {
|
|
157
|
+
const exactMatches = await collectAsync(listPermissionGroups({ name, scope }), 50);
|
|
158
|
+
group = findPermissionGroup(requirement, exactMatches);
|
|
159
|
+
if (group)
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
154
162
|
}
|
|
155
163
|
catch (error) {
|
|
156
164
|
lastError = error;
|
|
@@ -166,7 +174,11 @@ export async function resolvePermissionGroupIds(requirements, listPermissionGrou
|
|
|
166
174
|
}
|
|
167
175
|
}
|
|
168
176
|
if (group?.id) {
|
|
169
|
-
|
|
177
|
+
resolved.push({
|
|
178
|
+
id: group.id,
|
|
179
|
+
requirement,
|
|
180
|
+
cloudflareScope: cloudflareScopeForResolvedGroup(requirement, group),
|
|
181
|
+
});
|
|
170
182
|
}
|
|
171
183
|
else {
|
|
172
184
|
missing.push(`${requirement.permission} (${requirement.component})`);
|
|
@@ -176,16 +188,44 @@ export async function resolvePermissionGroupIds(requirements, listPermissionGrou
|
|
|
176
188
|
const suffix = lastError ? ` Last Cloudflare permission-group error: ${summarizeError(lastError)}` : '';
|
|
177
189
|
throw new CloudflareControlPlaneError(`Could not resolve Cloudflare permission groups for: ${missing.join(', ')}.${suffix} Use /api/cloudflare/token/requirements to show the exact required token shape and create the operational token manually if this Cloudflare account uses different permission names.`, 'CLOUDFLARE_PERMISSION_GROUPS_MISSING', 400);
|
|
178
190
|
}
|
|
179
|
-
return
|
|
191
|
+
return uniqueResolvedPermissionGroups(resolved);
|
|
180
192
|
}
|
|
181
|
-
export function
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
193
|
+
export function buildTokenPolicies(accountId, zoneId, groups) {
|
|
194
|
+
const byScope = new Map();
|
|
195
|
+
for (const group of groups) {
|
|
196
|
+
const ids = byScope.get(group.cloudflareScope) ?? [];
|
|
197
|
+
ids.push(group.id);
|
|
198
|
+
byScope.set(group.cloudflareScope, ids);
|
|
199
|
+
}
|
|
200
|
+
const policies = [];
|
|
201
|
+
addTokenPolicy(policies, byScope.get('com.cloudflare.api.account'), accountTokenResources(accountId));
|
|
202
|
+
addTokenPolicy(policies, byScope.get('com.cloudflare.api.account.zone'), zoneTokenResources(accountId, zoneId));
|
|
203
|
+
addTokenPolicy(policies, byScope.get('com.cloudflare.edge.r2.bucket'), { 'com.cloudflare.edge.r2.bucket.*': '*' });
|
|
204
|
+
if ((byScope.get('com.cloudflare.api.user')?.length ?? 0) > 0) {
|
|
205
|
+
throw new CloudflareControlPlaneError('Operational Cloudflare tokens cannot include user-scoped permissions. Create the bootstrap token separately from the Cloudflare dashboard.', 'CLOUDFLARE_USER_POLICY_UNSUPPORTED', 400);
|
|
206
|
+
}
|
|
207
|
+
return policies;
|
|
208
|
+
}
|
|
209
|
+
export async function verifyCreatedTokenPolicies(token, expectedGroups, loadToken) {
|
|
210
|
+
const expectedIds = new Set(expectedGroups.map((group) => group.id));
|
|
211
|
+
let policies = token.policies;
|
|
212
|
+
if ((!policies || policies.length === 0) && token.id && loadToken) {
|
|
213
|
+
policies = (await loadToken(token.id)).policies;
|
|
214
|
+
}
|
|
215
|
+
if (!policies)
|
|
216
|
+
return;
|
|
217
|
+
const actualIds = new Set();
|
|
218
|
+
for (const policy of policies) {
|
|
219
|
+
for (const group of policy.permission_groups ?? []) {
|
|
220
|
+
if (group.id)
|
|
221
|
+
actualIds.add(group.id);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const missing = [...expectedIds].filter((id) => !actualIds.has(id));
|
|
225
|
+
if (actualIds.size === 0 || missing.length > 0) {
|
|
226
|
+
throw new CloudflareControlPlaneError(`Cloudflare created the operational token but did not persist the expected permission policy. Missing permission group ids: ${missing.join(', ') || 'all'}. ` +
|
|
227
|
+
'Delete the unusable token in Cloudflare and retry with this SDK version.', 'CLOUDFLARE_TOKEN_POLICY_MISMATCH', 502);
|
|
187
228
|
}
|
|
188
|
-
return resources;
|
|
189
229
|
}
|
|
190
230
|
export async function collectSingleAccount(client, accountId, warnings) {
|
|
191
231
|
if (!accountId) {
|
|
@@ -255,16 +295,34 @@ function uniqueRequirements(requirements) {
|
|
|
255
295
|
}
|
|
256
296
|
return unique;
|
|
257
297
|
}
|
|
298
|
+
function uniqueResolvedPermissionGroups(groups) {
|
|
299
|
+
const seen = new Set();
|
|
300
|
+
const unique = [];
|
|
301
|
+
for (const group of groups) {
|
|
302
|
+
if (seen.has(group.id))
|
|
303
|
+
continue;
|
|
304
|
+
seen.add(group.id);
|
|
305
|
+
unique.push(group);
|
|
306
|
+
}
|
|
307
|
+
return unique;
|
|
308
|
+
}
|
|
258
309
|
function findPermissionGroup(requirement, groups) {
|
|
259
310
|
const names = permissionNameCandidates(requirement).map(normalizePermissionName);
|
|
260
|
-
const
|
|
311
|
+
const scopes = cloudflareScopesForRequirement(requirement);
|
|
261
312
|
return groups.find((entry) => entry.id &&
|
|
262
313
|
entry.name &&
|
|
263
314
|
names.includes(normalizePermissionName(entry.name)) &&
|
|
264
|
-
matchesPermissionScope(entry,
|
|
315
|
+
matchesPermissionScope(entry, scopes));
|
|
316
|
+
}
|
|
317
|
+
function matchesPermissionScope(group, scopes) {
|
|
318
|
+
return !group.scopes || group.scopes.length === 0 || group.scopes.some((scope) => scopes.includes(scope));
|
|
319
|
+
}
|
|
320
|
+
function cloudflareScopeForResolvedGroup(requirement, group) {
|
|
321
|
+
const scopes = cloudflareScopesForRequirement(requirement);
|
|
322
|
+
return group.scopes?.find((scope) => scopes.includes(scope)) ?? scopes[0];
|
|
265
323
|
}
|
|
266
|
-
function
|
|
267
|
-
return
|
|
324
|
+
function cloudflareScopesForRequirement(requirement) {
|
|
325
|
+
return [cloudflareScopeForRequirement(requirement), ...(requirement.scopeAlternatives ?? [])];
|
|
268
326
|
}
|
|
269
327
|
function cloudflareScopeForRequirement(requirement) {
|
|
270
328
|
switch (requirement.scope) {
|
|
@@ -290,3 +348,21 @@ function permissionNameCandidates(requirement) {
|
|
|
290
348
|
}
|
|
291
349
|
return Array.from(names);
|
|
292
350
|
}
|
|
351
|
+
function accountTokenResources(accountId) {
|
|
352
|
+
return { [`com.cloudflare.api.account.${accountId}`]: '*' };
|
|
353
|
+
}
|
|
354
|
+
function zoneTokenResources(accountId, zoneId) {
|
|
355
|
+
return zoneId
|
|
356
|
+
? { [`com.cloudflare.api.account.zone.${zoneId}`]: '*' }
|
|
357
|
+
: { [`com.cloudflare.api.account.${accountId}`]: { 'com.cloudflare.api.account.zone.*': '*' } };
|
|
358
|
+
}
|
|
359
|
+
function addTokenPolicy(policies, ids, resources) {
|
|
360
|
+
const uniqueIds = Array.from(new Set(ids ?? []));
|
|
361
|
+
if (uniqueIds.length === 0)
|
|
362
|
+
return;
|
|
363
|
+
policies.push({
|
|
364
|
+
effect: 'allow',
|
|
365
|
+
permission_groups: uniqueIds.map((id) => ({ id })),
|
|
366
|
+
resources,
|
|
367
|
+
});
|
|
368
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.25.
|
|
3
|
+
let version = '0.25.17';
|
|
4
4
|
try {
|
|
5
5
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
|
|
6
6
|
version = pkg.version ?? version;
|