@the-open-engine/zeroshot 6.28.0 → 6.29.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/README.md +3 -3
- package/cli/index.js +20 -224
- package/docker/zeroshot-cluster/Dockerfile +2 -3
- package/lib/cluster/client.cjs +30 -7
- package/lib/cluster/client.d.cts +52 -0
- package/lib/cluster/client.d.mts +52 -0
- package/lib/cluster/client.d.ts +4 -6
- package/lib/cluster/client.mjs +32 -9
- package/lib/cluster/connection-state.cjs +25 -0
- package/lib/cluster/connection-state.d.cts +13 -0
- package/lib/cluster/connection-state.d.mts +13 -0
- package/lib/cluster/connection-state.d.ts +13 -0
- package/lib/cluster/connection-state.mjs +21 -0
- package/lib/cluster/connection-types.cjs +2 -0
- package/lib/cluster/connection-types.d.cts +33 -0
- package/lib/cluster/connection-types.d.mts +33 -0
- package/lib/cluster/connection-types.d.ts +33 -0
- package/lib/cluster/connection-types.mjs +1 -0
- package/lib/cluster/connection.cjs +18 -46
- package/lib/cluster/connection.d.cts +26 -0
- package/lib/cluster/connection.d.mts +26 -0
- package/lib/cluster/connection.d.ts +7 -25
- package/lib/cluster/connection.mjs +12 -42
- package/lib/cluster/errors.cjs +9 -1
- package/lib/cluster/errors.d.cts +29 -0
- package/lib/cluster/errors.d.mts +29 -0
- package/lib/cluster/errors.d.ts +4 -0
- package/lib/cluster/errors.mjs +7 -0
- package/lib/cluster/frames.d.cts +12 -0
- package/lib/cluster/frames.d.mts +12 -0
- package/lib/cluster/generated/protocol-schema.d.cts +1 -0
- package/lib/cluster/generated/protocol-schema.d.mts +1 -0
- package/lib/cluster/generated/protocol.d.cts +781 -0
- package/lib/cluster/generated/protocol.d.mts +781 -0
- package/lib/cluster/index.cjs +2 -2
- package/lib/cluster/index.d.cts +13 -0
- package/lib/cluster/index.d.mts +13 -0
- package/lib/cluster/index.d.ts +3 -3
- package/lib/cluster/index.mjs +2 -2
- package/lib/cluster/json-source.cjs +1 -0
- package/lib/cluster/json-source.d.cts +5 -0
- package/lib/cluster/json-source.d.mts +5 -0
- package/lib/cluster/json-source.d.ts +1 -0
- package/lib/cluster/json-source.mjs +1 -0
- package/lib/cluster/payload-value.cjs +1 -0
- package/lib/cluster/payload-value.d.cts +8 -0
- package/lib/cluster/payload-value.d.mts +8 -0
- package/lib/cluster/payload-value.d.ts +1 -0
- package/lib/cluster/payload-value.mjs +1 -0
- package/lib/cluster/queue.d.cts +15 -0
- package/lib/cluster/queue.d.mts +15 -0
- package/lib/cluster/socket.cjs +8 -0
- package/lib/cluster/socket.d.cts +13 -0
- package/lib/cluster/socket.d.mts +13 -0
- package/lib/cluster/socket.d.ts +2 -0
- package/lib/cluster/socket.mjs +7 -0
- package/lib/cluster/subscriptions.d.cts +73 -0
- package/lib/cluster/subscriptions.d.mts +73 -0
- package/lib/cluster/subscriptions.d.ts +5 -1
- package/lib/cluster/validators.cjs +1 -0
- package/lib/cluster/validators.d.cts +7 -0
- package/lib/cluster/validators.d.mts +7 -0
- package/lib/cluster/validators.d.ts +1 -0
- package/lib/cluster/validators.mjs +1 -0
- package/lib/cluster-worker/engine-adapter.js +1 -11
- package/lib/cluster-worker/engine-input.js +14 -0
- package/lib/hosted-session/authority.cjs +61 -0
- package/lib/hosted-session/authority.d.cts +3 -0
- package/lib/hosted-session/authority.d.mts +3 -0
- package/lib/hosted-session/authority.d.ts +3 -0
- package/lib/hosted-session/authority.mjs +57 -0
- package/lib/hosted-session/coordinator.cjs +78 -51
- package/lib/hosted-session/coordinator.d.cts +11 -0
- package/lib/hosted-session/coordinator.d.mts +11 -0
- package/lib/hosted-session/coordinator.d.ts +4 -2
- package/lib/hosted-session/coordinator.mjs +75 -51
- package/lib/hosted-session/errors.cjs +25 -0
- package/lib/hosted-session/errors.d.cts +10 -0
- package/lib/hosted-session/errors.d.mts +10 -0
- package/lib/hosted-session/errors.d.ts +10 -0
- package/lib/hosted-session/errors.mjs +19 -0
- package/lib/hosted-session/index.cjs +4 -1
- package/lib/hosted-session/index.d.cts +2 -0
- package/lib/hosted-session/index.d.mts +2 -0
- package/lib/hosted-session/index.d.ts +2 -2
- package/lib/hosted-session/index.mjs +1 -1
- package/lib/hosted-session/reconnecting-watch.cjs +131 -0
- package/lib/hosted-session/reconnecting-watch.d.cts +13 -0
- package/lib/hosted-session/reconnecting-watch.d.mts +13 -0
- package/lib/hosted-session/reconnecting-watch.d.ts +13 -0
- package/lib/hosted-session/reconnecting-watch.mjs +127 -0
- package/lib/hosted-session/types.d.cts +32 -0
- package/lib/hosted-session/types.d.mts +32 -0
- package/lib/hosted-session/types.d.ts +19 -7
- package/lib/hosted-target/access-url.cjs +44 -0
- package/lib/hosted-target/access-url.d.cts +2 -0
- package/lib/hosted-target/access-url.d.mts +2 -0
- package/lib/hosted-target/access-url.d.ts +2 -0
- package/lib/hosted-target/access-url.mjs +41 -0
- package/lib/hosted-target/adapter-request.cjs +12 -0
- package/lib/hosted-target/adapter-request.d.cts +17 -0
- package/lib/hosted-target/adapter-request.d.mts +17 -0
- package/lib/hosted-target/adapter-request.d.ts +17 -0
- package/lib/hosted-target/adapter-request.mjs +9 -0
- package/lib/hosted-target/adapter-types.cjs +2 -0
- package/lib/hosted-target/adapter-types.d.cts +27 -0
- package/lib/hosted-target/adapter-types.d.mts +27 -0
- package/lib/hosted-target/adapter-types.d.ts +27 -0
- package/lib/hosted-target/adapter-types.mjs +1 -0
- package/lib/hosted-target/bounds.cjs +10 -0
- package/lib/hosted-target/bounds.d.cts +7 -0
- package/lib/hosted-target/bounds.d.mts +7 -0
- package/lib/hosted-target/bounds.d.ts +7 -0
- package/lib/hosted-target/bounds.mjs +7 -0
- package/lib/hosted-target/capsule-error-response.cjs +76 -0
- package/lib/hosted-target/capsule-error-response.d.cts +2 -0
- package/lib/hosted-target/capsule-error-response.d.mts +2 -0
- package/lib/hosted-target/capsule-error-response.d.ts +2 -0
- package/lib/hosted-target/capsule-error-response.mjs +73 -0
- package/lib/hosted-target/errors.cjs +88 -0
- package/lib/hosted-target/errors.d.cts +36 -0
- package/lib/hosted-target/errors.d.mts +36 -0
- package/lib/hosted-target/errors.d.ts +36 -0
- package/lib/hosted-target/errors.mjs +75 -0
- package/lib/hosted-target/index.cjs +16 -0
- package/lib/hosted-target/index.d.cts +3 -0
- package/lib/hosted-target/index.d.mts +3 -0
- package/lib/hosted-target/index.d.ts +3 -0
- package/lib/hosted-target/index.mjs +2 -0
- package/lib/hosted-target/response-validation.cjs +169 -0
- package/lib/hosted-target/response-validation.d.cts +5 -0
- package/lib/hosted-target/response-validation.d.mts +5 -0
- package/lib/hosted-target/response-validation.d.ts +5 -0
- package/lib/hosted-target/response-validation.mjs +163 -0
- package/lib/hosted-target/retry-executor.cjs +51 -0
- package/lib/hosted-target/retry-executor.d.cts +8 -0
- package/lib/hosted-target/retry-executor.d.mts +8 -0
- package/lib/hosted-target/retry-executor.d.ts +8 -0
- package/lib/hosted-target/retry-executor.mjs +48 -0
- package/lib/hosted-target/retry.cjs +78 -0
- package/lib/hosted-target/retry.d.cts +9 -0
- package/lib/hosted-target/retry.d.mts +9 -0
- package/lib/hosted-target/retry.d.ts +9 -0
- package/lib/hosted-target/retry.mjs +73 -0
- package/lib/hosted-target/target-adapter.cjs +10 -0
- package/lib/hosted-target/target-adapter.d.cts +3 -0
- package/lib/hosted-target/target-adapter.d.mts +3 -0
- package/lib/hosted-target/target-adapter.d.ts +3 -0
- package/lib/hosted-target/target-adapter.mjs +7 -0
- package/lib/hosted-target/types.cjs +4 -0
- package/lib/hosted-target/types.d.cts +50 -0
- package/lib/hosted-target/types.d.mts +50 -0
- package/lib/hosted-target/types.d.ts +50 -0
- package/lib/hosted-target/types.mjs +1 -0
- package/lib/hosted-target/zero-cloud-v1-adapter.cjs +185 -0
- package/lib/hosted-target/zero-cloud-v1-adapter.d.cts +13 -0
- package/lib/hosted-target/zero-cloud-v1-adapter.d.mts +13 -0
- package/lib/hosted-target/zero-cloud-v1-adapter.d.ts +13 -0
- package/lib/hosted-target/zero-cloud-v1-adapter.mjs +181 -0
- package/lib/target/bounded-response.cjs +51 -0
- package/lib/target/bounded-response.d.cts +1 -0
- package/lib/target/bounded-response.d.mts +1 -0
- package/lib/target/bounded-response.d.ts +1 -0
- package/lib/target/bounded-response.js +51 -0
- package/lib/target/bounded-response.mjs +48 -0
- package/lib/target/credential-lock.js +1 -3
- package/lib/target/credential-store.js +9 -4
- package/lib/target/device-flow.cjs +213 -0
- package/lib/target/device-flow.d.cts +54 -0
- package/lib/target/device-flow.d.mts +54 -0
- package/lib/target/device-flow.d.ts +26 -10
- package/lib/target/device-flow.js +162 -53
- package/lib/target/device-flow.mjs +203 -0
- package/lib/target/discovery-errors.cjs +10 -0
- package/lib/target/discovery-errors.d.cts +3 -0
- package/lib/target/discovery-errors.d.mts +3 -0
- package/lib/target/discovery-errors.d.ts +3 -0
- package/lib/target/discovery-errors.js +10 -0
- package/lib/target/discovery-errors.mjs +6 -0
- package/lib/target/discovery-sections.cjs +191 -0
- package/lib/target/discovery-sections.d.cts +52 -0
- package/lib/target/discovery-sections.d.mts +52 -0
- package/lib/target/discovery-sections.d.ts +52 -0
- package/lib/target/discovery-sections.js +191 -0
- package/lib/target/discovery-sections.mjs +179 -0
- package/lib/target/discovery-validation.cjs +109 -0
- package/lib/target/discovery-validation.d.cts +28 -0
- package/lib/target/discovery-validation.d.mts +28 -0
- package/lib/target/discovery-validation.d.ts +28 -0
- package/lib/target/discovery-validation.js +109 -0
- package/lib/target/discovery-validation.mjs +99 -0
- package/lib/target/discovery.cjs +112 -0
- package/lib/target/discovery.d.cts +74 -0
- package/lib/target/discovery.d.mts +74 -0
- package/lib/target/discovery.d.ts +68 -5
- package/lib/target/discovery.js +93 -101
- package/lib/target/discovery.mjs +105 -0
- package/lib/target/index.d.ts +6 -6
- package/lib/target/index.js +36 -36
- package/lib/target/oauth-http.d.ts +2 -0
- package/lib/target/oauth-http.js +25 -0
- package/lib/target/refresh-exchange.d.ts +11 -0
- package/lib/target/refresh-exchange.js +24 -0
- package/lib/target/refresh-revocation.d.ts +8 -0
- package/lib/target/refresh-revocation.js +19 -0
- package/lib/target/route-template.cjs +85 -0
- package/lib/target/route-template.d.cts +7 -0
- package/lib/target/route-template.d.mts +7 -0
- package/lib/target/route-template.d.ts +7 -0
- package/lib/target/route-template.js +85 -0
- package/lib/target/route-template.mjs +81 -0
- package/lib/target/session-errors.d.ts +4 -0
- package/lib/target/session-errors.js +12 -0
- package/lib/target/session-verification.d.ts +10 -0
- package/lib/target/session-verification.js +42 -0
- package/lib/target/target-registry.d.ts +7 -3
- package/lib/target/target-registry.js +41 -10
- package/lib/target/target-session-manager.d.ts +48 -0
- package/lib/target/target-session-manager.js +226 -0
- package/lib/target/target-session.d.ts +39 -31
- package/lib/target/target-session.js +63 -150
- package/lib/target/token-response.cjs +51 -0
- package/lib/target/token-response.d.cts +7 -0
- package/lib/target/token-response.d.mts +7 -0
- package/lib/target/token-response.d.ts +7 -0
- package/lib/target/token-response.js +51 -0
- package/lib/target/token-response.mjs +48 -0
- package/package.json +16 -6
- package/scripts/audit-production-dependencies.js +150 -0
- package/scripts/build-cluster.js +23 -3
- package/scripts/opcore-agent-gate.js +159 -0
- package/scripts/opcore-agent-tool-overlays.js +154 -0
- package/scripts/opcore-introduced-check.js +288 -0
- package/src/cluster/client.ts +42 -15
- package/src/cluster/connection-state.ts +33 -0
- package/src/cluster/connection-types.ts +28 -0
- package/src/cluster/connection.ts +37 -68
- package/src/cluster/errors.ts +5 -0
- package/src/cluster/index.ts +3 -1
- package/src/cluster/json-source.ts +1 -0
- package/src/cluster/payload-value.ts +1 -0
- package/src/cluster/socket.ts +13 -0
- package/src/cluster/subscriptions.ts +7 -2
- package/src/cluster/validators.ts +1 -0
- package/src/cluster/ws.d.ts +1 -1
- package/src/hosted-session/authority.ts +77 -0
- package/src/hosted-session/coordinator.ts +113 -56
- package/src/hosted-session/errors.ts +21 -0
- package/src/hosted-session/index.ts +14 -2
- package/src/hosted-session/reconnecting-watch.ts +148 -0
- package/src/hosted-session/types.ts +22 -8
- package/src/hosted-target/access-url.ts +46 -0
- package/src/hosted-target/adapter-request.ts +28 -0
- package/src/hosted-target/adapter-types.ts +39 -0
- package/src/hosted-target/bounds.ts +1 -0
- package/src/hosted-target/capsule-error-response.ts +107 -0
- package/src/hosted-target/errors.ts +36 -35
- package/src/hosted-target/index.ts +10 -23
- package/src/hosted-target/response-validation.ts +170 -62
- package/src/hosted-target/retry-executor.ts +62 -0
- package/src/hosted-target/retry.ts +47 -11
- package/src/hosted-target/target-adapter.ts +12 -8
- package/src/hosted-target/types.ts +19 -18
- package/src/hosted-target/zero-cloud-v1-adapter.ts +229 -316
- package/src/target/bounded-response.ts +68 -0
- package/src/target/credential-lock.ts +1 -3
- package/src/target/credential-store.ts +14 -10
- package/src/target/device-flow.ts +206 -71
- package/src/target/discovery-errors.ts +6 -0
- package/src/target/discovery-sections.ts +251 -0
- package/src/target/discovery-validation.ts +144 -0
- package/src/target/discovery.ts +163 -115
- package/src/target/index.ts +15 -11
- package/src/target/oauth-http.ts +27 -0
- package/src/target/refresh-exchange.ts +36 -0
- package/src/target/refresh-revocation.ts +29 -0
- package/src/target/route-template.ts +105 -0
- package/src/target/session-errors.ts +9 -0
- package/src/target/session-verification.ts +51 -0
- package/src/target/target-registry.ts +60 -27
- package/src/target/target-session-manager.ts +285 -0
- package/src/target/target-session.ts +105 -222
- package/src/target/token-response.ts +62 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { TargetDiscoveryDescriptor } from '../target/discovery.js';
|
|
2
|
+
import type { AllocateRequest, Capsule, CapsuleAccess, CapsuleLimits, CapsuleListPage, Clock, HttpTransport, ListRequest, RetryPolicy, TargetAccessTokenProvider } from './types.js';
|
|
3
|
+
export type CredentialInstallCapability = {
|
|
4
|
+
readonly supported: false;
|
|
5
|
+
} | {
|
|
6
|
+
readonly supported: true;
|
|
7
|
+
readonly descriptor: NonNullable<TargetDiscoveryDescriptor['credentialInstall']>;
|
|
8
|
+
};
|
|
9
|
+
export interface TargetAdapter {
|
|
10
|
+
allocate(req: AllocateRequest, signal?: AbortSignal): Promise<Capsule>;
|
|
11
|
+
list(req?: ListRequest, signal?: AbortSignal): Promise<CapsuleListPage>;
|
|
12
|
+
inspect(capsuleId: string, signal?: AbortSignal): Promise<Capsule>;
|
|
13
|
+
terminate(capsuleId: string, signal?: AbortSignal): Promise<Capsule>;
|
|
14
|
+
limits(signal?: AbortSignal): Promise<CapsuleLimits>;
|
|
15
|
+
access(capsuleId: string, signal?: AbortSignal): Promise<CapsuleAccess>;
|
|
16
|
+
readonly credentialInstall: CredentialInstallCapability;
|
|
17
|
+
}
|
|
18
|
+
export interface CreateTargetAdapterOptions {
|
|
19
|
+
readonly descriptor: TargetDiscoveryDescriptor;
|
|
20
|
+
readonly organization: {
|
|
21
|
+
readonly id: string;
|
|
22
|
+
};
|
|
23
|
+
readonly tokenProvider: TargetAccessTokenProvider;
|
|
24
|
+
readonly transport?: HttpTransport;
|
|
25
|
+
readonly clock?: Clock;
|
|
26
|
+
readonly retryPolicy?: RetryPolicy;
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IDEMPOTENCY_KEY_PATTERN = exports.MAX_ERROR_BODY_BYTES = exports.MAX_RETRY_ELAPSED_MS = exports.MAX_RETRY_ATTEMPTS = exports.MAX_PAGINATION_PAGES = exports.MAX_RESPONSE_BYTES = void 0;
|
|
4
|
+
/** Shared wire limits for every hosted-target response and retry path. */
|
|
5
|
+
exports.MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
|
|
6
|
+
exports.MAX_PAGINATION_PAGES = 100;
|
|
7
|
+
exports.MAX_RETRY_ATTEMPTS = 3;
|
|
8
|
+
exports.MAX_RETRY_ELAPSED_MS = 30_000;
|
|
9
|
+
exports.MAX_ERROR_BODY_BYTES = 8192;
|
|
10
|
+
exports.IDEMPOTENCY_KEY_PATTERN = /^[a-zA-Z0-9_-]{1,128}$/;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Shared wire limits for every hosted-target response and retry path. */
|
|
2
|
+
export declare const MAX_RESPONSE_BYTES: number;
|
|
3
|
+
export declare const MAX_PAGINATION_PAGES = 100;
|
|
4
|
+
export declare const MAX_RETRY_ATTEMPTS = 3;
|
|
5
|
+
export declare const MAX_RETRY_ELAPSED_MS = 30000;
|
|
6
|
+
export declare const MAX_ERROR_BODY_BYTES = 8192;
|
|
7
|
+
export declare const IDEMPOTENCY_KEY_PATTERN: RegExp;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Shared wire limits for every hosted-target response and retry path. */
|
|
2
|
+
export declare const MAX_RESPONSE_BYTES: number;
|
|
3
|
+
export declare const MAX_PAGINATION_PAGES = 100;
|
|
4
|
+
export declare const MAX_RETRY_ATTEMPTS = 3;
|
|
5
|
+
export declare const MAX_RETRY_ELAPSED_MS = 30000;
|
|
6
|
+
export declare const MAX_ERROR_BODY_BYTES = 8192;
|
|
7
|
+
export declare const IDEMPOTENCY_KEY_PATTERN: RegExp;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Shared wire limits for every hosted-target response and retry path. */
|
|
2
|
+
export declare const MAX_RESPONSE_BYTES: number;
|
|
3
|
+
export declare const MAX_PAGINATION_PAGES = 100;
|
|
4
|
+
export declare const MAX_RETRY_ATTEMPTS = 3;
|
|
5
|
+
export declare const MAX_RETRY_ELAPSED_MS = 30000;
|
|
6
|
+
export declare const MAX_ERROR_BODY_BYTES = 8192;
|
|
7
|
+
export declare const IDEMPOTENCY_KEY_PATTERN: RegExp;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Shared wire limits for every hosted-target response and retry path. */
|
|
2
|
+
export const MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
|
|
3
|
+
export const MAX_PAGINATION_PAGES = 100;
|
|
4
|
+
export const MAX_RETRY_ATTEMPTS = 3;
|
|
5
|
+
export const MAX_RETRY_ELAPSED_MS = 30_000;
|
|
6
|
+
export const MAX_ERROR_BODY_BYTES = 8192;
|
|
7
|
+
export const IDEMPOTENCY_KEY_PATTERN = /^[a-zA-Z0-9_-]{1,128}$/;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.throwCapsuleServerError = throwCapsuleServerError;
|
|
4
|
+
const errors_js_1 = require("./errors.cjs");
|
|
5
|
+
const retry_js_1 = require("./retry.cjs");
|
|
6
|
+
const ERROR_CODES = Object.freeze({
|
|
7
|
+
unauthorized: { statuses: [401], retryable: false },
|
|
8
|
+
invalid_request: { statuses: [400], retryable: false },
|
|
9
|
+
not_found: { statuses: [404], retryable: false },
|
|
10
|
+
forbidden: { statuses: [402, 403], retryable: false },
|
|
11
|
+
idempotency_conflict: { statuses: [409], retryable: false },
|
|
12
|
+
run_conflict: { statuses: [409], retryable: true },
|
|
13
|
+
rate_limited: { statuses: [429], retryable: true },
|
|
14
|
+
temporarily_unavailable: { statuses: [503], retryable: true },
|
|
15
|
+
internal_error: { statuses: [500], retryable: false },
|
|
16
|
+
});
|
|
17
|
+
function isErrorCode(value) {
|
|
18
|
+
return typeof value === 'string' && value in ERROR_CODES;
|
|
19
|
+
}
|
|
20
|
+
function isRecordBody(body) {
|
|
21
|
+
return body !== null && typeof body === 'object' && !Array.isArray(body);
|
|
22
|
+
}
|
|
23
|
+
function hasExactErrorFields(value) {
|
|
24
|
+
const fields = Object.keys(value);
|
|
25
|
+
const exactFields = ['code', 'message', 'capsule_id', 'retryable'];
|
|
26
|
+
return fields.length === exactFields.length &&
|
|
27
|
+
exactFields.every((field) => field in value);
|
|
28
|
+
}
|
|
29
|
+
function hasValidErrorValues(value) {
|
|
30
|
+
return isErrorCode(value.code) &&
|
|
31
|
+
typeof value.message === 'string' &&
|
|
32
|
+
(value.capsule_id === null || typeof value.capsule_id === 'string') &&
|
|
33
|
+
typeof value.retryable === 'boolean';
|
|
34
|
+
}
|
|
35
|
+
function parseErrorBody(body) {
|
|
36
|
+
if (!isRecordBody(body) || !hasExactErrorFields(body) || !hasValidErrorValues(body)) {
|
|
37
|
+
throw new errors_js_1.TargetProtocolError('Capsule error response is malformed');
|
|
38
|
+
}
|
|
39
|
+
const value = body;
|
|
40
|
+
return {
|
|
41
|
+
code: value.code,
|
|
42
|
+
capsuleId: value.capsule_id,
|
|
43
|
+
retryable: value.retryable,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function validateChallenge(response) {
|
|
47
|
+
if (response.status !== 401)
|
|
48
|
+
return;
|
|
49
|
+
if (response.headers.get('WWW-Authenticate') !== 'Bearer error="invalid_token"') {
|
|
50
|
+
throw new errors_js_1.TargetProtocolError('Capsule authentication challenge is malformed');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function validatedRetryAfter(response, retryable, clock) {
|
|
54
|
+
const header = response.headers.get('Retry-After');
|
|
55
|
+
const retryAfter = (0, retry_js_1.parseRetryAfter)(header, clock) ?? undefined;
|
|
56
|
+
if (header !== null && retryAfter === undefined) {
|
|
57
|
+
throw new errors_js_1.TargetProtocolError('Capsule Retry-After header is malformed');
|
|
58
|
+
}
|
|
59
|
+
if (retryable && retryAfter === undefined) {
|
|
60
|
+
throw new errors_js_1.TargetProtocolError('Retryable capsule error omitted Retry-After');
|
|
61
|
+
}
|
|
62
|
+
if (!retryable && retryAfter !== undefined) {
|
|
63
|
+
throw new errors_js_1.TargetProtocolError('Permanent capsule error advertised Retry-After');
|
|
64
|
+
}
|
|
65
|
+
return retryAfter;
|
|
66
|
+
}
|
|
67
|
+
async function throwCapsuleServerError(response, readJson, clock) {
|
|
68
|
+
const value = parseErrorBody(await readJson(response));
|
|
69
|
+
const contract = ERROR_CODES[value.code];
|
|
70
|
+
if (!contract.statuses.includes(response.status) || contract.retryable !== value.retryable) {
|
|
71
|
+
throw new errors_js_1.TargetProtocolError('Capsule error response contradicts its status contract');
|
|
72
|
+
}
|
|
73
|
+
validateChallenge(response);
|
|
74
|
+
const retryAfter = validatedRetryAfter(response, contract.retryable, clock);
|
|
75
|
+
throw new errors_js_1.TargetServerError(response.status, value.code, contract.retryable, value.capsuleId, retryAfter);
|
|
76
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { TargetProtocolError, TargetServerError } from './errors.mjs';
|
|
2
|
+
import { parseRetryAfter } from './retry.mjs';
|
|
3
|
+
const ERROR_CODES = Object.freeze({
|
|
4
|
+
unauthorized: { statuses: [401], retryable: false },
|
|
5
|
+
invalid_request: { statuses: [400], retryable: false },
|
|
6
|
+
not_found: { statuses: [404], retryable: false },
|
|
7
|
+
forbidden: { statuses: [402, 403], retryable: false },
|
|
8
|
+
idempotency_conflict: { statuses: [409], retryable: false },
|
|
9
|
+
run_conflict: { statuses: [409], retryable: true },
|
|
10
|
+
rate_limited: { statuses: [429], retryable: true },
|
|
11
|
+
temporarily_unavailable: { statuses: [503], retryable: true },
|
|
12
|
+
internal_error: { statuses: [500], retryable: false },
|
|
13
|
+
});
|
|
14
|
+
function isErrorCode(value) {
|
|
15
|
+
return typeof value === 'string' && value in ERROR_CODES;
|
|
16
|
+
}
|
|
17
|
+
function isRecordBody(body) {
|
|
18
|
+
return body !== null && typeof body === 'object' && !Array.isArray(body);
|
|
19
|
+
}
|
|
20
|
+
function hasExactErrorFields(value) {
|
|
21
|
+
const fields = Object.keys(value);
|
|
22
|
+
const exactFields = ['code', 'message', 'capsule_id', 'retryable'];
|
|
23
|
+
return fields.length === exactFields.length &&
|
|
24
|
+
exactFields.every((field) => field in value);
|
|
25
|
+
}
|
|
26
|
+
function hasValidErrorValues(value) {
|
|
27
|
+
return isErrorCode(value.code) &&
|
|
28
|
+
typeof value.message === 'string' &&
|
|
29
|
+
(value.capsule_id === null || typeof value.capsule_id === 'string') &&
|
|
30
|
+
typeof value.retryable === 'boolean';
|
|
31
|
+
}
|
|
32
|
+
function parseErrorBody(body) {
|
|
33
|
+
if (!isRecordBody(body) || !hasExactErrorFields(body) || !hasValidErrorValues(body)) {
|
|
34
|
+
throw new TargetProtocolError('Capsule error response is malformed');
|
|
35
|
+
}
|
|
36
|
+
const value = body;
|
|
37
|
+
return {
|
|
38
|
+
code: value.code,
|
|
39
|
+
capsuleId: value.capsule_id,
|
|
40
|
+
retryable: value.retryable,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function validateChallenge(response) {
|
|
44
|
+
if (response.status !== 401)
|
|
45
|
+
return;
|
|
46
|
+
if (response.headers.get('WWW-Authenticate') !== 'Bearer error="invalid_token"') {
|
|
47
|
+
throw new TargetProtocolError('Capsule authentication challenge is malformed');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function validatedRetryAfter(response, retryable, clock) {
|
|
51
|
+
const header = response.headers.get('Retry-After');
|
|
52
|
+
const retryAfter = parseRetryAfter(header, clock) ?? undefined;
|
|
53
|
+
if (header !== null && retryAfter === undefined) {
|
|
54
|
+
throw new TargetProtocolError('Capsule Retry-After header is malformed');
|
|
55
|
+
}
|
|
56
|
+
if (retryable && retryAfter === undefined) {
|
|
57
|
+
throw new TargetProtocolError('Retryable capsule error omitted Retry-After');
|
|
58
|
+
}
|
|
59
|
+
if (!retryable && retryAfter !== undefined) {
|
|
60
|
+
throw new TargetProtocolError('Permanent capsule error advertised Retry-After');
|
|
61
|
+
}
|
|
62
|
+
return retryAfter;
|
|
63
|
+
}
|
|
64
|
+
export async function throwCapsuleServerError(response, readJson, clock) {
|
|
65
|
+
const value = parseErrorBody(await readJson(response));
|
|
66
|
+
const contract = ERROR_CODES[value.code];
|
|
67
|
+
if (!contract.statuses.includes(response.status) || contract.retryable !== value.retryable) {
|
|
68
|
+
throw new TargetProtocolError('Capsule error response contradicts its status contract');
|
|
69
|
+
}
|
|
70
|
+
validateChallenge(response);
|
|
71
|
+
const retryAfter = validatedRetryAfter(response, contract.retryable, clock);
|
|
72
|
+
throw new TargetServerError(response.status, value.code, contract.retryable, value.capsuleId, retryAfter);
|
|
73
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TargetNotFoundError = exports.TargetCapacityError = exports.TargetProtocolError = exports.TargetTransportError = exports.TargetRateLimitError = exports.TargetConflictError = exports.TargetAuthError = exports.TargetServerError = exports.TargetAdapterError = void 0;
|
|
4
|
+
exports.isRetryable = isRetryable;
|
|
5
|
+
class TargetAdapterError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
retryable;
|
|
8
|
+
constructor(code, message, retryable) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = 'TargetAdapterError';
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.retryable = retryable;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.TargetAdapterError = TargetAdapterError;
|
|
16
|
+
class TargetServerError extends TargetAdapterError {
|
|
17
|
+
status;
|
|
18
|
+
serverCode;
|
|
19
|
+
capsuleId;
|
|
20
|
+
retryAfterMs;
|
|
21
|
+
constructor(status, serverCode, retryable, capsuleId, retryAfterMs) {
|
|
22
|
+
super('SERVER_REJECTED', `Capsule request failed (${serverCode})`, retryable);
|
|
23
|
+
this.name = 'TargetServerError';
|
|
24
|
+
this.status = status;
|
|
25
|
+
this.serverCode = serverCode;
|
|
26
|
+
this.capsuleId = capsuleId;
|
|
27
|
+
this.retryAfterMs = retryAfterMs;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.TargetServerError = TargetServerError;
|
|
31
|
+
class TargetAuthError extends TargetAdapterError {
|
|
32
|
+
constructor(message) {
|
|
33
|
+
super('AUTH_FAILED', message, false);
|
|
34
|
+
this.name = 'TargetAuthError';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.TargetAuthError = TargetAuthError;
|
|
38
|
+
class TargetConflictError extends TargetAdapterError {
|
|
39
|
+
idempotencyKey;
|
|
40
|
+
constructor(idempotencyKey, message) {
|
|
41
|
+
super('CONFLICT', message, true);
|
|
42
|
+
this.name = 'TargetConflictError';
|
|
43
|
+
this.idempotencyKey = idempotencyKey;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.TargetConflictError = TargetConflictError;
|
|
47
|
+
class TargetRateLimitError extends TargetAdapterError {
|
|
48
|
+
retryAfterMs;
|
|
49
|
+
constructor(message, retryAfterMs) {
|
|
50
|
+
super('RATE_LIMITED', message, true);
|
|
51
|
+
this.name = 'TargetRateLimitError';
|
|
52
|
+
this.retryAfterMs = retryAfterMs;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.TargetRateLimitError = TargetRateLimitError;
|
|
56
|
+
class TargetTransportError extends TargetAdapterError {
|
|
57
|
+
constructor(message) {
|
|
58
|
+
super('TRANSPORT', message, true);
|
|
59
|
+
this.name = 'TargetTransportError';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.TargetTransportError = TargetTransportError;
|
|
63
|
+
class TargetProtocolError extends TargetAdapterError {
|
|
64
|
+
constructor(message) {
|
|
65
|
+
super('PROTOCOL', message, false);
|
|
66
|
+
this.name = 'TargetProtocolError';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.TargetProtocolError = TargetProtocolError;
|
|
70
|
+
class TargetCapacityError extends TargetAdapterError {
|
|
71
|
+
constructor(message) {
|
|
72
|
+
super('CAPACITY', message, false);
|
|
73
|
+
this.name = 'TargetCapacityError';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.TargetCapacityError = TargetCapacityError;
|
|
77
|
+
class TargetNotFoundError extends TargetAdapterError {
|
|
78
|
+
constructor(message) {
|
|
79
|
+
super('NOT_FOUND', message, false);
|
|
80
|
+
this.name = 'TargetNotFoundError';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.TargetNotFoundError = TargetNotFoundError;
|
|
84
|
+
function isRetryable(error) {
|
|
85
|
+
if (error instanceof TargetAdapterError)
|
|
86
|
+
return error.retryable;
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare class TargetAdapterError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
readonly retryable: boolean;
|
|
4
|
+
constructor(code: string, message: string, retryable: boolean);
|
|
5
|
+
}
|
|
6
|
+
export declare class TargetServerError extends TargetAdapterError {
|
|
7
|
+
readonly status: number;
|
|
8
|
+
readonly serverCode: string;
|
|
9
|
+
readonly capsuleId: string | null;
|
|
10
|
+
readonly retryAfterMs: number | undefined;
|
|
11
|
+
constructor(status: number, serverCode: string, retryable: boolean, capsuleId: string | null, retryAfterMs?: number);
|
|
12
|
+
}
|
|
13
|
+
export declare class TargetAuthError extends TargetAdapterError {
|
|
14
|
+
constructor(message: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class TargetConflictError extends TargetAdapterError {
|
|
17
|
+
readonly idempotencyKey: string;
|
|
18
|
+
constructor(idempotencyKey: string, message: string);
|
|
19
|
+
}
|
|
20
|
+
export declare class TargetRateLimitError extends TargetAdapterError {
|
|
21
|
+
readonly retryAfterMs: number | undefined;
|
|
22
|
+
constructor(message: string, retryAfterMs?: number);
|
|
23
|
+
}
|
|
24
|
+
export declare class TargetTransportError extends TargetAdapterError {
|
|
25
|
+
constructor(message: string);
|
|
26
|
+
}
|
|
27
|
+
export declare class TargetProtocolError extends TargetAdapterError {
|
|
28
|
+
constructor(message: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class TargetCapacityError extends TargetAdapterError {
|
|
31
|
+
constructor(message: string);
|
|
32
|
+
}
|
|
33
|
+
export declare class TargetNotFoundError extends TargetAdapterError {
|
|
34
|
+
constructor(message: string);
|
|
35
|
+
}
|
|
36
|
+
export declare function isRetryable(error: unknown): boolean;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare class TargetAdapterError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
readonly retryable: boolean;
|
|
4
|
+
constructor(code: string, message: string, retryable: boolean);
|
|
5
|
+
}
|
|
6
|
+
export declare class TargetServerError extends TargetAdapterError {
|
|
7
|
+
readonly status: number;
|
|
8
|
+
readonly serverCode: string;
|
|
9
|
+
readonly capsuleId: string | null;
|
|
10
|
+
readonly retryAfterMs: number | undefined;
|
|
11
|
+
constructor(status: number, serverCode: string, retryable: boolean, capsuleId: string | null, retryAfterMs?: number);
|
|
12
|
+
}
|
|
13
|
+
export declare class TargetAuthError extends TargetAdapterError {
|
|
14
|
+
constructor(message: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class TargetConflictError extends TargetAdapterError {
|
|
17
|
+
readonly idempotencyKey: string;
|
|
18
|
+
constructor(idempotencyKey: string, message: string);
|
|
19
|
+
}
|
|
20
|
+
export declare class TargetRateLimitError extends TargetAdapterError {
|
|
21
|
+
readonly retryAfterMs: number | undefined;
|
|
22
|
+
constructor(message: string, retryAfterMs?: number);
|
|
23
|
+
}
|
|
24
|
+
export declare class TargetTransportError extends TargetAdapterError {
|
|
25
|
+
constructor(message: string);
|
|
26
|
+
}
|
|
27
|
+
export declare class TargetProtocolError extends TargetAdapterError {
|
|
28
|
+
constructor(message: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class TargetCapacityError extends TargetAdapterError {
|
|
31
|
+
constructor(message: string);
|
|
32
|
+
}
|
|
33
|
+
export declare class TargetNotFoundError extends TargetAdapterError {
|
|
34
|
+
constructor(message: string);
|
|
35
|
+
}
|
|
36
|
+
export declare function isRetryable(error: unknown): boolean;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare class TargetAdapterError extends Error {
|
|
2
|
+
readonly code: string;
|
|
3
|
+
readonly retryable: boolean;
|
|
4
|
+
constructor(code: string, message: string, retryable: boolean);
|
|
5
|
+
}
|
|
6
|
+
export declare class TargetServerError extends TargetAdapterError {
|
|
7
|
+
readonly status: number;
|
|
8
|
+
readonly serverCode: string;
|
|
9
|
+
readonly capsuleId: string | null;
|
|
10
|
+
readonly retryAfterMs: number | undefined;
|
|
11
|
+
constructor(status: number, serverCode: string, retryable: boolean, capsuleId: string | null, retryAfterMs?: number);
|
|
12
|
+
}
|
|
13
|
+
export declare class TargetAuthError extends TargetAdapterError {
|
|
14
|
+
constructor(message: string);
|
|
15
|
+
}
|
|
16
|
+
export declare class TargetConflictError extends TargetAdapterError {
|
|
17
|
+
readonly idempotencyKey: string;
|
|
18
|
+
constructor(idempotencyKey: string, message: string);
|
|
19
|
+
}
|
|
20
|
+
export declare class TargetRateLimitError extends TargetAdapterError {
|
|
21
|
+
readonly retryAfterMs: number | undefined;
|
|
22
|
+
constructor(message: string, retryAfterMs?: number);
|
|
23
|
+
}
|
|
24
|
+
export declare class TargetTransportError extends TargetAdapterError {
|
|
25
|
+
constructor(message: string);
|
|
26
|
+
}
|
|
27
|
+
export declare class TargetProtocolError extends TargetAdapterError {
|
|
28
|
+
constructor(message: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class TargetCapacityError extends TargetAdapterError {
|
|
31
|
+
constructor(message: string);
|
|
32
|
+
}
|
|
33
|
+
export declare class TargetNotFoundError extends TargetAdapterError {
|
|
34
|
+
constructor(message: string);
|
|
35
|
+
}
|
|
36
|
+
export declare function isRetryable(error: unknown): boolean;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export class TargetAdapterError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
retryable;
|
|
4
|
+
constructor(code, message, retryable) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'TargetAdapterError';
|
|
7
|
+
this.code = code;
|
|
8
|
+
this.retryable = retryable;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export class TargetServerError extends TargetAdapterError {
|
|
12
|
+
status;
|
|
13
|
+
serverCode;
|
|
14
|
+
capsuleId;
|
|
15
|
+
retryAfterMs;
|
|
16
|
+
constructor(status, serverCode, retryable, capsuleId, retryAfterMs) {
|
|
17
|
+
super('SERVER_REJECTED', `Capsule request failed (${serverCode})`, retryable);
|
|
18
|
+
this.name = 'TargetServerError';
|
|
19
|
+
this.status = status;
|
|
20
|
+
this.serverCode = serverCode;
|
|
21
|
+
this.capsuleId = capsuleId;
|
|
22
|
+
this.retryAfterMs = retryAfterMs;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export class TargetAuthError extends TargetAdapterError {
|
|
26
|
+
constructor(message) {
|
|
27
|
+
super('AUTH_FAILED', message, false);
|
|
28
|
+
this.name = 'TargetAuthError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export class TargetConflictError extends TargetAdapterError {
|
|
32
|
+
idempotencyKey;
|
|
33
|
+
constructor(idempotencyKey, message) {
|
|
34
|
+
super('CONFLICT', message, true);
|
|
35
|
+
this.name = 'TargetConflictError';
|
|
36
|
+
this.idempotencyKey = idempotencyKey;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class TargetRateLimitError extends TargetAdapterError {
|
|
40
|
+
retryAfterMs;
|
|
41
|
+
constructor(message, retryAfterMs) {
|
|
42
|
+
super('RATE_LIMITED', message, true);
|
|
43
|
+
this.name = 'TargetRateLimitError';
|
|
44
|
+
this.retryAfterMs = retryAfterMs;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export class TargetTransportError extends TargetAdapterError {
|
|
48
|
+
constructor(message) {
|
|
49
|
+
super('TRANSPORT', message, true);
|
|
50
|
+
this.name = 'TargetTransportError';
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class TargetProtocolError extends TargetAdapterError {
|
|
54
|
+
constructor(message) {
|
|
55
|
+
super('PROTOCOL', message, false);
|
|
56
|
+
this.name = 'TargetProtocolError';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export class TargetCapacityError extends TargetAdapterError {
|
|
60
|
+
constructor(message) {
|
|
61
|
+
super('CAPACITY', message, false);
|
|
62
|
+
this.name = 'TargetCapacityError';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export class TargetNotFoundError extends TargetAdapterError {
|
|
66
|
+
constructor(message) {
|
|
67
|
+
super('NOT_FOUND', message, false);
|
|
68
|
+
this.name = 'TargetNotFoundError';
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function isRetryable(error) {
|
|
72
|
+
if (error instanceof TargetAdapterError)
|
|
73
|
+
return error.retryable;
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRetryable = exports.TargetServerError = exports.TargetNotFoundError = exports.TargetCapacityError = exports.TargetProtocolError = exports.TargetTransportError = exports.TargetRateLimitError = exports.TargetConflictError = exports.TargetAuthError = exports.TargetAdapterError = exports.createTargetAdapter = void 0;
|
|
4
|
+
var target_adapter_js_1 = require("./target-adapter.cjs");
|
|
5
|
+
Object.defineProperty(exports, "createTargetAdapter", { enumerable: true, get: function () { return target_adapter_js_1.createTargetAdapter; } });
|
|
6
|
+
var errors_js_1 = require("./errors.cjs");
|
|
7
|
+
Object.defineProperty(exports, "TargetAdapterError", { enumerable: true, get: function () { return errors_js_1.TargetAdapterError; } });
|
|
8
|
+
Object.defineProperty(exports, "TargetAuthError", { enumerable: true, get: function () { return errors_js_1.TargetAuthError; } });
|
|
9
|
+
Object.defineProperty(exports, "TargetConflictError", { enumerable: true, get: function () { return errors_js_1.TargetConflictError; } });
|
|
10
|
+
Object.defineProperty(exports, "TargetRateLimitError", { enumerable: true, get: function () { return errors_js_1.TargetRateLimitError; } });
|
|
11
|
+
Object.defineProperty(exports, "TargetTransportError", { enumerable: true, get: function () { return errors_js_1.TargetTransportError; } });
|
|
12
|
+
Object.defineProperty(exports, "TargetProtocolError", { enumerable: true, get: function () { return errors_js_1.TargetProtocolError; } });
|
|
13
|
+
Object.defineProperty(exports, "TargetCapacityError", { enumerable: true, get: function () { return errors_js_1.TargetCapacityError; } });
|
|
14
|
+
Object.defineProperty(exports, "TargetNotFoundError", { enumerable: true, get: function () { return errors_js_1.TargetNotFoundError; } });
|
|
15
|
+
Object.defineProperty(exports, "TargetServerError", { enumerable: true, get: function () { return errors_js_1.TargetServerError; } });
|
|
16
|
+
Object.defineProperty(exports, "isRetryable", { enumerable: true, get: function () { return errors_js_1.isRetryable; } });
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createTargetAdapter, type TargetAdapter, type CreateTargetAdapterOptions, type CredentialInstallCapability, } from './target-adapter.js';
|
|
2
|
+
export { TargetAdapterError, TargetAuthError, TargetConflictError, TargetRateLimitError, TargetTransportError, TargetProtocolError, TargetCapacityError, TargetNotFoundError, TargetServerError, isRetryable, } from './errors.js';
|
|
3
|
+
export type { TargetAccessTokenProvider, CapsuleState, Capsule, CapsuleAccess, CapsuleListPage, CapsuleLimits, AllocateRequest, ListRequest, HttpTransport, Clock, RetryPolicy, } from './types.js';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createTargetAdapter, type TargetAdapter, type CreateTargetAdapterOptions, type CredentialInstallCapability, } from './target-adapter.js';
|
|
2
|
+
export { TargetAdapterError, TargetAuthError, TargetConflictError, TargetRateLimitError, TargetTransportError, TargetProtocolError, TargetCapacityError, TargetNotFoundError, TargetServerError, isRetryable, } from './errors.js';
|
|
3
|
+
export type { TargetAccessTokenProvider, CapsuleState, Capsule, CapsuleAccess, CapsuleListPage, CapsuleLimits, AllocateRequest, ListRequest, HttpTransport, Clock, RetryPolicy, } from './types.js';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { createTargetAdapter, type TargetAdapter, type CreateTargetAdapterOptions, type CredentialInstallCapability, } from './target-adapter.js';
|
|
2
|
+
export { TargetAdapterError, TargetAuthError, TargetConflictError, TargetRateLimitError, TargetTransportError, TargetProtocolError, TargetCapacityError, TargetNotFoundError, TargetServerError, isRetryable, } from './errors.js';
|
|
3
|
+
export type { TargetAccessTokenProvider, CapsuleState, Capsule, CapsuleAccess, CapsuleListPage, CapsuleLimits, AllocateRequest, ListRequest, HttpTransport, Clock, RetryPolicy, } from './types.js';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { createTargetAdapter, } from './target-adapter.mjs';
|
|
2
|
+
export { TargetAdapterError, TargetAuthError, TargetConflictError, TargetRateLimitError, TargetTransportError, TargetProtocolError, TargetCapacityError, TargetNotFoundError, TargetServerError, isRetryable, } from './errors.mjs';
|