@ontemper/sdk 0.7.1-postgresql.6 → 0.8.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/LICENSE +28 -0
- package/README.md +8 -59
- package/dist/As2Resource.d.ts +76 -431
- package/dist/As2Resource.d.ts.map +1 -1
- package/dist/As2Resource.js +30 -31
- package/dist/As2Resource.js.map +1 -1
- package/dist/As2Transport.d.ts.map +1 -1
- package/dist/As2Transport.js +1 -3
- package/dist/As2Transport.js.map +1 -1
- package/dist/As2Wire.d.ts +0 -39
- package/dist/As2Wire.d.ts.map +1 -1
- package/dist/Contract/RuntimeApi.d.ts +0 -19
- package/dist/Contract/RuntimeApi.d.ts.map +1 -1
- package/dist/Contract/RuntimeApi.js +1 -1
- package/dist/Contract/RuntimeApi.js.map +1 -1
- package/dist/Edi.d.ts.map +1 -1
- package/dist/Edi.js +5 -6
- package/dist/Edi.js.map +1 -1
- package/dist/HttpApiResource.d.ts +160 -2899
- package/dist/HttpApiResource.d.ts.map +1 -1
- package/dist/HttpApiResource.js +60 -82
- package/dist/HttpApiResource.js.map +1 -1
- package/dist/Manifest.d.ts +1 -1
- package/dist/Manifest.d.ts.map +1 -1
- package/dist/Manifest.js +1 -1
- package/dist/Manifest.js.map +1 -1
- package/dist/Redaction.d.ts +1 -5
- package/dist/Redaction.d.ts.map +1 -1
- package/dist/Redaction.js +6 -28
- package/dist/Redaction.js.map +1 -1
- package/dist/ResourcesToken.d.ts +0 -2
- package/dist/ResourcesToken.d.ts.map +1 -1
- package/dist/ResourcesToken.js +1 -3
- package/dist/ResourcesToken.js.map +1 -1
- package/dist/RuntimeResources.d.ts +2 -16
- package/dist/RuntimeResources.d.ts.map +1 -1
- package/dist/RuntimeResources.js +14 -46
- package/dist/RuntimeResources.js.map +1 -1
- package/dist/TransportResource.d.ts +32 -1
- package/dist/TransportResource.d.ts.map +1 -1
- package/dist/TransportResource.js +19 -1
- package/dist/TransportResource.js.map +1 -1
- package/dist/Workflow.js +2 -2
- package/dist/Workflow.js.map +1 -1
- package/package.json +7 -39
- package/dist/DatabaseTunnelAuthorization.d.ts +0 -11
- package/dist/DatabaseTunnelAuthorization.d.ts.map +0 -1
- package/dist/DatabaseTunnelAuthorization.js +0 -35
- package/dist/DatabaseTunnelAuthorization.js.map +0 -1
- package/dist/Kafka.d.ts +0 -89
- package/dist/Kafka.d.ts.map +0 -1
- package/dist/Kafka.js +0 -297
- package/dist/Kafka.js.map +0 -1
- package/dist/PostgreSql.d.ts +0 -24
- package/dist/PostgreSql.d.ts.map +0 -1
- package/dist/PostgreSql.js +0 -55
- package/dist/PostgreSql.js.map +0 -1
- package/dist/PostgreSqlPool.d.ts +0 -32
- package/dist/PostgreSqlPool.d.ts.map +0 -1
- package/dist/PostgreSqlPool.js +0 -118
- package/dist/PostgreSqlPool.js.map +0 -1
- package/dist/PostgreSqlTimeouts.d.ts +0 -6
- package/dist/PostgreSqlTimeouts.d.ts.map +0 -1
- package/dist/PostgreSqlTimeouts.js +0 -17
- package/dist/PostgreSqlTimeouts.js.map +0 -1
- package/dist/PostgreSqlTunnel.d.ts +0 -25
- package/dist/PostgreSqlTunnel.d.ts.map +0 -1
- package/dist/PostgreSqlTunnel.js +0 -114
- package/dist/PostgreSqlTunnel.js.map +0 -1
- package/dist/ResourceRecords.d.ts +0 -1086
- package/dist/ResourceRecords.d.ts.map +0 -1
- package/dist/ResourceRecords.js +0 -303
- package/dist/ResourceRecords.js.map +0 -1
- package/dist/Resources.d.ts +0 -14
- package/dist/Resources.d.ts.map +0 -1
- package/dist/Resources.js +0 -14
- package/dist/Resources.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceRecords.d.ts","sourceRoot":"","sources":["../src/ResourceRecords.ts"],"names":[],"mappings":"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"}
|
package/dist/ResourceRecords.js
DELETED
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import { Effect, Predicate, Redacted, Schema, SchemaAST, SchemaTransformation } from 'effect';
|
|
2
|
-
import { As2IdentityResource, As2PartnerResource } from './As2Resource.js';
|
|
3
|
-
import { AbsoluteHttpUrl, AwsAuth, HttpApiResource, HttpProxy, OAuthTokenRequest, recordStruct, TlsSettings, } from './HttpApiResource.js';
|
|
4
|
-
import { SDK_VERSION } from './Manifest.js';
|
|
5
|
-
import { InvalidResourceError } from './ResourcesErrors.js';
|
|
6
|
-
const Secret = Schema.RedactedFromValue(Schema.String);
|
|
7
|
-
const NonEmptySecret = Schema.RedactedFromValue(Schema.String.check(Schema.isMinLength(1)));
|
|
8
|
-
const NonEmptyString = Schema.String.check(Schema.isMinLength(1));
|
|
9
|
-
const Port = Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 65_535 }));
|
|
10
|
-
// Legacy SSH ports accept every integer, including those outside the safe-integer range and TCP port range.
|
|
11
|
-
const SshPort = Schema.Number.check(Schema.makeFilter(Number.isInteger, { expected: 'an integer', toJsonSchema: () => ({ type: 'integer' }) }));
|
|
12
|
-
const SshAlgorithms = recordStruct({
|
|
13
|
-
kex: Schema.optional(Schema.Array(Schema.String)),
|
|
14
|
-
serverHostKey: Schema.optional(Schema.Array(Schema.String)),
|
|
15
|
-
cipher: Schema.optional(Schema.Array(Schema.String)),
|
|
16
|
-
hmac: Schema.optional(Schema.Array(Schema.String)),
|
|
17
|
-
});
|
|
18
|
-
/** A `postgresql` record; `sslmode` carries libpq semantics, and `tls` the CA and client certificate. */
|
|
19
|
-
export const PostgresqlResource = recordStruct({
|
|
20
|
-
host: NonEmptyString,
|
|
21
|
-
port: Port.pipe(Schema.withDecodingDefault(Effect.succeed(5432))),
|
|
22
|
-
dbname: NonEmptyString,
|
|
23
|
-
user: NonEmptyString,
|
|
24
|
-
// Closed: the type decides how the client signs in.
|
|
25
|
-
auth: Schema.Union([
|
|
26
|
-
recordStruct({ type: Schema.Literal('password'), password: Secret }),
|
|
27
|
-
recordStruct({ type: Schema.Literal('rds_iam'), region: NonEmptyString, awsAuth: AwsAuth }),
|
|
28
|
-
recordStruct({ type: Schema.Literal('none') }),
|
|
29
|
-
]),
|
|
30
|
-
// Closed: libpq's weaker `allow` and `prefer` would map to no TLS at all.
|
|
31
|
-
sslmode: Schema.Literals(['disable', 'require', 'verify-ca', 'verify-full']).pipe(Schema.withDecodingDefault(Effect.succeed('verify-full'))),
|
|
32
|
-
tls: Schema.optional(TlsSettings),
|
|
33
|
-
sshTunnel: Schema.optional(recordStruct({
|
|
34
|
-
host: NonEmptyString,
|
|
35
|
-
port: SshPort.pipe(Schema.withDecodingDefault(Effect.succeed(22))),
|
|
36
|
-
username: Schema.String,
|
|
37
|
-
auth: Schema.Union([
|
|
38
|
-
recordStruct({
|
|
39
|
-
type: Schema.Literal('credentials'),
|
|
40
|
-
password: Schema.optional(Secret),
|
|
41
|
-
privateKey: Schema.optional(Secret),
|
|
42
|
-
passphrase: Schema.optional(Secret),
|
|
43
|
-
}),
|
|
44
|
-
]).pipe(Schema.withDecodingDefault(Effect.succeed({ type: 'credentials' }))),
|
|
45
|
-
hostKeyFingerprints: Schema.optional(Schema.Array(NonEmptyString)),
|
|
46
|
-
algorithms: Schema.optional(SshAlgorithms),
|
|
47
|
-
})),
|
|
48
|
-
options: Schema.optional(Schema.String),
|
|
49
|
-
});
|
|
50
|
-
// The port is 1-65535 without leading zeros, as the API catalog requires; `\s` is spelled out for deploy's RE2.
|
|
51
|
-
const KafkaBroker = Schema.String.check(Schema.isPattern(/^(\[[0-9A-Fa-f:.]+\]|[^\t\n\v\f\r\p{Z}:/@[\]]+):(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$/u), Schema.makeFilter((broker) => !broker.includes(String.fromCodePoint(0xfeff)), {
|
|
52
|
-
expected: 'a broker without whitespace',
|
|
53
|
-
toJsonSchema: () => ({ not: { pattern: String.fromCodePoint(0xfeff) } }),
|
|
54
|
-
}));
|
|
55
|
-
const KafkaAuth = Schema.Union([
|
|
56
|
-
recordStruct({ type: Schema.Literal('none') }),
|
|
57
|
-
recordStruct({ type: Schema.Literal('sasl_plain'), username: Schema.String, password: Secret }),
|
|
58
|
-
recordStruct({
|
|
59
|
-
type: Schema.Literal('sasl_scram'),
|
|
60
|
-
mechanism: Schema.Literals(['SCRAM-SHA-256', 'SCRAM-SHA-512']).pipe(Schema.withDecodingDefault(Effect.succeed('SCRAM-SHA-512'))),
|
|
61
|
-
username: Schema.String,
|
|
62
|
-
password: Secret,
|
|
63
|
-
}),
|
|
64
|
-
recordStruct({ type: Schema.Literal('oauthbearer'), tokenRequest: OAuthTokenRequest }),
|
|
65
|
-
recordStruct({ type: Schema.Literal('aws_msk_iam'), region: NonEmptyString, awsAuth: AwsAuth }),
|
|
66
|
-
]);
|
|
67
|
-
/** A `kafka` record: bootstrap brokers, the `auth` variant, and `tls`, whose presence turns TLS on. */
|
|
68
|
-
export const KafkaResource = recordStruct({
|
|
69
|
-
brokers: Schema.Array(KafkaBroker).check(Schema.isMinLength(1)),
|
|
70
|
-
clientId: Schema.optional(Schema.String),
|
|
71
|
-
// Closed: the type decides the SASL mechanism, and a client that falls back on an unknown one signs in without it.
|
|
72
|
-
auth: KafkaAuth,
|
|
73
|
-
tls: Schema.optional(TlsSettings),
|
|
74
|
-
}).check(
|
|
75
|
-
// MSK IAM and OAuth bearer send a token in the SASL payload; without `tls` it would cross the network in plaintext.
|
|
76
|
-
Schema.makeFilter(({ auth, tls }) => (auth.type !== 'aws_msk_iam' && auth.type !== 'oauthbearer') ||
|
|
77
|
-
tls !== undefined || { path: ['tls'], issue: 'Expected tls with aws_msk_iam or oauthbearer' }));
|
|
78
|
-
/** An `s3` record: bucket, region, an optional S3-compatible endpoint, and the AWS credential source under `auth`. */
|
|
79
|
-
export const S3Resource = recordStruct({
|
|
80
|
-
bucket: NonEmptyString,
|
|
81
|
-
region: NonEmptyString.pipe(Schema.withDecodingDefault(Effect.succeed('us-east-1'))),
|
|
82
|
-
endpoint: Schema.optional(AbsoluteHttpUrl),
|
|
83
|
-
pathStyle: Schema.Boolean.pipe(Schema.withDecodingDefault(Effect.succeed(false))),
|
|
84
|
-
prefix: Schema.optional(Schema.String),
|
|
85
|
-
// Closed and required: `ambient` is an explicit choice (Temper-operated runtimes refuse it), never a fallback.
|
|
86
|
-
auth: AwsAuth,
|
|
87
|
-
tls: Schema.optional(TlsSettings),
|
|
88
|
-
proxy: Schema.optional(HttpProxy),
|
|
89
|
-
});
|
|
90
|
-
// Closed: the type decides which identity the client presents, and a guess could fall back to anonymous access.
|
|
91
|
-
const AzureAuth = Schema.Union([
|
|
92
|
-
recordStruct({ type: Schema.Literal('shared_key'), accountKey: NonEmptySecret }),
|
|
93
|
-
recordStruct({ type: Schema.Literal('sas'), sasToken: NonEmptySecret }),
|
|
94
|
-
recordStruct({
|
|
95
|
-
type: Schema.Literal('service_principal'),
|
|
96
|
-
tenantId: NonEmptyString,
|
|
97
|
-
clientId: NonEmptyString,
|
|
98
|
-
clientSecret: NonEmptySecret,
|
|
99
|
-
}),
|
|
100
|
-
recordStruct({
|
|
101
|
-
type: Schema.Literal('service_principal_certificate'),
|
|
102
|
-
tenantId: NonEmptyString,
|
|
103
|
-
clientId: NonEmptyString,
|
|
104
|
-
certificatePem: NonEmptySecret,
|
|
105
|
-
}),
|
|
106
|
-
recordStruct({ type: Schema.Literal('ambient') }),
|
|
107
|
-
]);
|
|
108
|
-
/** An `azure_blob` record: account, container, endpoint, and the credential source under `auth`. */
|
|
109
|
-
export const AzureBlobResource = recordStruct({
|
|
110
|
-
accountName: NonEmptyString,
|
|
111
|
-
containerName: NonEmptyString,
|
|
112
|
-
// A full Blob service URL (Azurite, a gateway, a custom domain); it overrides `endpointSuffix`.
|
|
113
|
-
endpoint: Schema.optional(AbsoluteHttpUrl),
|
|
114
|
-
endpointSuffix: NonEmptyString.pipe(Schema.withDecodingDefault(Effect.succeed('core.windows.net'))),
|
|
115
|
-
prefix: Schema.optional(Schema.String),
|
|
116
|
-
auth: AzureAuth,
|
|
117
|
-
tls: Schema.optional(TlsSettings),
|
|
118
|
-
proxy: Schema.optional(HttpProxy),
|
|
119
|
-
});
|
|
120
|
-
const sftpFields = {
|
|
121
|
-
host: NonEmptyString,
|
|
122
|
-
port: SshPort.pipe(Schema.withDecodingDefault(Effect.succeed(22))),
|
|
123
|
-
username: NonEmptyString,
|
|
124
|
-
// Closed: the type decides which credentials the client offers.
|
|
125
|
-
auth: Schema.Union([
|
|
126
|
-
recordStruct({ type: Schema.Literal('password'), password: Secret }),
|
|
127
|
-
recordStruct({
|
|
128
|
-
type: Schema.Literal('private_key'),
|
|
129
|
-
privateKey: Secret,
|
|
130
|
-
passphrase: Schema.optional(Secret),
|
|
131
|
-
}),
|
|
132
|
-
recordStruct({
|
|
133
|
-
type: Schema.Literal('private_key_and_password'),
|
|
134
|
-
privateKey: Secret,
|
|
135
|
-
passphrase: Schema.optional(Secret),
|
|
136
|
-
password: Secret,
|
|
137
|
-
}),
|
|
138
|
-
]),
|
|
139
|
-
hostKeyFingerprints: Schema.optional(Schema.Array(NonEmptyString)),
|
|
140
|
-
algorithms: Schema.optional(SshAlgorithms),
|
|
141
|
-
};
|
|
142
|
-
const SftpLifted = Schema.toType(recordStruct({
|
|
143
|
-
...sftpFields,
|
|
144
|
-
password: Schema.optional(Schema.Redacted(Schema.Unknown)),
|
|
145
|
-
privateKey: Schema.optional(Schema.Redacted(Schema.Unknown)),
|
|
146
|
-
passphrase: Schema.optional(Schema.Redacted(Schema.Unknown)),
|
|
147
|
-
}));
|
|
148
|
-
/**
|
|
149
|
-
* An `sftp` record; `hostKeyFingerprints` are the `SHA256:` fingerprints the client must pin when set. The
|
|
150
|
-
* credentials under `auth` are also lifted to the top level. Lifted values are Redacted<unknown>: legacy also copies
|
|
151
|
-
* undeclared credential fields; narrow those values before use, or read the typed fields of the auth variant.
|
|
152
|
-
*/
|
|
153
|
-
export const SftpResource = recordStruct(sftpFields).pipe(Schema.decodeTo(SftpLifted, SchemaTransformation.transform({
|
|
154
|
-
decode: (record) => {
|
|
155
|
-
const lifted = {};
|
|
156
|
-
for (const field of ['password', 'privateKey', 'passphrase']) {
|
|
157
|
-
const value = record.auth[field];
|
|
158
|
-
if (value !== undefined)
|
|
159
|
-
lifted[field] = Redacted.isRedacted(value) ? value : Redacted.make(value);
|
|
160
|
-
}
|
|
161
|
-
// Legacy lifting overwrites root credential copies, including stale fields the auth variant does not use.
|
|
162
|
-
const { password: _password, privateKey: _privateKey, passphrase: _passphrase, ...fields } = record;
|
|
163
|
-
return { ...fields, ...lifted };
|
|
164
|
-
},
|
|
165
|
-
encode: ({ password: _password, privateKey: _privateKey, passphrase: _passphrase, ...record }) => record,
|
|
166
|
-
})));
|
|
167
|
-
const CLIENT_NAME = '@ontemper/sdk';
|
|
168
|
-
/**
|
|
169
|
-
* A built-in record holds a value this SDK does not know in a closed field: one that chooses TLS, where a key
|
|
170
|
-
* travels, or AS2 cryptography, where a guess would weaken security silently. The message names the fields and this
|
|
171
|
-
* SDK's version, never the value, which can be a mis-pointed secret.
|
|
172
|
-
*/
|
|
173
|
-
export class UnknownRecordValueError extends Schema.TaggedError()('UnknownRecordValueError', {
|
|
174
|
-
key: Schema.String,
|
|
175
|
-
fields: Schema.Array(Schema.String),
|
|
176
|
-
clientVersion: Schema.String,
|
|
177
|
-
message: Schema.String,
|
|
178
|
-
}) {
|
|
179
|
-
static of(key, fields) {
|
|
180
|
-
const subject = fields.length === 1 ? `field ${fields[0]} uses a value` : `fields ${fields.join(', ')} use values`;
|
|
181
|
-
return new UnknownRecordValueError({
|
|
182
|
-
key,
|
|
183
|
-
fields,
|
|
184
|
-
clientVersion: SDK_VERSION,
|
|
185
|
-
message: `record ${key}: ${subject} this ${CLIENT_NAME} version (${SDK_VERSION}) does not know; ` +
|
|
186
|
-
'upgrade to a release that supports it',
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
// Only these schemas mirror the platform catalog; a caller's own closed value failing is not an outdated SDK.
|
|
191
|
-
const BUILT_IN_RECORDS = new Set([
|
|
192
|
-
HttpApiResource,
|
|
193
|
-
SftpResource,
|
|
194
|
-
PostgresqlResource,
|
|
195
|
-
KafkaResource,
|
|
196
|
-
S3Resource,
|
|
197
|
-
AzureBlobResource,
|
|
198
|
-
As2IdentityResource,
|
|
199
|
-
As2PartnerResource,
|
|
200
|
-
]);
|
|
201
|
-
const isJsonObject = Schema.is(Schema.JsonObject);
|
|
202
|
-
const isJsonArray = Schema.is(Schema.Array(Schema.Json));
|
|
203
|
-
// The resolved value at an issue's path; closed values sit in objects, and arrays only hold brokers and fingerprints.
|
|
204
|
-
const valueAt = (value, path) => path.reduce((current, segment) => {
|
|
205
|
-
if (isJsonArray(current))
|
|
206
|
-
return current[Number(segment)];
|
|
207
|
-
return isJsonObject(current) ? current[segment] : undefined;
|
|
208
|
-
}, value);
|
|
209
|
-
// The one property every member of a union of structs fixes to a literal, such as `type` or `mode`.
|
|
210
|
-
const discriminatorOf = (types) => {
|
|
211
|
-
const literalKeys = (ast) => SchemaAST.isObjects(ast)
|
|
212
|
-
? ast.propertySignatures.filter((field) => SchemaAST.isLiteral(field.type)).map((field) => String(field.name))
|
|
213
|
-
: [];
|
|
214
|
-
const [first, ...rest] = types;
|
|
215
|
-
if (first === undefined)
|
|
216
|
-
return undefined;
|
|
217
|
-
return literalKeys(first).find((key) => rest.every((member) => literalKeys(member).includes(key)));
|
|
218
|
-
};
|
|
219
|
-
// Never the received value: a secret mis-pointed at the field would land in the error.
|
|
220
|
-
const leafMessage = (issue) => {
|
|
221
|
-
if (issue._tag === 'MissingKey')
|
|
222
|
-
return 'Missing key';
|
|
223
|
-
const invalid = issue._tag === 'Filter' ? issue.issue : issue;
|
|
224
|
-
const message = invalid._tag === 'InvalidValue' ? invalid.annotations?.message : undefined;
|
|
225
|
-
if (Predicate.isString(message))
|
|
226
|
-
return message;
|
|
227
|
-
const expected = issue._tag === 'Filter' ? issue.filter.annotations?.expected : undefined;
|
|
228
|
-
return Predicate.isString(expected) ? `Expected ${expected}` : 'Invalid value';
|
|
229
|
-
};
|
|
230
|
-
const unionFindings = (union, path, value) => {
|
|
231
|
-
if (!SchemaAST.isUnion(union))
|
|
232
|
-
return [{ path, message: 'Invalid value', unknownValue: false }];
|
|
233
|
-
const types = union.types.filter((member) => !SchemaAST.isUndefined(member));
|
|
234
|
-
const only = types[0];
|
|
235
|
-
if (types.length === 1 && only !== undefined && SchemaAST.isUnion(only))
|
|
236
|
-
return unionFindings(only, path, value);
|
|
237
|
-
const at = valueAt(value, path);
|
|
238
|
-
if (types.every(SchemaAST.isLiteral)) {
|
|
239
|
-
return [{ path, message: 'Invalid value', unknownValue: Predicate.isString(at) }];
|
|
240
|
-
}
|
|
241
|
-
const discriminator = discriminatorOf(types);
|
|
242
|
-
if (discriminator === undefined || !isJsonObject(at))
|
|
243
|
-
return [{ path, message: 'Invalid value', unknownValue: false }];
|
|
244
|
-
const received = at[discriminator];
|
|
245
|
-
return [
|
|
246
|
-
{
|
|
247
|
-
path: [...path, discriminator],
|
|
248
|
-
message: received === undefined ? 'Missing key' : 'Invalid value',
|
|
249
|
-
unknownValue: Predicate.isString(received),
|
|
250
|
-
},
|
|
251
|
-
];
|
|
252
|
-
};
|
|
253
|
-
function findings(issue, path, value) {
|
|
254
|
-
switch (issue._tag) {
|
|
255
|
-
case 'Pointer':
|
|
256
|
-
return findings(issue.issue, [...path, ...issue.path.map(String)], value);
|
|
257
|
-
case 'Composite':
|
|
258
|
-
return issue.issues.flatMap((inner) => findings(inner, path, value));
|
|
259
|
-
case 'Encoding':
|
|
260
|
-
return findings(issue.issue, path, value);
|
|
261
|
-
case 'Filter':
|
|
262
|
-
// A filter that names a field (`{ path, issue }`) reports at that field.
|
|
263
|
-
return issue.issue._tag === 'Pointer'
|
|
264
|
-
? findings(issue.issue, path, value)
|
|
265
|
-
: [{ path, message: leafMessage(issue), unknownValue: false }];
|
|
266
|
-
case 'AnyOf': {
|
|
267
|
-
if (issue.issues.length === 0)
|
|
268
|
-
return unionFindings(issue.ast, path, value);
|
|
269
|
-
const candidates = issue.issues.map((inner) => findings(inner, path, value));
|
|
270
|
-
// A catch-all member that fails only at `type` (`HttpApiAuth`'s unsupported variant) is not the intended one.
|
|
271
|
-
const intended = candidates.filter((found) => !found.every((finding) => finding.path.length === path.length + 1 && finding.path.at(-1) === 'type'));
|
|
272
|
-
return (intended.length > 0 ? intended : candidates).flat();
|
|
273
|
-
}
|
|
274
|
-
default:
|
|
275
|
-
return [{ path, message: leafMessage(issue), unknownValue: false }];
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
const PATTERN_MESSAGE = 'Expected a string matching the RegExp';
|
|
279
|
-
/**
|
|
280
|
-
* Decodes a resolved record. A mismatch names the fields, never their values; a built-in record with a closed value
|
|
281
|
-
* this SDK does not know fails with `UnknownRecordValueError`.
|
|
282
|
-
*/
|
|
283
|
-
export const decodeRecord = (schema, key, value) => Schema.decodeUnknownEffect(schema)(value, { errors: 'all' }).pipe(Effect.mapError((error) => {
|
|
284
|
-
const found = findings(error.issue, [], value);
|
|
285
|
-
const unknown = [
|
|
286
|
-
...new Set(found.filter((finding) => finding.unknownValue).map((finding) => finding.path.join('.'))),
|
|
287
|
-
];
|
|
288
|
-
if (BUILT_IN_RECORDS.has(schema) && unknown.length > 0)
|
|
289
|
-
return UnknownRecordValueError.of(key, unknown);
|
|
290
|
-
const lines = found.map((finding) => ({
|
|
291
|
-
field: finding.path.join('.') || '<root>',
|
|
292
|
-
message: finding.message,
|
|
293
|
-
}));
|
|
294
|
-
// Overlapping patterns and custom checks can fail together; the custom message says why.
|
|
295
|
-
const shown = lines.filter(({ field, message }) => !message.startsWith(PATTERN_MESSAGE) ||
|
|
296
|
-
!lines.some((other) => other.field === field && !other.message.startsWith(PATTERN_MESSAGE)));
|
|
297
|
-
const issues = [...new Set(shown.map(({ field, message }) => `${field}: ${message}`))];
|
|
298
|
-
return new InvalidResourceError({
|
|
299
|
-
target: `key ${key}`,
|
|
300
|
-
message: `Resource ${key} does not match the expected schema: ${issues.join('; ')}`,
|
|
301
|
-
});
|
|
302
|
-
}));
|
|
303
|
-
//# sourceMappingURL=ResourceRecords.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceRecords.js","sourceRoot":"","sources":["../src/ResourceRecords.ts"],"names":[],"mappings":"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"}
|
package/dist/Resources.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resource pools, records, and Kafka client options:
|
|
3
|
-
* `import { makePostgresqlPool, KafkaResource, kafkaConfig } from '@temper/workflow/resources'`. PostgreSQL pools load
|
|
4
|
-
* the optional `pg` and `ws` peers when a pool is built, and Kafka's optional AWS peers load only for MSK IAM, so
|
|
5
|
-
* importing this module needs none.
|
|
6
|
-
*/
|
|
7
|
-
export { As2IdentityResource, As2PartnerResource } from './As2Resource.js';
|
|
8
|
-
export { getDatabaseTunnelAuthorization } from './DatabaseTunnelAuthorization.js';
|
|
9
|
-
export { HttpApiAuth, HttpApiResource, HttpApiUnsupportedAuth, HttpProxy, OAuthTokenRequest, TlsSettings, } from './HttpApiResource.js';
|
|
10
|
-
export { createPostgresqlPool, makePostgresqlPool, type PostgresqlPoolError } from './PostgreSql.js';
|
|
11
|
-
export { AzureBlobResource, type JsonObject, type JsonValue, KafkaResource, PostgresqlResource, S3Resource, SftpResource, UnknownRecordValueError, } from './ResourceRecords.js';
|
|
12
|
-
export { kafkaConfig, type KafkaClientConfig, type KafkaClientSasl, type KafkaClientTlsOptions, type KafkaConfigOptions, OptionalKafkaDependencyError, UnsupportedKafkaAuthError, } from './Kafka.js';
|
|
13
|
-
export { InvalidResourceError, ResourceNotFoundError, ResourceNotSelectableError, ResourcesUnauthorizedError, ResourcesUnavailableError, } from './ResourcesErrors.js';
|
|
14
|
-
//# sourceMappingURL=Resources.d.ts.map
|
package/dist/Resources.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Resources.d.ts","sourceRoot":"","sources":["../src/Resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EACL,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErG,OAAO,EACL,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC"}
|
package/dist/Resources.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Resource pools, records, and Kafka client options:
|
|
3
|
-
* `import { makePostgresqlPool, KafkaResource, kafkaConfig } from '@temper/workflow/resources'`. PostgreSQL pools load
|
|
4
|
-
* the optional `pg` and `ws` peers when a pool is built, and Kafka's optional AWS peers load only for MSK IAM, so
|
|
5
|
-
* importing this module needs none.
|
|
6
|
-
*/
|
|
7
|
-
export { As2IdentityResource, As2PartnerResource } from './As2Resource.js';
|
|
8
|
-
export { getDatabaseTunnelAuthorization } from './DatabaseTunnelAuthorization.js';
|
|
9
|
-
export { HttpApiAuth, HttpApiResource, HttpApiUnsupportedAuth, HttpProxy, OAuthTokenRequest, TlsSettings, } from './HttpApiResource.js';
|
|
10
|
-
export { createPostgresqlPool, makePostgresqlPool } from './PostgreSql.js';
|
|
11
|
-
export { AzureBlobResource, KafkaResource, PostgresqlResource, S3Resource, SftpResource, UnknownRecordValueError, } from './ResourceRecords.js';
|
|
12
|
-
export { kafkaConfig, OptionalKafkaDependencyError, UnsupportedKafkaAuthError, } from './Kafka.js';
|
|
13
|
-
export { InvalidResourceError, ResourceNotFoundError, ResourceNotSelectableError, ResourcesUnauthorizedError, ResourcesUnavailableError, } from './ResourcesErrors.js';
|
|
14
|
-
//# sourceMappingURL=Resources.js.map
|
package/dist/Resources.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Resources.js","sourceRoot":"","sources":["../src/Resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EACL,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,SAAS,EACT,iBAAiB,EACjB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAA4B,MAAM,iBAAiB,CAAC;AAErG,OAAO,EACL,iBAAiB,EAGjB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EAKX,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC"}
|