@wtfalch/edge 0.8.0 → 0.9.0
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/client.d.ts +17 -1
- package/dist/client.js +16 -0
- package/dist/types.d.ts +49 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ClientOptions } from './transport.js';
|
|
2
|
-
import type { AdoptAccessAppsRequest, AdoptAccessAppsResponse, AdoptRateLimitRulesRequest, AdoptRateLimitRulesResponse, AdoptRecordsRequest, AdoptRecordsResponse, AdoptTunnelsRequest, AdoptTunnelsResponse, AdoptWorkersRequest, AdoptWorkersResponse, AvailableResponse, ClaimNameRequest, CreatePlatformAccessAppRequest, CreatePlatformAccessPolicyRequest, CreatePlatformRateLimitRuleRequest, CreatePlatformRecordRequest, CreatePlatformTunnelRequest, CreatePlatformWorkerRouteRequest, FindServiceTokenResponse, ListClaimsResponse, ListPlatformAccessAppsRequest, ListPlatformAccessAppsResponse, ListPlatformAccessPoliciesResponse, ListPlatformRateLimitRulesRequest, ListPlatformRateLimitRulesResponse, ListPlatformRecordsRequest, ListPlatformRecordsResponse, ListPlatformTunnelsResponse, ListPlatformWorkerRoutesRequest, ListPlatformWorkerRoutesResponse, ListPlatformWorkerScriptsResponse, ListRecordsResponse, MintKeyRequest, MintKeyResponse, NameClaim, OrgSettingsRequest, PlatformAccessAppView, PlatformAccessPolicyView, PlatformRateLimitRuleView, PlatformRecordView, PlatformTunnelView, PlatformWorkerRouteView, PlatformWorkerScriptView, PutPlatformTunnelConfigRequest, RecordInput, RecordPatch, RecordView, TokenResponse, UpdatePlatformRecordRequest, UploadPlatformWorkerScriptRequest } from './types.js';
|
|
2
|
+
import type { AdoptAccessAppsRequest, AdoptAccessAppsResponse, AdoptRateLimitRulesRequest, AdoptRateLimitRulesResponse, AdoptRecordsRequest, AdoptRecordsResponse, AdoptTunnelsRequest, AdoptTunnelsResponse, AdoptWorkersRequest, AdoptWorkersResponse, AdoptZonesRequest, AdoptZonesResponse, AvailableResponse, ClaimNameRequest, CreatePlatformAccessAppRequest, CreatePlatformAccessPolicyRequest, CreatePlatformRateLimitRuleRequest, CreatePlatformRecordRequest, CreatePlatformTunnelRequest, CreatePlatformWorkerRouteRequest, CreatePlatformZoneRequest, FindServiceTokenResponse, ListClaimsResponse, ListPlatformAccessAppsRequest, ListPlatformAccessAppsResponse, ListPlatformAccessPoliciesResponse, ListPlatformRateLimitRulesRequest, ListPlatformRateLimitRulesResponse, ListPlatformRecordsRequest, ListPlatformRecordsResponse, ListPlatformTunnelsResponse, ListPlatformWorkerRoutesRequest, ListPlatformWorkerRoutesResponse, ListPlatformWorkerScriptsResponse, ListPlatformZonesRequest, ListPlatformZonesResponse, ListRecordsResponse, MintKeyRequest, MintKeyResponse, NameClaim, OrgSettingsRequest, PlatformAccessAppView, PlatformAccessPolicyView, PlatformRateLimitRuleView, PlatformRecordView, PlatformTunnelView, PlatformWorkerRouteView, PlatformWorkerScriptView, PlatformZoneView, PutPlatformTunnelConfigRequest, RecordInput, RecordPatch, RecordView, TokenResponse, UpdatePlatformRecordRequest, UploadPlatformWorkerScriptRequest } from './types.js';
|
|
3
3
|
export { EdgeApiError, type ClientOptions } from './transport.js';
|
|
4
4
|
/** Called with an entry's key: the key carries its organisation and domain, so
|
|
5
5
|
* no call names either. `setReservedLabels`, `mintKey` and `revokeKey` are
|
|
@@ -104,6 +104,22 @@ export declare function createEdgeClient(options: ClientOptions): {
|
|
|
104
104
|
* Cloudflare, and anything nobody names is left alone. */
|
|
105
105
|
adopt: (input: AdoptRateLimitRulesRequest) => Promise<AdoptRateLimitRulesResponse>;
|
|
106
106
|
};
|
|
107
|
+
/** Cloudflare zones the platform made or adopted. A zone is the root of a
|
|
108
|
+
* company's domain, so there is no delete. A zone's `id` is Cloudflare's zone id. */
|
|
109
|
+
zones: {
|
|
110
|
+
/** The live zone with exactly this name (none: an empty list), with its owner (`null`: no row). */
|
|
111
|
+
list: (filter: ListPlatformZonesRequest) => Promise<ListPlatformZonesResponse>;
|
|
112
|
+
/** Creates the zone, or returns the one edge already made for that name
|
|
113
|
+
* (201 when new, 200 after); `nameServers` are what the registrar must
|
|
114
|
+
* delegate to. Rejects with `conflict` when a zone of that name already
|
|
115
|
+
* exists at Cloudflare that nobody adopted (adopt it instead, reason
|
|
116
|
+
* `exists`) or another create of it is in progress (reason `busy`), and
|
|
117
|
+
* with `conflict` (reason `upstream_rejected`) when Cloudflare refuses
|
|
118
|
+
* the zone for good. */
|
|
119
|
+
create: (input: CreatePlatformZoneRequest) => Promise<PlatformZoneView>;
|
|
120
|
+
/** Writes platform rows for the zones named. Nothing is changed at Cloudflare. */
|
|
121
|
+
adopt: (input: AdoptZonesRequest) => Promise<AdoptZonesResponse>;
|
|
122
|
+
};
|
|
107
123
|
/** Cloudflare Workers scripts and routes the platform owns. A script's
|
|
108
124
|
* `id` is its name; a route's `id` is Cloudflare's route id. */
|
|
109
125
|
workers: {
|
package/dist/client.js
CHANGED
|
@@ -107,6 +107,22 @@ export function createEdgeClient(options) {
|
|
|
107
107
|
* Cloudflare, and anything nobody names is left alone. */
|
|
108
108
|
adopt: (input) => call('POST', '/v1/platform/ratelimits/adopt', input),
|
|
109
109
|
},
|
|
110
|
+
/** Cloudflare zones the platform made or adopted. A zone is the root of a
|
|
111
|
+
* company's domain, so there is no delete. A zone's `id` is Cloudflare's zone id. */
|
|
112
|
+
zones: {
|
|
113
|
+
/** The live zone with exactly this name (none: an empty list), with its owner (`null`: no row). */
|
|
114
|
+
list: (filter) => call('GET', `/v1/platform/zones?${new URLSearchParams({ name: filter.name })}`),
|
|
115
|
+
/** Creates the zone, or returns the one edge already made for that name
|
|
116
|
+
* (201 when new, 200 after); `nameServers` are what the registrar must
|
|
117
|
+
* delegate to. Rejects with `conflict` when a zone of that name already
|
|
118
|
+
* exists at Cloudflare that nobody adopted (adopt it instead, reason
|
|
119
|
+
* `exists`) or another create of it is in progress (reason `busy`), and
|
|
120
|
+
* with `conflict` (reason `upstream_rejected`) when Cloudflare refuses
|
|
121
|
+
* the zone for good. */
|
|
122
|
+
create: (input) => call('POST', '/v1/platform/zones', input),
|
|
123
|
+
/** Writes platform rows for the zones named. Nothing is changed at Cloudflare. */
|
|
124
|
+
adopt: (input) => call('POST', '/v1/platform/zones/adopt', input),
|
|
125
|
+
},
|
|
110
126
|
/** Cloudflare Workers scripts and routes the platform owns. A script's
|
|
111
127
|
* `id` is its name; a route's `id` is Cloudflare's route id. */
|
|
112
128
|
workers: {
|
package/dist/types.d.ts
CHANGED
|
@@ -567,3 +567,52 @@ export interface AdoptRateLimitRulesResponse {
|
|
|
567
567
|
/** Live rules in the named zones that no entry named. Reported, never touched. */
|
|
568
568
|
unclaimed: PlatformRateLimitRuleView[];
|
|
569
569
|
}
|
|
570
|
+
/** A Cloudflare zone seen with the platform credential. A zone is the root of a
|
|
571
|
+
* company's domain, so edge only looks it up, creates it and adopts it: there is no delete. */
|
|
572
|
+
export interface PlatformZoneView {
|
|
573
|
+
/** Cloudflare's zone id. */
|
|
574
|
+
id: string;
|
|
575
|
+
name: string;
|
|
576
|
+
/** Cloudflare's zone status, such as `pending` until the registrar delegates. */
|
|
577
|
+
status: string;
|
|
578
|
+
/** What the domain's registrar must delegate to. */
|
|
579
|
+
nameServers: string[];
|
|
580
|
+
/** Who owns it: the platform, or `null` when no row exists (a live zone
|
|
581
|
+
* nobody adopted: reported, never touched). */
|
|
582
|
+
owner: 'platform' | null;
|
|
583
|
+
/** The company the zone serves; `'platform'` when none. `null` for a zone with no row. */
|
|
584
|
+
organisationId: string | null;
|
|
585
|
+
state: 'pending' | 'active' | 'removed' | null;
|
|
586
|
+
}
|
|
587
|
+
export interface ListPlatformZonesRequest {
|
|
588
|
+
/** The zone's exact name, such as `example.com`. */
|
|
589
|
+
name: string;
|
|
590
|
+
}
|
|
591
|
+
/** Empty when no zone has that name. */
|
|
592
|
+
export interface ListPlatformZonesResponse {
|
|
593
|
+
zones: PlatformZoneView[];
|
|
594
|
+
}
|
|
595
|
+
export interface CreatePlatformZoneRequest {
|
|
596
|
+
/** The domain's apex, such as `example.com`. Lower-cased. */
|
|
597
|
+
name: string;
|
|
598
|
+
/** The company the zone serves. Omit for a zone that serves none. */
|
|
599
|
+
organisationId?: string;
|
|
600
|
+
}
|
|
601
|
+
export interface AdoptZoneEntry {
|
|
602
|
+
name: string;
|
|
603
|
+
}
|
|
604
|
+
export interface AdoptZonesRequest {
|
|
605
|
+
zones: AdoptZoneEntry[];
|
|
606
|
+
/** The company the adopted zones serve. Omit for none. */
|
|
607
|
+
organisationId?: string;
|
|
608
|
+
}
|
|
609
|
+
export interface AdoptZonesResponse {
|
|
610
|
+
adopted: PlatformZoneView[];
|
|
611
|
+
alreadyAdopted: PlatformZoneView[];
|
|
612
|
+
/** `taken`: a row for that name holds a different zone. */
|
|
613
|
+
skipped: Array<{
|
|
614
|
+
zone: PlatformZoneView;
|
|
615
|
+
reason: 'taken';
|
|
616
|
+
}>;
|
|
617
|
+
notFound: AdoptZoneEntry[];
|
|
618
|
+
}
|