@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
package/dist/RuntimeResources.js
CHANGED
|
@@ -26,8 +26,7 @@ const statusOfRuntimeError = {
|
|
|
26
26
|
RuntimeResourcesConflictError: 409,
|
|
27
27
|
RuntimeResourcesUnavailableError: 503,
|
|
28
28
|
};
|
|
29
|
-
|
|
30
|
-
const makeRuntimeCaller = Effect.gen(function* () {
|
|
29
|
+
const ResourcesMake = Effect.gen(function* () {
|
|
31
30
|
const tokens = yield* makeRuntimeTokens;
|
|
32
31
|
// Each attempt's scope owns its request: leaving the scope aborts it, so no response outlives its attempt.
|
|
33
32
|
const platform = HttpClient.withScope(yield* HttpClient.HttpClient).pipe(HttpClient.mapRequestEffect((request) => Config.NonEmptyString('UNNBOUND_API_URL').pipe(Effect.map((apiUrl) => HttpClientRequest.prependUrl(request, apiUrl)), Effect.mapError(() => new ApiUrlMissing()))));
|
|
@@ -58,10 +57,7 @@ const makeRuntimeCaller = Effect.gen(function* () {
|
|
|
58
57
|
return new ResourcesUnauthorizedError({ message });
|
|
59
58
|
if (status === 404)
|
|
60
59
|
return new ResourceNotFoundError({ target, message });
|
|
61
|
-
return
|
|
62
|
-
(status >= 400 && status < 500
|
|
63
|
-
? new InvalidResourceError({ target, message })
|
|
64
|
-
: new ResourcesUnavailableError({ message })));
|
|
60
|
+
return refuse(status, message) ?? new ResourcesUnavailableError({ message });
|
|
65
61
|
}
|
|
66
62
|
}
|
|
67
63
|
};
|
|
@@ -79,55 +75,27 @@ const makeRuntimeCaller = Effect.gen(function* () {
|
|
|
79
75
|
const first = yield* attempt(client.resourcesRuntime, token).pipe(Effect.map(Option.some), Effect.catchTag('TokenRefused', () => Effect.succeedNone));
|
|
80
76
|
if (Option.isSome(first))
|
|
81
77
|
return first.value;
|
|
82
|
-
|
|
83
|
-
const replacement = yield* tokens.replacing(token).pipe(Effect.mapError(() => new TokenRefused()));
|
|
84
|
-
return yield* attempt(client.resourcesRuntime, replacement);
|
|
78
|
+
return yield* attempt(client.resourcesRuntime, yield* tokens.replacing(token));
|
|
85
79
|
}).pipe(Effect.catchIf((error) => error._tag !== 'ResourcesUnauthorizedError' && error._tag !== 'ResourcesUnavailableError', (error) => Effect.fail(toReadError(error))));
|
|
86
80
|
};
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
select: (selector) => {
|
|
81
|
+
const cache = (lookup) => Cache.makeWith(lookup, {
|
|
82
|
+
capacity: CACHE_CAPACITY,
|
|
83
|
+
// A failure is not kept: the next read asks the resolver again.
|
|
84
|
+
timeToLive: (exit) => (Exit.isSuccess(exit) ? CACHE_TTL : Duration.zero),
|
|
85
|
+
});
|
|
86
|
+
const variables = yield* cache((key) => call('resolveVariable', `key ${key}`, (api, authorization) => api.resolveVariable({ headers: { authorization }, payload: { key } })));
|
|
87
|
+
const values = yield* cache((key) => call('resolveResource', `key ${key}`, (api, authorization) => api.resolveResource({ headers: { authorization }, payload: { key } }), (status, message) => (status === 409 ? new InvalidResourceError({ target: `key ${key}`, message }) : undefined)));
|
|
88
|
+
// Keyed by value: `{a,b}` and `{b,a}` share one entry, and each tenant's presented value gets its own.
|
|
89
|
+
const selections = yield* cache((selector) => {
|
|
97
90
|
const target = `${selector.resourceTypeKey} matching ${Object.keys(selector.match).join(', ')}`;
|
|
98
91
|
return call('selectResource', target, (api, authorization) => api.selectResource({ headers: { authorization }, payload: selector }), (status, message) => status === 400
|
|
99
92
|
? new ResourceNotSelectableError({ target, message })
|
|
100
93
|
: status === 409
|
|
101
94
|
? new InvalidResourceError({ target, message })
|
|
102
95
|
: undefined);
|
|
103
|
-
},
|
|
104
|
-
});
|
|
105
|
-
/** The `./resources` pool client: uncached runtime reads and the current runtime token. */
|
|
106
|
-
export const makeRuntimeResourceClient = Effect.map(makeRuntimeCaller, ({ tokens, call }) => {
|
|
107
|
-
const reads = runtimeReads(call);
|
|
108
|
-
return {
|
|
109
|
-
/**
|
|
110
|
-
* The token for one database tunnel; re-read on every call, never cached by the caller. The tunnel re-checks it
|
|
111
|
-
* every 2 s, so a token in its 30 s refresh window would end the connection when it expires.
|
|
112
|
-
*/
|
|
113
|
-
tunnelToken: tokens.current,
|
|
114
|
-
variable: (key) => unwrap(reads.variable(key)),
|
|
115
|
-
resolve: (key) => unwrap(reads.resolve(key)),
|
|
116
|
-
inspect: (key) => unwrap(reads.inspect(key)),
|
|
117
|
-
select: (selector) => Effect.map(unwrap(reads.select(selector)), (selected) => selected.key),
|
|
118
|
-
};
|
|
119
|
-
});
|
|
120
|
-
const ResourcesMake = Effect.gen(function* () {
|
|
121
|
-
const reads = runtimeReads((yield* makeRuntimeCaller).call);
|
|
122
|
-
const cache = (lookup) => Cache.makeWith(lookup, {
|
|
123
|
-
capacity: CACHE_CAPACITY,
|
|
124
|
-
// A failure is not kept: the next read asks the resolver again.
|
|
125
|
-
timeToLive: (exit) => (Exit.isSuccess(exit) ? CACHE_TTL : Duration.zero),
|
|
126
96
|
});
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
// Keyed by value: `{a,b}` and `{b,a}` share one entry, and each tenant's presented value gets its own.
|
|
130
|
-
const selections = yield* cache(reads.select);
|
|
97
|
+
// Registers the answer's secrets in the caller's context, so a cached read masks them like a fresh one.
|
|
98
|
+
const unwrap = (read) => read.pipe(Effect.tap(({ redactionMasks }) => registerSecrets(redactionMasks ?? [])), Effect.map(({ value }) => value));
|
|
131
99
|
return RuntimeResources.of({
|
|
132
100
|
variable: (key) => Effect.map(unwrap(Cache.get(variables, key)), Redacted.make),
|
|
133
101
|
// Each caller gets its own copy: the cached value is shared across requests for 30 s.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeResources.js","sourceRoot":"","sources":["../src/RuntimeResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAwB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"RuntimeResources.js","sourceRoot":"","sources":["../src/RuntimeResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAwB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,mBAAmB,GAQpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,mHAAmH;AACnH,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACvC,2GAA2G;AAC3G,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5C,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAQxE,4GAA4G;AAC5G,MAAM,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,cAAc,EAAE,EAAE,CAAC;CAAG;AACpF,MAAM,aAAc,SAAQ,MAAM,CAAC,WAAW,EAAiB,CAAC,eAAe,EAAE,EAAE,CAAC;CAAG;AAYvF,sFAAsF;AACtF,MAAM,oBAAoB,GAAG;IAC3B,+BAA+B,EAAE,GAAG;IACpC,iCAAiC,EAAE,GAAG;IACtC,8BAA8B,EAAE,GAAG;IACnC,6BAA6B,EAAE,GAAG;IAClC,6BAA6B,EAAE,GAAG;IAClC,gCAAgC,EAAE,GAAG;CACkB,CAAC;AAE1D,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC;IACxC,2GAA2G;IAC3G,MAAM,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CACtE,UAAU,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EACrE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,EAAE,CAAC,CAC3C,CACF,CACF,CAAC;IACF,0GAA0G;IAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,mBAAmB,EAAE;QAChE,UAAU,EAAE,QAAQ,CAAC,IAAI,CACvB,UAAU,CAAC,YAAY,CACrB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EACrC,GAAG,EAAE,CAAC,IAAI,YAAY,EAAE,CACzB,CACF;KACF,CAAC,CAAC;IAGH,6FAA6F;IAC7F,MAAM,IAAI,GAAG,CACX,SAAoB,EACpB,MAAc,EACd,IAAyF,EACzF,MAAM,GAAuD,GAAG,EAAE,CAAC,SAAS,EAC3C,EAAE;QACnC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,oBAAoB,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,eAAe,MAAM,KAAK,MAAM,EAAE,CAAC;QAEnH,0GAA0G;QAC1G,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAiB,EAAE;YACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,eAAe;oBAClB,OAAO,IAAI,0BAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;gBAC5F,KAAK,cAAc;oBACjB,OAAO,IAAI,0BAA0B,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACjF,KAAK,iBAAiB;oBACpB,OAAO,IAAI,yBAAyB,CAAC;wBACnC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;qBAC3F,CAAC,CAAC;gBACL,KAAK,aAAa;oBAChB,OAAO,IAAI,yBAAyB,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACjF,SAAS,CAAC;oBACR,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBACnD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;wBAAE,OAAO,IAAI,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBACzF,IAAI,MAAM,KAAK,GAAG;wBAAE,OAAO,IAAI,qBAAqB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC1E,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/E,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,+GAA+G;QAC/G,MAAM,OAAO,GAAG,CAAC,aAAqB,EAAE,KAAa,EAAE,EAAE,CACvD,IAAI,CAAC,aAAa,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC,IAAI,CACzC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,GAAG,EAAE,CACX,MAAM,CAAC,IAAI,CACT,IAAI,yBAAyB,CAAC;gBAC5B,OAAO,EAAE,MAAM,CAAC,oBAAoB,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;aAC7E,CAAC,CACH;SACJ,CAAC;QACF,4GAA4G;QAC5G,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAChE,CAAC;QAEJ,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,IAAI,CAC/D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAC1D,CAAC;YACF,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC;YAC7C,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CACZ,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,4BAA4B,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,EACpG,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAC3C,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,CAAU,MAAuC,EAAE,EAAE,CACjE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,cAAc;QACxB,gEAAgE;QAChE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;KACzE,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE,CAC7C,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAC3D,GAAG,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACtE,CACF,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAW,EAAE,EAAE,CAC1C,IAAI,CACF,iBAAiB,EACjB,OAAO,GAAG,EAAE,EACZ,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAC7F,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAChH,CACF,CAAC;IACF,uGAAuG;IACvG,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,QAA0B,EAAE,EAAE;QAC7D,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,eAAe,aAAa,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CACT,gBAAgB,EAChB,MAAM,EACN,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAC7F,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAClB,MAAM,KAAK,GAAG;YACZ,CAAC,CAAC,IAAI,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YACrD,CAAC,CAAC,MAAM,KAAK,GAAG;gBACd,CAAC,CAAC,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC/C,CAAC,CAAC,SAAS,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,wGAAwG;IACxG,MAAM,MAAM,GAAG,CACb,IAA8F,EAC9F,EAAE,CACF,IAAI,CAAC,IAAI,CACP,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,EACzE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CACjC,CAAC;IAEJ,OAAO,gBAAgB,CAAC,EAAE,CAAC;QACzB,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;QAC/E,sFAAsF;QACtF,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/F,4HAA4H;QAC5H,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CACnB,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAC1G,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAC3B;KACJ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAcH;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,OAAO,CAAC,OAAO,EAAoC,CACvF,mCAAmC,CACpC;IACC,mDAAmD;IACnD,MAAM,CAAU,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;CACvE"}
|
|
@@ -1,2 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
export declare const TransportTls: Schema.Struct<{
|
|
3
|
+
readonly caCertificate: Schema.optionalKey<Schema.String>;
|
|
4
|
+
readonly clientCertificate: Schema.optionalKey<Schema.String>;
|
|
5
|
+
readonly clientKey: Schema.optionalKey<Schema.RedactedFromValue<Schema.String>>;
|
|
6
|
+
readonly clientKeyPassphrase: Schema.optionalKey<Schema.RedactedFromValue<Schema.String>>;
|
|
7
|
+
readonly serverName: Schema.optionalKey<Schema.String>;
|
|
8
|
+
}>;
|
|
9
|
+
export declare const TransportAuth: Schema.withDecodingDefaultKey<Schema.Union<readonly [Schema.Struct<{
|
|
10
|
+
readonly type: Schema.Literal<"none">;
|
|
11
|
+
}>, Schema.Struct<{
|
|
12
|
+
readonly type: Schema.Literal<"basic">;
|
|
13
|
+
readonly username: Schema.String;
|
|
14
|
+
readonly password: Schema.RedactedFromValue<Schema.String>;
|
|
15
|
+
}>]>, never>;
|
|
16
|
+
export declare const TransportProxy: Schema.Struct<{
|
|
17
|
+
readonly url: Schema.String;
|
|
18
|
+
readonly auth: Schema.withDecodingDefaultKey<Schema.Union<readonly [Schema.Struct<{
|
|
19
|
+
readonly type: Schema.Literal<"none">;
|
|
20
|
+
}>, Schema.Struct<{
|
|
21
|
+
readonly type: Schema.Literal<"basic">;
|
|
22
|
+
readonly username: Schema.String;
|
|
23
|
+
readonly password: Schema.RedactedFromValue<Schema.String>;
|
|
24
|
+
}>]>, never>;
|
|
25
|
+
readonly tls: Schema.optionalKey<Schema.Struct<{
|
|
26
|
+
readonly caCertificate: Schema.optionalKey<Schema.String>;
|
|
27
|
+
readonly clientCertificate: Schema.optionalKey<Schema.String>;
|
|
28
|
+
readonly clientKey: Schema.optionalKey<Schema.RedactedFromValue<Schema.String>>;
|
|
29
|
+
readonly clientKeyPassphrase: Schema.optionalKey<Schema.RedactedFromValue<Schema.String>>;
|
|
30
|
+
readonly serverName: Schema.optionalKey<Schema.String>;
|
|
31
|
+
}>>;
|
|
32
|
+
}>;
|
|
2
33
|
//# sourceMappingURL=TransportResource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransportResource.d.ts","sourceRoot":"","sources":["../src/TransportResource.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TransportResource.d.ts","sourceRoot":"","sources":["../src/TransportResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKxC,eAAO,MAAM,YAAY;;;;;;EAMvB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;YAGuD,CAAC;AAElF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;EAIzB,CAAC"}
|
|
@@ -1,2 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
import { Effect, Schema } from 'effect';
|
|
2
|
+
const Secret = Schema.RedactedFromValue(Schema.String);
|
|
3
|
+
const NonEmptyString = Schema.String.check(Schema.isMinLength(1));
|
|
4
|
+
export const TransportTls = Schema.Struct({
|
|
5
|
+
caCertificate: Schema.optionalKey(Schema.String),
|
|
6
|
+
clientCertificate: Schema.optionalKey(Schema.String),
|
|
7
|
+
clientKey: Schema.optionalKey(Secret),
|
|
8
|
+
clientKeyPassphrase: Schema.optionalKey(Secret),
|
|
9
|
+
serverName: Schema.optionalKey(NonEmptyString),
|
|
10
|
+
});
|
|
11
|
+
export const TransportAuth = Schema.Union([
|
|
12
|
+
Schema.Struct({ type: Schema.Literal('none') }),
|
|
13
|
+
Schema.Struct({ type: Schema.Literal('basic'), username: Schema.String, password: Secret }),
|
|
14
|
+
]).pipe(Schema.withDecodingDefaultKey(Effect.succeed({ type: 'none' })));
|
|
15
|
+
export const TransportProxy = Schema.Struct({
|
|
16
|
+
url: NonEmptyString,
|
|
17
|
+
auth: TransportAuth,
|
|
18
|
+
tls: Schema.optionalKey(TransportTls),
|
|
19
|
+
});
|
|
2
20
|
//# sourceMappingURL=TransportResource.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransportResource.js","sourceRoot":"","sources":["../src/TransportResource.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TransportResource.js","sourceRoot":"","sources":["../src/TransportResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAChD,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACpD,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IACrC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IACxC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;CAC5F,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC;CACtC,CAAC,CAAC"}
|
package/dist/Workflow.js
CHANGED
|
@@ -8,7 +8,7 @@ import { Invocation } from './Invocation.js';
|
|
|
8
8
|
import { loggerLayer, writeStdoutLine } from './Logger.js';
|
|
9
9
|
import { HEALTHCHECK_PATH, makeManifest } from './Manifest.js';
|
|
10
10
|
import { EventRequestMiddleware, UnmatchedRequestMiddleware } from './Middleware.js';
|
|
11
|
-
import {
|
|
11
|
+
import { makeSecretMasks, SecretMasks } from './Redaction.js';
|
|
12
12
|
import { declarationLayer, declarationOf } from './Resource.js';
|
|
13
13
|
import { RuntimeResources } from './RuntimeResources.js';
|
|
14
14
|
/**
|
|
@@ -26,7 +26,7 @@ const InMemoryHttpPlatform = Layer.mergeAll(HttpPlatform.layer.pipe(Layer.provid
|
|
|
26
26
|
*/
|
|
27
27
|
const platformLayer = (platform) => Layer.mergeAll(loggerLayer(platform.writeLog ?? writeStdoutLine), httpClientLayer(platform.outboundFetch ?? ((url, init) => globalThis.fetch(url, init)))).pipe(Layer.provideMerge(Layer.mergeAll(
|
|
28
28
|
// Legacy `process.env.X ?? fallback` treated an empty variable as set.
|
|
29
|
-
ConfigProvider.layer(platform.configProvider ?? ConfigProvider.fromEnvRecord(process.env, { preserveEmptyStrings: true })), Layer.succeed(SecretMasks,
|
|
29
|
+
ConfigProvider.layer(platform.configProvider ?? ConfigProvider.fromEnvRecord(process.env, { preserveEmptyStrings: true })), Layer.succeed(SecretMasks, makeSecretMasks()), platform.clock === undefined ? Layer.empty : Layer.succeed(Clock.Clock, platform.clock))));
|
|
30
30
|
/** Platform run metadata travels in `context`; the header copies are removed so handlers cannot drift onto them. */
|
|
31
31
|
const stripPlatformHeaders = (request) => {
|
|
32
32
|
const names = [];
|
package/dist/Workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../src/Workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzF,OAAO,EAAE,IAAI,EAAmB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,cAAc,EAAqB,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGvD,OAAO,EAAE,eAAe,EAAsB,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Workflow.js","sourceRoot":"","sources":["../src/Workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ontemper/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Effect workflow SDK for Temper.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -42,10 +42,6 @@
|
|
|
42
42
|
"./as2/testing": {
|
|
43
43
|
"types": "./dist/As2Testing.d.ts",
|
|
44
44
|
"default": "./dist/As2Testing.js"
|
|
45
|
-
},
|
|
46
|
-
"./resources": {
|
|
47
|
-
"types": "./dist/Resources.d.ts",
|
|
48
|
-
"default": "./dist/Resources.js"
|
|
49
45
|
}
|
|
50
46
|
},
|
|
51
47
|
"bin": {
|
|
@@ -53,7 +49,8 @@
|
|
|
53
49
|
},
|
|
54
50
|
"files": [
|
|
55
51
|
"dist/**/*",
|
|
56
|
-
"README.md"
|
|
52
|
+
"README.md",
|
|
53
|
+
"LICENSE"
|
|
57
54
|
],
|
|
58
55
|
"engines": {
|
|
59
56
|
"bun": ">=1.3.0",
|
|
@@ -63,53 +60,24 @@
|
|
|
63
60
|
"ssh2": "1.17.0"
|
|
64
61
|
},
|
|
65
62
|
"peerDependencies": {
|
|
66
|
-
"
|
|
67
|
-
"aws-msk-iam-sasl-signer-js": "^1.0.3",
|
|
68
|
-
"effect": "4.0.6",
|
|
69
|
-
"pg": "^8.16.0",
|
|
70
|
-
"ws": "^8.18.0"
|
|
71
|
-
},
|
|
72
|
-
"peerDependenciesMeta": {
|
|
73
|
-
"@aws-sdk/credential-providers": {
|
|
74
|
-
"optional": true
|
|
75
|
-
},
|
|
76
|
-
"aws-msk-iam-sasl-signer-js": {
|
|
77
|
-
"optional": true
|
|
78
|
-
},
|
|
79
|
-
"pg": {
|
|
80
|
-
"optional": true
|
|
81
|
-
},
|
|
82
|
-
"ws": {
|
|
83
|
-
"optional": true
|
|
84
|
-
}
|
|
63
|
+
"effect": "4.0.6"
|
|
85
64
|
},
|
|
86
65
|
"devDependencies": {
|
|
87
|
-
"@aws-sdk/credential-providers": "3.1116.0",
|
|
88
|
-
"@temper/resource-type-fixtures": "0.0.0",
|
|
89
|
-
"@temper/shared": "1.0.0",
|
|
90
|
-
"@testcontainers/postgresql": "^11.14.0",
|
|
91
66
|
"@types/bun": "1.4.1",
|
|
92
67
|
"@types/node": "26.4.1",
|
|
93
|
-
"@types/pg": "^8.20.0",
|
|
94
68
|
"@types/ssh2": "1.15.5",
|
|
95
|
-
"@types/ws": "^8.18.1",
|
|
96
|
-
"aws-msk-iam-sasl-signer-js": "^1.0.3",
|
|
97
69
|
"effect": "4.0.6",
|
|
98
|
-
"
|
|
99
|
-
"pg": "^8.22.0",
|
|
100
|
-
"vitest": "^4.0.15",
|
|
101
|
-
"ws": "^8.21.3"
|
|
70
|
+
"vitest": "^4.0.15"
|
|
102
71
|
},
|
|
103
72
|
"publishConfig": {
|
|
104
73
|
"access": "public"
|
|
105
74
|
},
|
|
106
|
-
"license": "
|
|
75
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
107
76
|
"sideEffects": false,
|
|
108
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "d9bf7783684658682316083a56b33e35f37f41f6",
|
|
109
78
|
"scripts": {
|
|
110
79
|
"build": "tsc -p tsconfig.json",
|
|
111
80
|
"test": "vitest run",
|
|
112
|
-
"test:unit": "vitest run --exclude '**/*.integration.test.ts'",
|
|
113
81
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
114
82
|
}
|
|
115
83
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Config, Effect } from 'effect';
|
|
2
|
-
export declare const databaseTunnelUrl: (key: string) => Effect.Effect<string, Config.ConfigError | Error, never>;
|
|
3
|
-
/**
|
|
4
|
-
* Current runtime authorization for a PostgreSQL tunnel; never cache its token. No database client is loaded.
|
|
5
|
-
* A token provider that publishes no usable token within 10 s rejects with `ResourcesUnavailableError`.
|
|
6
|
-
*/
|
|
7
|
-
export declare function getDatabaseTunnelAuthorization(key: string): Promise<{
|
|
8
|
-
url: string;
|
|
9
|
-
token: string;
|
|
10
|
-
}>;
|
|
11
|
-
//# sourceMappingURL=DatabaseTunnelAuthorization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseTunnelAuthorization.d.ts","sourceRoot":"","sources":["../src/DatabaseTunnelAuthorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,MAAM,EAA4B,MAAM,EAAQ,MAAM,QAAQ,CAAC;AAQ/E,eAAO,MAAM,iBAAiB,QAAS,MAAM,6DASzC,CAAC;AAKL;;;GAGG;AACH,wBAAsB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBzG"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Cause, Config, ConfigProvider, Duration, Effect, Exit } from 'effect';
|
|
2
|
-
import { ResourcesUnavailableError } from './ResourcesErrors.js';
|
|
3
|
-
import { makeRuntimeTokens, TOKEN_NOT_PUBLISHED } from './ResourcesToken.js';
|
|
4
|
-
// pg's connect timeout is 10 s, so a token wait ends with the connection attempt, as `./postgresql` bounds it.
|
|
5
|
-
const TOKEN_WAIT = Duration.seconds(10);
|
|
6
|
-
// The tunnel router treats literal dots as a file extension; encode them before the key's path-component encoding.
|
|
7
|
-
export const databaseTunnelUrl = (key) => Effect.gen(function* () {
|
|
8
|
-
const apiUrl = yield* Config.NonEmptyString('UNNBOUND_API_URL');
|
|
9
|
-
const endpoint = new URL(`/api/runtime/databases/${encodeURIComponent(key.replaceAll('.', '%2E'))}/tunnel`, apiUrl);
|
|
10
|
-
if (endpoint.protocol !== 'https:' && endpoint.protocol !== 'http:') {
|
|
11
|
-
return yield* Effect.fail(new Error('Temper API URL must use HTTP or HTTPS.'));
|
|
12
|
-
}
|
|
13
|
-
endpoint.protocol = endpoint.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
14
|
-
return endpoint.href;
|
|
15
|
-
});
|
|
16
|
-
const unavailable = () => new ResourcesUnavailableError({ message: `${TOKEN_NOT_PUBLISHED} No usable token within 10 s.` });
|
|
17
|
-
/**
|
|
18
|
-
* Current runtime authorization for a PostgreSQL tunnel; never cache its token. No database client is loaded.
|
|
19
|
-
* A token provider that publishes no usable token within 10 s rejects with `ResourcesUnavailableError`.
|
|
20
|
-
*/
|
|
21
|
-
export async function getDatabaseTunnelAuthorization(key) {
|
|
22
|
-
const authorization = Effect.gen(function* () {
|
|
23
|
-
const url = yield* databaseTunnelUrl(key).pipe(
|
|
24
|
-
// The legacy message for a missing API URL, instead of Effect's ConfigError.
|
|
25
|
-
Effect.catchTag('ConfigError', () => Effect.fail(new Error('UNNBOUND_API_URL is not defined.'))));
|
|
26
|
-
const tokens = yield* makeRuntimeTokens;
|
|
27
|
-
const token = yield* tokens.current.pipe(Effect.timeoutOrElse({ duration: TOKEN_WAIT, orElse: () => Effect.fail(unavailable()) }), Effect.catchIf((error) => error._tag === 'ResourcesUnauthorizedError' && error.message === TOKEN_NOT_PUBLISHED, () => Effect.fail(unavailable())));
|
|
28
|
-
return { url, token };
|
|
29
|
-
});
|
|
30
|
-
const exit = await Effect.runPromiseExit(authorization.pipe(Effect.provide(ConfigProvider.layer(ConfigProvider.fromEnvRecord(process.env, { preserveEmptyStrings: true })))));
|
|
31
|
-
if (Exit.isSuccess(exit))
|
|
32
|
-
return exit.value;
|
|
33
|
-
throw Cause.squash(exit.cause);
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=DatabaseTunnelAuthorization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseTunnelAuthorization.js","sourceRoot":"","sources":["../src/DatabaseTunnelAuthorization.ts"],"names":[],"mappings":"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"}
|
package/dist/Kafka.d.ts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import type { KafkaResource } from './ResourceRecords.js';
|
|
2
|
-
export declare class OptionalKafkaDependencyError extends Error {
|
|
3
|
-
constructor(packageName: string);
|
|
4
|
-
}
|
|
5
|
-
export declare class UnsupportedKafkaAuthError extends Error {
|
|
6
|
-
constructor(field: string);
|
|
7
|
-
}
|
|
8
|
-
type MskToken = {
|
|
9
|
-
token: string;
|
|
10
|
-
expiryTime: number;
|
|
11
|
-
};
|
|
12
|
-
type MskSigner = {
|
|
13
|
-
generateAuthToken(options: {
|
|
14
|
-
region: string;
|
|
15
|
-
}): Promise<MskToken>;
|
|
16
|
-
generateAuthTokenFromCredentialsProvider(options: {
|
|
17
|
-
region: string;
|
|
18
|
-
awsCredentialsProvider: () => Promise<{
|
|
19
|
-
accessKeyId: string;
|
|
20
|
-
secretAccessKey: string;
|
|
21
|
-
sessionToken?: string;
|
|
22
|
-
}>;
|
|
23
|
-
}): Promise<MskToken>;
|
|
24
|
-
};
|
|
25
|
-
type AwsCredentialsProvider = () => Promise<{
|
|
26
|
-
accessKeyId: string;
|
|
27
|
-
secretAccessKey: string;
|
|
28
|
-
sessionToken?: string;
|
|
29
|
-
expiration?: Date;
|
|
30
|
-
}>;
|
|
31
|
-
type CredentialProviders = {
|
|
32
|
-
fromTemporaryCredentials(options: {
|
|
33
|
-
params: {
|
|
34
|
-
RoleArn: string;
|
|
35
|
-
RoleSessionName: string;
|
|
36
|
-
ExternalId?: string;
|
|
37
|
-
};
|
|
38
|
-
clientConfig?: {
|
|
39
|
-
region: string;
|
|
40
|
-
};
|
|
41
|
-
}): AwsCredentialsProvider;
|
|
42
|
-
};
|
|
43
|
-
export interface KafkaConfigOptions {
|
|
44
|
-
readonly fetch?: typeof fetch;
|
|
45
|
-
readonly now?: () => number;
|
|
46
|
-
readonly loadMskSigner?: () => Promise<MskSigner>;
|
|
47
|
-
readonly loadCredentialProviders?: () => Promise<CredentialProviders>;
|
|
48
|
-
}
|
|
49
|
-
/** TLS options for `ssl`; structurally a subset of Node `tls.ConnectionOptions`. */
|
|
50
|
-
export interface KafkaClientTlsOptions {
|
|
51
|
-
ca?: string;
|
|
52
|
-
cert?: string;
|
|
53
|
-
key?: string;
|
|
54
|
-
passphrase?: string;
|
|
55
|
-
servername?: string;
|
|
56
|
-
}
|
|
57
|
-
/** SASL options for `sasl`; each variant is assignable to the matching KafkaJS `SASLOptions` variant. */
|
|
58
|
-
export type KafkaClientSasl = {
|
|
59
|
-
mechanism: 'plain';
|
|
60
|
-
username: string;
|
|
61
|
-
password: string;
|
|
62
|
-
} | {
|
|
63
|
-
mechanism: 'scram-sha-256';
|
|
64
|
-
username: string;
|
|
65
|
-
password: string;
|
|
66
|
-
} | {
|
|
67
|
-
mechanism: 'scram-sha-512';
|
|
68
|
-
username: string;
|
|
69
|
-
password: string;
|
|
70
|
-
} | {
|
|
71
|
-
mechanism: 'oauthbearer';
|
|
72
|
-
oauthBearerProvider: () => Promise<{
|
|
73
|
-
value: string;
|
|
74
|
-
}>;
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* The options `kafkaConfig` returns, assignable to KafkaJS `KafkaConfig`.
|
|
78
|
-
* SDK-owned, so the published declarations do not import `kafkajs` for consumers that do not install it.
|
|
79
|
-
*/
|
|
80
|
-
export interface KafkaClientConfig {
|
|
81
|
-
brokers: string[];
|
|
82
|
-
clientId?: string;
|
|
83
|
-
ssl?: boolean | KafkaClientTlsOptions;
|
|
84
|
-
sasl?: KafkaClientSasl;
|
|
85
|
-
}
|
|
86
|
-
/** Maps a resolved Kafka record to the options accepted by `new Kafka(...)`. */
|
|
87
|
-
export declare function kafkaConfig(resource: KafkaResource, options?: KafkaConfigOptions): KafkaClientConfig;
|
|
88
|
-
export {};
|
|
89
|
-
//# sourceMappingURL=Kafka.d.ts.map
|
package/dist/Kafka.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Kafka.d.ts","sourceRoot":"","sources":["../src/Kafka.ts"],"names":[],"mappings":"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"}
|