distilled-aws 0.0.13 → 0.0.16
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/lib/client/api.d.ts.map +1 -1
- package/lib/client/api.js +14 -3
- package/lib/client/api.js.map +1 -1
- package/lib/client/response-parser.d.ts.map +1 -1
- package/lib/client/response-parser.js +14 -2
- package/lib/client/response-parser.js.map +1 -1
- package/lib/debug/error-recorder.d.ts +22 -0
- package/lib/debug/error-recorder.d.ts.map +1 -0
- package/lib/debug/error-recorder.js +106 -0
- package/lib/debug/error-recorder.js.map +1 -0
- package/lib/patch/spec-schema.d.ts +65 -0
- package/lib/patch/spec-schema.d.ts.map +1 -1
- package/lib/patch/spec-schema.js +31 -0
- package/lib/patch/spec-schema.js.map +1 -1
- package/lib/services/bedrock-agentcore-control.d.ts +3 -0
- package/lib/services/bedrock-agentcore-control.d.ts.map +1 -1
- package/lib/services/bedrock-agentcore-control.js +5 -1
- package/lib/services/bedrock-agentcore-control.js.map +1 -1
- package/lib/services/cloudfront.d.ts +83 -83
- package/lib/services/cloudfront.d.ts.map +1 -1
- package/lib/services/cloudfront.js +160 -157
- package/lib/services/cloudfront.js.map +1 -1
- package/lib/services/ec2.d.ts +1539 -924
- package/lib/services/ec2.d.ts.map +1 -1
- package/lib/services/ec2.js +1321 -623
- package/lib/services/ec2.js.map +1 -1
- package/lib/services/glue.d.ts +587 -478
- package/lib/services/glue.d.ts.map +1 -1
- package/lib/services/glue.js +1644 -1509
- package/lib/services/glue.js.map +1 -1
- package/lib/services/iam.d.ts +6 -1
- package/lib/services/iam.d.ts.map +1 -1
- package/lib/services/iam.js +3 -1
- package/lib/services/iam.js.map +1 -1
- package/lib/services/medialive.d.ts +33 -0
- package/lib/services/medialive.d.ts.map +1 -1
- package/lib/services/medialive.js +11 -0
- package/lib/services/medialive.js.map +1 -1
- package/lib/services/s3.d.ts +74 -59
- package/lib/services/s3.d.ts.map +1 -1
- package/lib/services/s3.js +76 -53
- package/lib/services/s3.js.map +1 -1
- package/lib/services/sqs.d.ts +1 -1
- package/lib/services/sqs.d.ts.map +1 -1
- package/lib/services/sqs.js +1 -0
- package/lib/services/sqs.js.map +1 -1
- package/package.json +6 -4
- package/src/client/api.ts +22 -2
- package/src/client/response-parser.ts +15 -2
- package/src/debug/error-recorder.ts +143 -0
- package/src/patch/spec-schema.ts +35 -0
- package/src/services/bedrock-agentcore-control.ts +7 -1
- package/src/services/cloudfront.ts +300 -294
- package/src/services/ec2.ts +2891 -1486
- package/src/services/glue.ts +3550 -3250
- package/src/services/iam.ts +9 -2
- package/src/services/medialive.ts +53 -0
- package/src/services/s3.ts +159 -108
- package/src/services/sqs.ts +2 -0
package/lib/client/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,WAAY,SAAQ,qBAAqB;CAAG;AAE7D,eAAO,MAAM,IAAI,GAAI,EAAE,qLA2PtB,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,EAAE,kJAkE/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,EAAE,kJAEqB,CAAC"}
|
package/lib/client/api.js
CHANGED
|
@@ -6,9 +6,11 @@ import * as Option from "effect/Option";
|
|
|
6
6
|
import * as Redacted from "effect/Redacted";
|
|
7
7
|
import * as Ref from "effect/Ref";
|
|
8
8
|
import * as Stream from "effect/Stream";
|
|
9
|
+
import { recordMissingError } from "../debug/error-recorder.js";
|
|
9
10
|
import { makeDefault, Retry } from "../retry.js";
|
|
10
11
|
import { makeEndpointResolver } from "../rules-engine/endpoint-resolver.js";
|
|
11
|
-
import { getAwsAuthSigv4, getPath } from "../traits.js";
|
|
12
|
+
import { getAwsApiService, getAwsAuthSigv4, getPath } from "../traits.js";
|
|
13
|
+
import { getIdentifier } from "../util/ast.js";
|
|
12
14
|
import { makeRequestBuilder } from "./request-builder.js";
|
|
13
15
|
import { makeResponseParser, } from "./response-parser.js";
|
|
14
16
|
import { Credentials, Endpoint, Region } from "../index.js";
|
|
@@ -24,15 +26,20 @@ export const make = (initOperation, options) => {
|
|
|
24
26
|
const sigv4 = getAwsAuthSigv4(inputAst);
|
|
25
27
|
// Create rules resolver (if rule set available)
|
|
26
28
|
const resolveEndpoint = makeEndpointResolver(op);
|
|
29
|
+
// Extract metadata for error recording (DISTILLED_AWS_DEBUG)
|
|
30
|
+
const serviceSdkId = getAwsApiService(inputAst)?.sdkId;
|
|
31
|
+
const operationName = getIdentifier(inputAst)?.replace(/(?:Request|Input)$/, "");
|
|
27
32
|
return {
|
|
28
33
|
buildRequest,
|
|
29
34
|
parseResponse,
|
|
30
35
|
sigv4,
|
|
31
36
|
resolveEndpoint,
|
|
37
|
+
serviceSdkId,
|
|
38
|
+
operationName,
|
|
32
39
|
};
|
|
33
40
|
};
|
|
34
41
|
const fn = Effect.fnUntraced(function* (payload) {
|
|
35
|
-
const { buildRequest, parseResponse, sigv4, resolveEndpoint: rulesResolver, } = (_init ??= init());
|
|
42
|
+
const { buildRequest, parseResponse, sigv4, resolveEndpoint: rulesResolver, serviceSdkId, operationName, } = (_init ??= init());
|
|
36
43
|
yield* Effect.logDebug("Payload", payload);
|
|
37
44
|
// Build request using the request builder (handles protocol serialization + middleware)
|
|
38
45
|
const request = yield* buildRequest(payload);
|
|
@@ -167,7 +174,11 @@ export const make = (initOperation, options) => {
|
|
|
167
174
|
statusText: "OK",
|
|
168
175
|
headers: responseHeaders,
|
|
169
176
|
body: responseBody,
|
|
170
|
-
})
|
|
177
|
+
}).pipe(
|
|
178
|
+
// Auto-record unknown errors when DISTILLED_AWS_DEBUG=1
|
|
179
|
+
Effect.tapError((error) => error._tag === "UnknownAwsError" && serviceSdkId && operationName
|
|
180
|
+
? recordMissingError(serviceSdkId, operationName, error.errorTag)
|
|
181
|
+
: Effect.void));
|
|
171
182
|
yield* Effect.logDebug("Parsed Response", parsed);
|
|
172
183
|
return parsed;
|
|
173
184
|
});
|
package/lib/client/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,YAAY,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-parser.d.ts","sourceRoot":"","sources":["../../src/client/response-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CACjC,QAAQ,EAAE,QAAQ,KACf,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"response-parser.d.ts","sourceRoot":"","sources":["../../src/client/response-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,IAAI,CACjC,QAAQ,EAAE,QAAQ,KACf,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,2LA+GnC,CAAC"}
|
|
@@ -13,8 +13,8 @@ import * as Effect from "effect/Effect";
|
|
|
13
13
|
import * as ParseResult from "effect/ParseResult";
|
|
14
14
|
import * as Schema from "effect/Schema";
|
|
15
15
|
import { COMMON_ERRORS, UnknownAwsError } from "../errors.js";
|
|
16
|
-
import { getAwsQueryError, getProtocol } from "../traits.js";
|
|
17
|
-
import { getIdentifier } from "../util/ast.js";
|
|
16
|
+
import { getAwsQueryError, getHttpHeader, getProtocol } from "../traits.js";
|
|
17
|
+
import { getIdentifier, getPropertySignatures } from "../util/ast.js";
|
|
18
18
|
import { makeStreamParser } from "./stream-parser.js";
|
|
19
19
|
/**
|
|
20
20
|
* Create a response parser for a given operation.
|
|
@@ -91,6 +91,18 @@ export const makeResponseParser = (operation, options) => {
|
|
|
91
91
|
const { errorCode, data } = yield* protocol.deserializeError(response);
|
|
92
92
|
const errorSchema = errorSchemas.get(errorCode);
|
|
93
93
|
if (errorSchema) {
|
|
94
|
+
// Extract headers for error members with HttpHeader traits
|
|
95
|
+
// This handles error fields not in the body (e.g., x-amz-bucket-region)
|
|
96
|
+
const errorProps = getPropertySignatures(errorSchema.ast);
|
|
97
|
+
for (const prop of errorProps) {
|
|
98
|
+
const headerName = getHttpHeader(prop);
|
|
99
|
+
if (headerName) {
|
|
100
|
+
const headerValue = response.headers[headerName.toLowerCase()];
|
|
101
|
+
if (headerValue !== undefined) {
|
|
102
|
+
data[String(prop.name)] = headerValue;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
94
106
|
// Get the schema identifier to use as _tag (may differ from wire errorCode)
|
|
95
107
|
// e.g., wire code "EntityAlreadyExists" maps to schema tag "EntityAlreadyExistsException"
|
|
96
108
|
const schemaTag = getIdentifier(errorSchema.ast) ?? errorCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-parser.js","sourceRoot":"","sources":["../../src/client/response-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"response-parser.js","sourceRoot":"","sources":["../../src/client/response-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-record unknown AWS errors to spec files.
|
|
3
|
+
*
|
|
4
|
+
* When DISTILLED_AWS_DEBUG=1 is set, any UnknownAwsError encountered
|
|
5
|
+
* during API calls will be automatically recorded to the corresponding
|
|
6
|
+
* spec/{service}.json file. This enables passive error discovery
|
|
7
|
+
* during tests and scripts.
|
|
8
|
+
*/
|
|
9
|
+
import * as Effect from "effect/Effect";
|
|
10
|
+
/**
|
|
11
|
+
* Record a missing error to the spec file.
|
|
12
|
+
*
|
|
13
|
+
* This function:
|
|
14
|
+
* 1. Checks if DISTILLED_AWS_DEBUG=1 is set - skips if not
|
|
15
|
+
* 2. Checks if FileSystem is available - skips if not
|
|
16
|
+
* 3. Acquires a lock for the spec file
|
|
17
|
+
* 4. Loads the spec, adds the error if not present, saves
|
|
18
|
+
*
|
|
19
|
+
* All errors are silently caught - this should never fail the API call.
|
|
20
|
+
*/
|
|
21
|
+
export declare const recordMissingError: (serviceSdkId: string, operationName: string, errorTag: string) => Effect.Effect<void, never, never>;
|
|
22
|
+
//# sourceMappingURL=error-recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-recorder.d.ts","sourceRoot":"","sources":["../../src/debug/error-recorder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAqExC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,sGAmD5B,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-record unknown AWS errors to spec files.
|
|
3
|
+
*
|
|
4
|
+
* When DISTILLED_AWS_DEBUG=1 is set, any UnknownAwsError encountered
|
|
5
|
+
* during API calls will be automatically recorded to the corresponding
|
|
6
|
+
* spec/{service}.json file. This enables passive error discovery
|
|
7
|
+
* during tests and scripts.
|
|
8
|
+
*/
|
|
9
|
+
import { FileSystem } from "@effect/platform";
|
|
10
|
+
import * as Config from "effect/Config";
|
|
11
|
+
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as HashMap from "effect/HashMap";
|
|
13
|
+
import * as Option from "effect/Option";
|
|
14
|
+
import * as Ref from "effect/Ref";
|
|
15
|
+
import * as S from "effect/Schema";
|
|
16
|
+
import { ServiceSpec } from "../patch/spec-schema.js";
|
|
17
|
+
/**
|
|
18
|
+
* Module-level semaphore map for locking spec file access.
|
|
19
|
+
* This prevents race conditions when multiple parallel API calls
|
|
20
|
+
* try to record errors to the same spec file.
|
|
21
|
+
*/
|
|
22
|
+
let locksRef;
|
|
23
|
+
const getLocksRef = Effect.suspend(() => {
|
|
24
|
+
if (locksRef)
|
|
25
|
+
return Effect.succeed(locksRef);
|
|
26
|
+
return Ref.make(HashMap.empty()).pipe(Effect.tap((ref) => Effect.sync(() => (locksRef = ref))));
|
|
27
|
+
});
|
|
28
|
+
const getLock = (specPath) => Effect.gen(function* () {
|
|
29
|
+
const ref = yield* getLocksRef;
|
|
30
|
+
const locks = yield* Ref.get(ref);
|
|
31
|
+
const existing = HashMap.get(locks, specPath);
|
|
32
|
+
if (Option.isSome(existing)) {
|
|
33
|
+
return existing.value;
|
|
34
|
+
}
|
|
35
|
+
const newSemaphore = yield* Effect.makeSemaphore(1);
|
|
36
|
+
yield* Ref.set(ref, HashMap.set(locks, specPath, newSemaphore));
|
|
37
|
+
return newSemaphore;
|
|
38
|
+
});
|
|
39
|
+
/**
|
|
40
|
+
* Convert PascalCase to camelCase.
|
|
41
|
+
* The generated code uses PascalCase identifiers (e.g., GetPublicAccessBlockRequest)
|
|
42
|
+
* but the spec uses camelCase operation names (e.g., getPublicAccessBlock).
|
|
43
|
+
*/
|
|
44
|
+
const toCamelCase = (str) => str.charAt(0).toLowerCase() + str.slice(1);
|
|
45
|
+
/**
|
|
46
|
+
* Get the spec file path for a service.
|
|
47
|
+
*/
|
|
48
|
+
const getSpecPath = (serviceSdkId) => `spec/${serviceSdkId.toLowerCase().replaceAll(" ", "-")}.json`;
|
|
49
|
+
/**
|
|
50
|
+
* Load the spec file for a service.
|
|
51
|
+
*/
|
|
52
|
+
const loadSpec = (fs, specPath) => fs.readFileString(specPath).pipe(Effect.flatMap(S.decodeUnknown(S.parseJson(ServiceSpec))), Effect.catchAll(() => Effect.succeed({ operations: {} })));
|
|
53
|
+
/**
|
|
54
|
+
* Save the spec file for a service.
|
|
55
|
+
*/
|
|
56
|
+
const saveSpec = (fs, specPath, spec) => Effect.gen(function* () {
|
|
57
|
+
yield* fs.makeDirectory("spec", { recursive: true });
|
|
58
|
+
yield* fs.writeFileString(specPath, JSON.stringify(spec, null, 2) + "\n");
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Record a missing error to the spec file.
|
|
62
|
+
*
|
|
63
|
+
* This function:
|
|
64
|
+
* 1. Checks if DISTILLED_AWS_DEBUG=1 is set - skips if not
|
|
65
|
+
* 2. Checks if FileSystem is available - skips if not
|
|
66
|
+
* 3. Acquires a lock for the spec file
|
|
67
|
+
* 4. Loads the spec, adds the error if not present, saves
|
|
68
|
+
*
|
|
69
|
+
* All errors are silently caught - this should never fail the API call.
|
|
70
|
+
*/
|
|
71
|
+
export const recordMissingError = (serviceSdkId, operationName, errorTag) => Effect.gen(function* () {
|
|
72
|
+
// Check config inline - skip if not enabled
|
|
73
|
+
const isEnabled = yield* Config.boolean("DISTILLED_AWS_DEBUG").pipe(Config.withDefault(false));
|
|
74
|
+
if (!isEnabled)
|
|
75
|
+
return;
|
|
76
|
+
// Get FileSystem - skip if not available
|
|
77
|
+
const fsOption = yield* Effect.serviceOption(FileSystem.FileSystem);
|
|
78
|
+
if (Option.isNone(fsOption))
|
|
79
|
+
return;
|
|
80
|
+
const fs = fsOption.value;
|
|
81
|
+
const specPath = getSpecPath(serviceSdkId);
|
|
82
|
+
// Convert operation name to camelCase (schema identifiers are PascalCase)
|
|
83
|
+
const camelCaseOpName = toCamelCase(operationName);
|
|
84
|
+
// Acquire lock and record the error
|
|
85
|
+
const lock = yield* getLock(specPath);
|
|
86
|
+
yield* lock.withPermits(1)(Effect.gen(function* () {
|
|
87
|
+
const existingSpec = yield* loadSpec(fs, specPath);
|
|
88
|
+
const opErrors = existingSpec.operations[camelCaseOpName]?.errors ?? [];
|
|
89
|
+
if (!opErrors.includes(errorTag)) {
|
|
90
|
+
yield* saveSpec(fs, specPath, {
|
|
91
|
+
...existingSpec,
|
|
92
|
+
operations: {
|
|
93
|
+
...existingSpec.operations,
|
|
94
|
+
[camelCaseOpName]: {
|
|
95
|
+
...existingSpec.operations[camelCaseOpName],
|
|
96
|
+
errors: [...opErrors, errorTag].sort(),
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
yield* Effect.logInfo(`[DISTILLED_AWS_DEBUG] Recorded missing error: ${serviceSdkId}.${camelCaseOpName} -> ${errorTag}`);
|
|
101
|
+
}
|
|
102
|
+
}));
|
|
103
|
+
}).pipe(
|
|
104
|
+
// Never fail - just log and continue
|
|
105
|
+
Effect.catchAll((error) => Effect.logDebug(`[DISTILLED_AWS_DEBUG] Failed to record error: ${error}`)));
|
|
106
|
+
//# sourceMappingURL=error-recorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-recorder.js","sourceRoot":"","sources":["../../src/debug/error-recorder.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,6 +89,43 @@ export declare const StructureOverride: S.Struct<{
|
|
|
89
89
|
}>>;
|
|
90
90
|
}>;
|
|
91
91
|
export type StructureOverride = typeof StructureOverride.Type;
|
|
92
|
+
/**
|
|
93
|
+
* Error member patch - adds a member to an error schema.
|
|
94
|
+
* Use this for errors not fully documented in Smithy (e.g., PermanentRedirect).
|
|
95
|
+
*/
|
|
96
|
+
export declare const ErrorMemberPatch: S.Struct<{
|
|
97
|
+
/**
|
|
98
|
+
* The type of the member (e.g., "string", "boolean", "number")
|
|
99
|
+
*/
|
|
100
|
+
type: typeof S.String;
|
|
101
|
+
/**
|
|
102
|
+
* Whether the field is optional (default: true)
|
|
103
|
+
*/
|
|
104
|
+
optional: S.optional<typeof S.Boolean>;
|
|
105
|
+
/**
|
|
106
|
+
* HTTP header to extract this value from (e.g., "x-amz-bucket-region")
|
|
107
|
+
*/
|
|
108
|
+
httpHeader: S.optional<typeof S.String>;
|
|
109
|
+
}>;
|
|
110
|
+
export type ErrorMemberPatch = typeof ErrorMemberPatch.Type;
|
|
111
|
+
/**
|
|
112
|
+
* Error override - specifies members to add to an error schema
|
|
113
|
+
*/
|
|
114
|
+
export declare const ErrorOverride: S.Record$<typeof S.String, S.Struct<{
|
|
115
|
+
/**
|
|
116
|
+
* The type of the member (e.g., "string", "boolean", "number")
|
|
117
|
+
*/
|
|
118
|
+
type: typeof S.String;
|
|
119
|
+
/**
|
|
120
|
+
* Whether the field is optional (default: true)
|
|
121
|
+
*/
|
|
122
|
+
optional: S.optional<typeof S.Boolean>;
|
|
123
|
+
/**
|
|
124
|
+
* HTTP header to extract this value from (e.g., "x-amz-bucket-region")
|
|
125
|
+
*/
|
|
126
|
+
httpHeader: S.optional<typeof S.String>;
|
|
127
|
+
}>>;
|
|
128
|
+
export type ErrorOverride = typeof ErrorOverride.Type;
|
|
92
129
|
/**
|
|
93
130
|
* All patches for a service
|
|
94
131
|
*/
|
|
@@ -151,6 +188,25 @@ export declare const ServiceSpec: S.Struct<{
|
|
|
151
188
|
*/
|
|
152
189
|
replace: S.optional<S.Array$<typeof S.String>>;
|
|
153
190
|
}>>>;
|
|
191
|
+
/**
|
|
192
|
+
* Map of error names to their member patches.
|
|
193
|
+
* Use this for errors not fully documented in Smithy models (e.g., PermanentRedirect).
|
|
194
|
+
* Members can include traits like httpHeader to extract values from response headers.
|
|
195
|
+
*/
|
|
196
|
+
errors: S.optional<S.Record$<typeof S.String, S.Record$<typeof S.String, S.Struct<{
|
|
197
|
+
/**
|
|
198
|
+
* The type of the member (e.g., "string", "boolean", "number")
|
|
199
|
+
*/
|
|
200
|
+
type: typeof S.String;
|
|
201
|
+
/**
|
|
202
|
+
* Whether the field is optional (default: true)
|
|
203
|
+
*/
|
|
204
|
+
optional: S.optional<typeof S.Boolean>;
|
|
205
|
+
/**
|
|
206
|
+
* HTTP header to extract this value from (e.g., "x-amz-bucket-region")
|
|
207
|
+
*/
|
|
208
|
+
httpHeader: S.optional<typeof S.String>;
|
|
209
|
+
}>>>>;
|
|
154
210
|
}>;
|
|
155
211
|
export type ServiceSpec = typeof ServiceSpec.Type;
|
|
156
212
|
/**
|
|
@@ -181,5 +237,14 @@ export declare const loadServiceSpecPatch: (serviceSdkId: string) => Effect.Effe
|
|
|
181
237
|
readonly replace?: readonly string[] | undefined;
|
|
182
238
|
};
|
|
183
239
|
} | undefined;
|
|
240
|
+
readonly errors?: {
|
|
241
|
+
readonly [x: string]: {
|
|
242
|
+
readonly [x: string]: {
|
|
243
|
+
readonly type: string;
|
|
244
|
+
readonly optional?: boolean | undefined;
|
|
245
|
+
readonly httpHeader?: string | undefined;
|
|
246
|
+
};
|
|
247
|
+
};
|
|
248
|
+
} | undefined;
|
|
184
249
|
}, never, FileSystem.FileSystem | Path.Path>;
|
|
185
250
|
//# sourceMappingURL=spec-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-schema.d.ts","sourceRoot":"","sources":["../../src/patch/spec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB;;;OAGG;;IAEH;;;OAGG;;QAvBH;;WAEG;;QAEH;;WAEG;;;EAmBH,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB;;;OAGG;;EAEH,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;;OAGG;;IAEH;;;OAGG;;EAEH,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;;QAhCH;;;WAGG;;;EA+BH,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;;
|
|
1
|
+
{"version":3,"file":"spec-schema.d.ts","sourceRoot":"","sources":["../../src/patch/spec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,cAAc;IACzB;;;OAGG;;IAEH;;;OAGG;;QAvBH;;WAEG;;QAEH;;WAEG;;;EAmBH,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB;;;OAGG;;EAEH,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,YAAY;IACvB;;;OAGG;;IAEH;;;OAGG;;EAEH,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B;;OAEG;;QAhCH;;;WAGG;;;EA+BH,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;EAEH,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC,IAAI,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,aAAa;IAlBxB;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;GAWH,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,WAAW;IACtB;;OAEG;;QA1FH;;;WAGG;;QAEH;;;WAGG;;YAvBH;;eAEG;;YAEH;;eAEG;;;;IAqGH;;;;OAIG;;QAhDH;;WAEG;;YAhCH;;;eAGG;;;;IA6EH;;;;OAIG;;QAvEH;;;WAGG;;QAEH;;;WAGG;;;IAiEH;;;;OAIG;;QAhDH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;;EAwCH,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAW/B,CAAC"}
|
package/lib/patch/spec-schema.js
CHANGED
|
@@ -69,6 +69,31 @@ export const StructureOverride = S.Struct({
|
|
|
69
69
|
*/
|
|
70
70
|
members: S.Record({ key: S.String, value: MemberOverride }),
|
|
71
71
|
});
|
|
72
|
+
/**
|
|
73
|
+
* Error member patch - adds a member to an error schema.
|
|
74
|
+
* Use this for errors not fully documented in Smithy (e.g., PermanentRedirect).
|
|
75
|
+
*/
|
|
76
|
+
export const ErrorMemberPatch = S.Struct({
|
|
77
|
+
/**
|
|
78
|
+
* The type of the member (e.g., "string", "boolean", "number")
|
|
79
|
+
*/
|
|
80
|
+
type: S.String,
|
|
81
|
+
/**
|
|
82
|
+
* Whether the field is optional (default: true)
|
|
83
|
+
*/
|
|
84
|
+
optional: S.optional(S.Boolean),
|
|
85
|
+
/**
|
|
86
|
+
* HTTP header to extract this value from (e.g., "x-amz-bucket-region")
|
|
87
|
+
*/
|
|
88
|
+
httpHeader: S.optional(S.String),
|
|
89
|
+
});
|
|
90
|
+
/**
|
|
91
|
+
* Error override - specifies members to add to an error schema
|
|
92
|
+
*/
|
|
93
|
+
export const ErrorOverride = S.Record({
|
|
94
|
+
key: S.String,
|
|
95
|
+
value: ErrorMemberPatch,
|
|
96
|
+
});
|
|
72
97
|
/**
|
|
73
98
|
* All patches for a service
|
|
74
99
|
*/
|
|
@@ -89,6 +114,12 @@ export const ServiceSpec = S.Struct({
|
|
|
89
114
|
* or with different casing than documented.
|
|
90
115
|
*/
|
|
91
116
|
enums: S.optional(S.Record({ key: S.String, value: EnumOverride })),
|
|
117
|
+
/**
|
|
118
|
+
* Map of error names to their member patches.
|
|
119
|
+
* Use this for errors not fully documented in Smithy models (e.g., PermanentRedirect).
|
|
120
|
+
* Members can include traits like httpHeader to extract values from response headers.
|
|
121
|
+
*/
|
|
122
|
+
errors: S.optional(S.Record({ key: S.String, value: ErrorOverride })),
|
|
92
123
|
});
|
|
93
124
|
/**
|
|
94
125
|
* Load spec patches for a service from spec/{service}.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-schema.js","sourceRoot":"","sources":["../../src/patch/spec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;IACd;;OAEG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM;CACb,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;CACzC,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;CAChC,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC;;;OAGG;IACH,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAClC;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;CAC5D,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAC9D;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC7E;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-schema.js","sourceRoot":"","sources":["../../src/patch/spec-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC;;;GAGG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;IACd;;OAEG;IACH,EAAE,EAAE,CAAC,CAAC,MAAM;CACb,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;CACzC,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;CAChC,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC;;;OAGG;IACH,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAClC;;;OAGG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;CAC5D,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/B;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;CACjC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,GAAG,EAAE,CAAC,CAAC,MAAM;IACb,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;IAC9D;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC7E;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACnE;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;CACtE,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,YAAoB,EAAE;IAC7E,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IACxC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CACrB,MAAM,EACN,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAC1D,CAAC;IACF,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EACzD,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAiB,CAAC,CAAC,CACzE,CAAC;AAAA,CACH,CAAC,CAAC"}
|
|
@@ -141,6 +141,8 @@ export type ExceptionLevel = "DEBUG" | (string & {});
|
|
|
141
141
|
export declare const ExceptionLevel: typeof S.String;
|
|
142
142
|
export type TargetIdList = string[];
|
|
143
143
|
export declare const TargetIdList: S.Array$<typeof S.String>;
|
|
144
|
+
export type MemoryView = "full" | "without_decryption" | (string & {});
|
|
145
|
+
export declare const MemoryView: typeof S.String;
|
|
144
146
|
export type CredentialProviderVendorType = "GoogleOauth2" | "GithubOauth2" | "SlackOauth2" | "SalesforceOauth2" | "MicrosoftOauth2" | "CustomOauth2" | "AtlassianOauth2" | "LinkedinOauth2" | "XOauth2" | "OktaOauth2" | "OneLoginOauth2" | "PingOneOauth2" | "FacebookOauth2" | "YandexOauth2" | "RedditOauth2" | "ZoomOauth2" | "TwitchOauth2" | "SpotifyOauth2" | "DropboxOauth2" | "NotionOauth2" | "HubspotOauth2" | "CyberArkOauth2" | "FusionAuthOauth2" | "Auth0Oauth2" | "CognitoOauth2" | (string & {});
|
|
145
147
|
export declare const CredentialProviderVendorType: typeof S.String;
|
|
146
148
|
export type OnlineEvaluationExecutionStatus = "ENABLED" | "DISABLED" | (string & {});
|
|
@@ -862,6 +864,7 @@ export interface UpdateGatewayTargetRequest {
|
|
|
862
864
|
export declare const UpdateGatewayTargetRequest: S.Schema<UpdateGatewayTargetRequest, UpdateGatewayTargetRequest, never>;
|
|
863
865
|
export interface GetMemoryInput {
|
|
864
866
|
memoryId: string;
|
|
867
|
+
view?: MemoryView;
|
|
865
868
|
}
|
|
866
869
|
export declare const GetMemoryInput: S.Schema<GetMemoryInput, GetMemoryInput, never>;
|
|
867
870
|
export interface DeleteMemoryInput {
|