@opentdf/sdk 0.4.0-beta.18 → 0.4.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/access.js +1 -16
- package/dist/cjs/src/auth/oidc-refreshtoken-provider.js +1 -15
- package/dist/cjs/src/index.js +2 -4
- package/dist/cjs/src/opentdf.js +12 -64
- package/dist/cjs/src/platform.js +3 -14
- package/dist/cjs/src/seekable.js +1 -32
- package/dist/cjs/src/utils.js +3 -57
- package/dist/types/src/access.d.ts +0 -15
- package/dist/types/src/access.d.ts.map +1 -1
- package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts +0 -14
- package/dist/types/src/auth/oidc-refreshtoken-provider.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +0 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/opentdf.d.ts +6 -126
- package/dist/types/src/opentdf.d.ts.map +1 -1
- package/dist/types/src/platform.d.ts +0 -16
- package/dist/types/src/platform.d.ts.map +1 -1
- package/dist/types/src/seekable.d.ts +0 -31
- package/dist/types/src/seekable.d.ts.map +1 -1
- package/dist/types/src/utils.d.ts +2 -56
- package/dist/types/src/utils.d.ts.map +1 -1
- package/dist/web/src/access.js +1 -16
- package/dist/web/src/auth/oidc-refreshtoken-provider.js +1 -15
- package/dist/web/src/index.js +1 -2
- package/dist/web/src/opentdf.js +12 -64
- package/dist/web/src/platform.js +3 -14
- package/dist/web/src/seekable.js +1 -32
- package/dist/web/src/utils.js +3 -57
- package/package.json +3 -5
- package/src/access.ts +0 -15
- package/src/auth/oidc-refreshtoken-provider.ts +0 -14
- package/src/index.ts +0 -1
- package/src/opentdf.ts +71 -147
- package/src/platform.ts +5 -17
- package/src/seekable.ts +0 -31
- package/src/utils.ts +2 -56
package/dist/cjs/src/utils.js
CHANGED
|
@@ -44,32 +44,15 @@ function validateSecureUrl(url) {
|
|
|
44
44
|
}
|
|
45
45
|
return true;
|
|
46
46
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Pads a URL with a trailing slash if it does not already have one.
|
|
49
|
-
* This is useful for ensuring that URLs are in a consistent format.
|
|
50
|
-
* @param u The URL to pad.
|
|
51
|
-
* @returns The padded URL.
|
|
52
|
-
*/
|
|
53
47
|
function padSlashToUrl(u) {
|
|
54
48
|
if (u.endsWith('/')) {
|
|
55
49
|
return u;
|
|
56
50
|
}
|
|
57
51
|
return `${u}/`;
|
|
58
52
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Checks if the current environment is a browser.
|
|
61
|
-
* This is useful for determining if certain APIs or features are available.
|
|
62
|
-
* @returns true if running in a browser, false otherwise.
|
|
63
|
-
*/
|
|
64
53
|
function isBrowser() {
|
|
65
54
|
return typeof window !== 'undefined'; // eslint-disable-line
|
|
66
55
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Removes trailing characters from a string.
|
|
69
|
-
* @param str The string to trim.
|
|
70
|
-
* @param suffix The suffix to remove (default is a single space).
|
|
71
|
-
* @returns The trimmed string.
|
|
72
|
-
*/
|
|
73
56
|
const rstrip = (str, suffix = ' ') => {
|
|
74
57
|
while (str && suffix && str.endsWith(suffix)) {
|
|
75
58
|
str = str.slice(0, -suffix.length);
|
|
@@ -113,15 +96,6 @@ const estimateSkewFromHeaders = (headers, dateNowBefore) => {
|
|
|
113
96
|
return Math.round((deltaBefore + deltaAfter) / 2);
|
|
114
97
|
};
|
|
115
98
|
exports.estimateSkewFromHeaders = estimateSkewFromHeaders;
|
|
116
|
-
/**
|
|
117
|
-
* Adds new lines to a string every 64 characters.
|
|
118
|
-
* @param str A string to add new lines to.
|
|
119
|
-
* This function takes a string and adds new lines every 64 characters.
|
|
120
|
-
* If the string is empty or undefined, it returns the original string.
|
|
121
|
-
* This is useful for formatting long strings, such as public keys or certificates,
|
|
122
|
-
* to ensure they are properly formatted for PEM encoding.
|
|
123
|
-
* @returns The formatted string with new lines added.
|
|
124
|
-
*/
|
|
125
99
|
function addNewLines(str) {
|
|
126
100
|
if (!str) {
|
|
127
101
|
return str;
|
|
@@ -134,11 +108,6 @@ function addNewLines(str) {
|
|
|
134
108
|
}
|
|
135
109
|
return finalString;
|
|
136
110
|
}
|
|
137
|
-
/**
|
|
138
|
-
* Creates a PEM-encoded string from a public key.
|
|
139
|
-
* @param publicKey The public key to convert.
|
|
140
|
-
* @returns A promise that resolves to a PEM-encoded string.
|
|
141
|
-
*/
|
|
142
111
|
async function cryptoPublicToPem(publicKey) {
|
|
143
112
|
if (publicKey.type !== 'public') {
|
|
144
113
|
throw new errors_js_1.ConfigurationError('incorrect key type');
|
|
@@ -148,11 +117,6 @@ async function cryptoPublicToPem(publicKey) {
|
|
|
148
117
|
const pem = addNewLines(b64);
|
|
149
118
|
return `-----BEGIN PUBLIC KEY-----\r\n${pem}-----END PUBLIC KEY-----`;
|
|
150
119
|
}
|
|
151
|
-
/**
|
|
152
|
-
* Converts a PEM-encoded public key to a CryptoKey.
|
|
153
|
-
* @param pem The PEM-encoded public key.
|
|
154
|
-
* @returns A promise that resolves to a CryptoKey.
|
|
155
|
-
*/
|
|
156
120
|
async function pemToCryptoPublicKey(pem) {
|
|
157
121
|
if (/-----BEGIN PUBLIC KEY-----/.test(pem)) {
|
|
158
122
|
return (0, pemPublicToCrypto_js_1.pemPublicToCrypto)(pem);
|
|
@@ -165,15 +129,6 @@ async function pemToCryptoPublicKey(pem) {
|
|
|
165
129
|
// - When converting between PEM and CryptoKey formats for user provided session keys (e.g. for DPoP)
|
|
166
130
|
throw new TypeError(`unsupported pem type [${pem}]`);
|
|
167
131
|
}
|
|
168
|
-
/**
|
|
169
|
-
* Extracts the PEM-encoded public key from a key string.
|
|
170
|
-
* @param keyString A string containing a public key or certificate.
|
|
171
|
-
* This function extracts the PEM-encoded public key from a given key string.
|
|
172
|
-
* If the key string contains a certificate, it imports the certificate and exports
|
|
173
|
-
* the public key in PEM format. If the key string is already in PEM format, it returns
|
|
174
|
-
* the key string as is.
|
|
175
|
-
* @returns A promise that resolves to a PEM-encoded public key.
|
|
176
|
-
*/
|
|
177
132
|
async function extractPemFromKeyString(keyString) {
|
|
178
133
|
let pem = keyString;
|
|
179
134
|
// Skip the public key extraction if we find that the KAS url provides a
|
|
@@ -186,12 +141,6 @@ async function extractPemFromKeyString(keyString) {
|
|
|
186
141
|
}
|
|
187
142
|
/**
|
|
188
143
|
* Extracts the error message from an RPC catch error.
|
|
189
|
-
* @param error An error object, typically from a network request.
|
|
190
|
-
* This function extracts the error message from a ConnectError or a generic Error.
|
|
191
|
-
* If the error is a ConnectError or a standard Error, it returns the message.
|
|
192
|
-
* If the error is of an unknown type, it returns a default message indicating
|
|
193
|
-
* that an unknown network error occurred.
|
|
194
|
-
* @returns The extracted error message.
|
|
195
144
|
*/
|
|
196
145
|
function extractRpcErrorMessage(error) {
|
|
197
146
|
if (error instanceof connect_1.ConnectError || error instanceof Error) {
|
|
@@ -201,11 +150,8 @@ function extractRpcErrorMessage(error) {
|
|
|
201
150
|
}
|
|
202
151
|
/**
|
|
203
152
|
* Converts a KAS endpoint URL to a platform URL.
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
* It removes any trailing slashes and specific path segments related to rewrap or kas.
|
|
207
|
-
* This is useful for obtaining the base URL for further API requests.
|
|
208
|
-
* @returns The base URL of the platform.
|
|
153
|
+
* If the KAS endpoint ends with '/kas', it returns the host url
|
|
154
|
+
* Otherwise, it returns the original KAS endpoint.
|
|
209
155
|
*/
|
|
210
156
|
function getPlatformUrlFromKasEndpoint(endpoint) {
|
|
211
157
|
let result = endpoint || '';
|
|
@@ -220,4 +166,4 @@ function getPlatformUrlFromKasEndpoint(endpoint) {
|
|
|
220
166
|
}
|
|
221
167
|
return result;
|
|
222
168
|
}
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBcUJBLDhDQWNDO0FBRUQsc0NBS0M7QUFFRCw4QkFFQztBQWdERCxrQ0FXQztBQUVELDhDQVNDO0FBRUQsb0RBVUM7QUFFRCwwREFXQztBQUtELHdEQUtDO0FBT0Qsc0VBWUM7QUExS0QsK0JBQThDO0FBRTlDLG1EQUE4QztBQUM5QyxnRkFBMkY7QUFDM0YsMkNBQWlEO0FBQ2pELGlEQUFtRDtBQUVuRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsR0FBVztJQUMzQyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDN0IsSUFBSSx3REFBd0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2RSxPQUFPLENBQUMsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7U0FBTSxJQUNMLHNEQUFzRCxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDaEUseURBQXlELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNuRSxDQUFDO1FBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO1NBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNqQyxPQUFPLENBQUMsS0FBSyxDQUFDLHNFQUFzRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxDQUFTO0lBQ3JDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gs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
|
|
@@ -34,12 +34,6 @@ export type KasPublicKeyInfo = {
|
|
|
34
34
|
key: Promise<CryptoKey>;
|
|
35
35
|
};
|
|
36
36
|
export declare function noteInvalidPublicKey(url: URL, r: Promise<CryptoKey>): Promise<CryptoKey>;
|
|
37
|
-
/**
|
|
38
|
-
* Fetches the key access servers for a given platform URL.
|
|
39
|
-
* @param platformUrl The platform URL to fetch key access servers for.
|
|
40
|
-
* @param authProvider The authentication provider to use for the request.
|
|
41
|
-
* @returns A promise that resolves to an OriginAllowList.
|
|
42
|
-
*/
|
|
43
37
|
export declare function fetchKeyAccessServers(platformUrl: string, authProvider: AuthProvider): Promise<OriginAllowList>;
|
|
44
38
|
/**
|
|
45
39
|
* Fetch the EC (secp256r1) public key for a KAS endpoint.
|
|
@@ -58,15 +52,6 @@ export declare function fetchECKasPubKey(kasEndpoint: string): Promise<KasPublic
|
|
|
58
52
|
* @returns The public key information.
|
|
59
53
|
*/
|
|
60
54
|
export declare function fetchKasPubKey(kasEndpoint: string, algorithm?: KasPublicKeyAlgorithm): Promise<KasPublicKeyInfo>;
|
|
61
|
-
/**
|
|
62
|
-
* Manages a list of origins that are allowed to access the Key Access Server (KAS).
|
|
63
|
-
* @origins A list of origins that are allowed to access the KAS.
|
|
64
|
-
* @allowAll If true, all origins are allowed to access the KAS.
|
|
65
|
-
* If false, only the origins in the list are allowed to access the KAS.
|
|
66
|
-
* @description This class is used to manage a list of origins that are allowed to access the KAS.
|
|
67
|
-
* It validates the URLs and provides a method to check if a given URL is allowed.
|
|
68
|
-
* It is used to ensure that only authorized origins can access the KAS.
|
|
69
|
-
*/
|
|
70
55
|
export declare class OriginAllowList {
|
|
71
56
|
origins: string[];
|
|
72
57
|
allowAll: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAa1D,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,cAAc,GACd,cAAc,GACd,UAAU,GACV,UAAU,CAAC;AAEf,eAAO,MAAM,oBAAoB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,qBAErD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,GAAG,SAAS,KAAG,qBA8B/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,GAAG,qBAAqB,KAAG,MAelE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IAEZ,2DAA2D;IAC3D,SAAS,EAAE,qBAAqB,CAAC;IAEjC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAElB;;+CAE2C;IAC3C,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACzB,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAS9F;AAED
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../src/access.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAa1D,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,cAAc,CAAC,CAYzB;AAED,MAAM,MAAM,qBAAqB,GAC7B,cAAc,GACd,cAAc,GACd,cAAc,GACd,UAAU,GACV,UAAU,CAAC;AAEf,eAAO,MAAM,oBAAoB,GAAI,GAAG,MAAM,KAAG,CAAC,IAAI,qBAErD,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,GAAG,SAAS,KAAG,qBA8B/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,GAAG,qBAAqB,KAAG,MAelE,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IAEZ,2DAA2D;IAC3D,SAAS,EAAE,qBAAqB,CAAC;IAEjC,oEAAoE;IACpE,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAElB;;+CAE2C;IAC3C,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;CACzB,CAAC;AAEF,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAS9F;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAErF;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,qBAAqB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAW3B;AAWD,qBAAa,eAAe;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;gBACN,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO;IAK9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAM7B"}
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
import { type AuthProvider, type HttpRequest } from './auth.js';
|
|
2
2
|
import { AccessToken, type RefreshTokenCredentials } from './oidc.js';
|
|
3
|
-
/**
|
|
4
|
-
* An AuthProvider that uses an OIDC refresh token to obtain an access token.
|
|
5
|
-
* It exchanges the refresh token for an access token and uses that to augment HTTP requests with credentials.
|
|
6
|
-
* @example
|
|
7
|
-
* ```ts
|
|
8
|
-
* import { OIDCRefreshTokenProvider } from '@opentdf/sdk';
|
|
9
|
-
* await AuthProviders.refreshAuthProvider({
|
|
10
|
-
clientId: 'my-client-id',
|
|
11
|
-
exchange: 'refresh',
|
|
12
|
-
refreshToken: 'refresh-token-from-oidc-provider',
|
|
13
|
-
oidcOrigin: 'https://example.oidc.provider.com',
|
|
14
|
-
});
|
|
15
|
-
```
|
|
16
|
-
*/
|
|
17
3
|
export declare class OIDCRefreshTokenProvider implements AuthProvider {
|
|
18
4
|
oidcAuth: AccessToken;
|
|
19
5
|
refreshToken?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc-refreshtoken-provider.d.ts","sourceRoot":"","sources":["../../../../src/auth/oidc-refreshtoken-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEtE
|
|
1
|
+
{"version":3,"file":"oidc-refreshtoken-provider.d.ts","sourceRoot":"","sources":["../../../../src/auth/oidc-refreshtoken-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEtE,qBAAa,wBAAyB,YAAW,YAAY;IAC3D,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAEV,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,GACX,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;IAczE,qBAAqB,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAU5D"}
|
|
@@ -2,7 +2,6 @@ export { type AuthProvider, type HttpMethod, HttpRequest, withHeaders } from './
|
|
|
2
2
|
export * as AuthProviders from './auth/providers.js';
|
|
3
3
|
export { attributeFQNsAsValues } from './policy/api.js';
|
|
4
4
|
export { version, clientType, tdfSpecVersion } from './version.js';
|
|
5
|
-
export { PlatformClient, type PlatformClientOptions, type PlatformServices } from './platform.js';
|
|
6
5
|
export * from './opentdf.js';
|
|
7
6
|
export * from './seekable.js';
|
|
8
7
|
export * from '../tdf3/src/models/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9F,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnE,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC"}
|
|
@@ -11,154 +11,77 @@ import { type Segment, type SplitType, type EncryptionInformation } from '../tdf
|
|
|
11
11
|
import { type KeyAccessObject } from '../tdf3/src/models/key-access.js';
|
|
12
12
|
import { type IntegrityAlgorithm } from '../tdf3/src/tdf.js';
|
|
13
13
|
export { type Assertion, type EncryptionInformation, type IntegrityAlgorithm, type KasPublicKeyAlgorithm, type KeyAccessObject, type Manifest, type Payload, type Segment, type SplitType, isPublicKeyAlgorithm, };
|
|
14
|
-
/** A map of key identifiers to cryptographic keys. */
|
|
15
14
|
export type Keys = {
|
|
16
15
|
[keyID: string]: CryptoKey | CryptoKeyPair;
|
|
17
16
|
};
|
|
18
|
-
/** Options for creating a new TDF object, shared between all container types. */
|
|
19
17
|
export type CreateOptions = {
|
|
20
|
-
/** If the policy service should be used to control creation options. */
|
|
21
18
|
autoconfigure?: boolean;
|
|
22
|
-
/** List of attributes that will be assigned to the object's policy. */
|
|
23
19
|
attributes?: string[];
|
|
24
|
-
/**
|
|
25
|
-
* If set and positive, this represents the maxiumum number of bytes to read from a stream to encrypt.
|
|
26
|
-
* This is helpful for enforcing size limits and preventing DoS attacks.
|
|
27
|
-
*/
|
|
28
20
|
byteLimit?: number;
|
|
29
|
-
/** The KAS to use for creation, if none is specified by the attribute service. */
|
|
30
21
|
defaultKASEndpoint?: string;
|
|
31
|
-
/** Private (or shared) keys for signing assertions and bindings. */
|
|
32
22
|
signers?: Keys;
|
|
33
|
-
/** Source of plaintext data. */
|
|
34
23
|
source: Source;
|
|
35
24
|
};
|
|
36
|
-
/** Options for creating a NanoTDF. */
|
|
37
25
|
export type CreateNanoTDFOptions = CreateOptions & {
|
|
38
|
-
/** The type of binding to use for the NanoTDF. */
|
|
39
26
|
bindingType?: 'ecdsa' | 'gmac';
|
|
40
|
-
/** When creating a new collection, use ECDSA binding with this key id from the signers, instead of the DEK. */
|
|
41
27
|
ecdsaBindingKeyID?: string;
|
|
42
|
-
/**
|
|
43
|
-
* When creating a new collection, use the key in the `signers` list with this id
|
|
44
|
-
* to generate a signature for each element. When absent, the nanotdf is unsigned.
|
|
45
|
-
*/
|
|
46
28
|
signingKeyID?: string;
|
|
47
29
|
};
|
|
48
|
-
/** Options for creating a NanoTDF collection. */
|
|
49
30
|
export type CreateNanoTDFCollectionOptions = CreateNanoTDFOptions & {
|
|
50
|
-
/** The platform URL. */
|
|
51
31
|
platformUrl: string;
|
|
52
|
-
/** The maximum number of key iterations to use for a single DEK. */
|
|
53
32
|
maxKeyIterations?: number;
|
|
54
33
|
};
|
|
55
|
-
/** Metadata for a TDF object. */
|
|
56
34
|
export type Metadata = object;
|
|
57
|
-
/** MIME type of the decrypted content. */
|
|
58
35
|
export type MimeType = `${string}/${string}`;
|
|
59
|
-
/** Template for a Key Access Object (KAO) to be filled in during encrypt. */
|
|
60
36
|
export type SplitStep = {
|
|
61
|
-
/** Which KAS to use to rewrap this segment of the key. */
|
|
62
37
|
kas: string;
|
|
63
|
-
/**
|
|
64
|
-
* An identifier for a key segment.
|
|
65
|
-
* Leave empty to share the key.
|
|
66
|
-
*/
|
|
67
38
|
sid?: string;
|
|
68
39
|
};
|
|
69
|
-
/** Options specific to the ZTDF container format. */
|
|
70
40
|
export type CreateZTDFOptions = CreateOptions & {
|
|
71
|
-
/** Configuration for bound metadata. */
|
|
72
41
|
assertionConfigs?: AssertionConfig[];
|
|
73
|
-
/** Unbound metadata (deprecated). */
|
|
74
42
|
metadata?: Metadata;
|
|
75
|
-
/** MIME type of the decrypted content. Used for display. */
|
|
76
43
|
mimeType?: MimeType;
|
|
77
|
-
/** How to split or share the data encryption key across multiple KASes. */
|
|
78
44
|
splitPlan?: SplitStep[];
|
|
79
|
-
/**
|
|
80
|
-
* The segment size for the content; smaller is slower, but allows faster random access.
|
|
81
|
-
* The current default is 1 MiB (2^20 bytes).
|
|
82
|
-
*/
|
|
83
45
|
windowSize?: number;
|
|
84
|
-
/** Preferred algorithm to use for Key Access Objects. */
|
|
85
46
|
wrappingKeyAlgorithm?: KasPublicKeyAlgorithm;
|
|
86
|
-
/** TDF spec version to target. */
|
|
87
47
|
tdfSpecVersion?: '4.2.2' | '4.3.0';
|
|
88
48
|
};
|
|
89
|
-
/** Settings for decrypting any variety of TDF file. */
|
|
90
49
|
export type ReadOptions = {
|
|
91
|
-
/** The ciphertext source. */
|
|
92
50
|
source: Source;
|
|
93
|
-
/** The platform URL. */
|
|
94
51
|
platformUrl?: string;
|
|
95
|
-
/** List of KASes that may be contacted for a rewrap. */
|
|
96
52
|
allowedKASEndpoints?: string[];
|
|
97
|
-
/** Optionally disable checking the allowlist. */
|
|
98
53
|
ignoreAllowlist?: boolean;
|
|
99
|
-
/** Public (or shared) keys for verifying assertions. */
|
|
100
54
|
assertionVerificationKeys?: AssertionVerificationKeys;
|
|
101
|
-
/** Optionally disable assertion verification. */
|
|
102
55
|
noVerify?: boolean;
|
|
103
|
-
/** If set, prevents more than this number of concurrent requests to the KAS. */
|
|
104
56
|
concurrencyLimit?: number;
|
|
105
|
-
/** Type of key to use for wrapping responses. */
|
|
106
57
|
wrappingKeyAlgorithm?: KasPublicKeyAlgorithm;
|
|
107
58
|
};
|
|
108
|
-
/** Defaults and shared settings that are relevant to creating TDF objects. */
|
|
109
59
|
export type OpenTDFOptions = {
|
|
110
|
-
/** Policy service endpoint. */
|
|
111
60
|
policyEndpoint?: string;
|
|
112
|
-
/** Platform URL. */
|
|
113
61
|
platformUrl?: string;
|
|
114
|
-
/** Auth provider for connections to the policy service and KASes. */
|
|
115
62
|
authProvider: AuthProvider;
|
|
116
|
-
/** Default settings for 'encrypt' type requests. */
|
|
117
63
|
defaultCreateOptions?: Omit<CreateOptions, 'source'>;
|
|
118
|
-
/** Default settings for 'decrypt' type requests. */
|
|
119
64
|
defaultReadOptions?: Omit<ReadOptions, 'source'>;
|
|
120
|
-
/** If we want to *not* send a DPoP token. */
|
|
121
65
|
disableDPoP?: boolean;
|
|
122
|
-
/**
|
|
123
|
-
* Optional keys for DPoP requests to a server.
|
|
124
|
-
* These often must be registered via a DPoP flow with the IdP
|
|
125
|
-
* which is out of the scope of this library.
|
|
126
|
-
*/
|
|
127
66
|
dpopKeys?: Promise<CryptoKeyPair>;
|
|
128
|
-
/** Configuration options for the collection header cache. */
|
|
129
67
|
rewrapCacheOptions?: RewrapCacheOptions;
|
|
130
68
|
};
|
|
131
|
-
/** A decorated readable stream. */
|
|
132
69
|
export type DecoratedStream = ReadableStream<Uint8Array> & {
|
|
133
|
-
/** If the source is a TDF3/ZTDF, and includes metadata, and it has been read. */
|
|
134
70
|
metadata?: Promise<unknown>;
|
|
135
|
-
/** The TDF manifest. */
|
|
136
71
|
manifest?: Promise<Manifest>;
|
|
137
|
-
/** If the source is a NanoTDF, this will be set. */
|
|
138
72
|
header?: Header;
|
|
139
73
|
};
|
|
140
|
-
/** Configuration options for the collection header cache. */
|
|
141
74
|
export type RewrapCacheOptions = {
|
|
142
|
-
/** If we should disable (bypass) the cache. */
|
|
143
75
|
bypass?: boolean;
|
|
144
|
-
/** Evict keys after this many milliseconds. */
|
|
145
76
|
maxAge?: number;
|
|
146
|
-
/** Check for expired keys once every this many milliseconds. */
|
|
147
77
|
pollInterval?: number;
|
|
148
78
|
};
|
|
149
|
-
/**
|
|
150
|
-
* Cache for headers of nanotdf collections, to quickly open multiple entries of the same collection.
|
|
151
|
-
* It has a demon that removes all keys that have not been accessed in the last 5 minutes.
|
|
152
|
-
* To cancel the demon, and clear the cache, call `close()`.
|
|
153
|
-
* */
|
|
154
79
|
export declare class RewrapCache {
|
|
155
80
|
private cache?;
|
|
156
81
|
private closer?;
|
|
157
82
|
constructor(opts?: RewrapCacheOptions);
|
|
158
83
|
get(key: Uint8Array): CryptoKey | undefined;
|
|
159
|
-
/** Set a key in the cache. */
|
|
160
84
|
set(key: Uint8Array, value: CryptoKey): void;
|
|
161
|
-
/** Close the cache and release any resources. */
|
|
162
85
|
close(): void;
|
|
163
86
|
}
|
|
164
87
|
/**
|
|
@@ -182,78 +105,35 @@ export type TDFReader = {
|
|
|
182
105
|
*/
|
|
183
106
|
attributes: () => Promise<string[]>;
|
|
184
107
|
};
|
|
185
|
-
/**
|
|
186
|
-
* The main OpenTDF class that provides methods for creating and reading TDF files.
|
|
187
|
-
* It supports both NanoTDF and ZTDF formats.
|
|
188
|
-
* It can be used to create new TDF files and read existing ones.
|
|
189
|
-
* This class is the entry point for using the OpenTDF SDK.
|
|
190
|
-
* It requires an authentication provider to be passed in the constructor.
|
|
191
|
-
* It also requires a platform URL to be set, which is used to fetch key access servers and policies.
|
|
192
|
-
* @example
|
|
193
|
-
* ```
|
|
194
|
-
* import { type Chunker, OpenTDF } from '@opentdf/sdk';
|
|
195
|
-
*
|
|
196
|
-
* const oidcCredentials: RefreshTokenCredentials = {
|
|
197
|
-
* clientId: keycloakClientId,
|
|
198
|
-
* exchange: 'refresh',
|
|
199
|
-
* refreshToken: refreshToken,
|
|
200
|
-
* oidcOrigin: keycloakUrl,
|
|
201
|
-
* };
|
|
202
|
-
* const authProvider = await AuthProviders.refreshAuthProvider(oidcCredentials);
|
|
203
|
-
*
|
|
204
|
-
* const client = new OpenTDF({
|
|
205
|
-
* authProvider,
|
|
206
|
-
* platformUrl: 'https://platform.example.com',
|
|
207
|
-
* });
|
|
208
|
-
*
|
|
209
|
-
* const cipherText = await client.createZTDF({
|
|
210
|
-
* source: { type: 'stream', location: source },
|
|
211
|
-
* autoconfigure: false,
|
|
212
|
-
* });
|
|
213
|
-
*
|
|
214
|
-
* const clearText = await client.read({ type: 'stream', location: cipherText });
|
|
215
|
-
* ```
|
|
216
|
-
*/
|
|
217
108
|
export declare class OpenTDF {
|
|
218
|
-
/** The platform URL */
|
|
219
109
|
readonly platformUrl: string;
|
|
220
|
-
/** The policy service endpoint */
|
|
221
110
|
readonly policyEndpoint: string;
|
|
222
|
-
/** The auth provider for the OpenTDF instance. */
|
|
223
111
|
readonly authProvider: AuthProvider;
|
|
224
|
-
/** If DPoP is enabled for this instance. */
|
|
225
112
|
readonly dpopEnabled: boolean;
|
|
226
|
-
/** Default options for creating TDF objects. */
|
|
227
113
|
defaultCreateOptions: Omit<CreateOptions, 'source'>;
|
|
228
|
-
/** Default options for reading TDF objects. */
|
|
229
114
|
defaultReadOptions: Omit<ReadOptions, 'source'>;
|
|
230
|
-
/** The DPoP keys for this instance, if any. */
|
|
231
115
|
readonly dpopKeys: Promise<CryptoKeyPair>;
|
|
232
|
-
/** Cache for rewrapped keys */
|
|
233
116
|
private readonly rewrapCache;
|
|
234
|
-
/** The TDF3 client for encrypting and decrypting ZTDF files. */
|
|
235
117
|
readonly tdf3Client: TDF3Client;
|
|
236
118
|
constructor({ authProvider, dpopKeys, defaultCreateOptions, defaultReadOptions, disableDPoP, policyEndpoint, rewrapCacheOptions, platformUrl, }: OpenTDFOptions);
|
|
237
|
-
/** Creates a new NanoTDF stream. */
|
|
238
119
|
createNanoTDF(opts: CreateNanoTDFOptions): Promise<DecoratedStream>;
|
|
239
120
|
/**
|
|
240
121
|
* Creates a new collection object, which can be used to encrypt a series of data with the same policy.
|
|
122
|
+
* @returns
|
|
241
123
|
*/
|
|
242
124
|
createNanoTDFCollection(opts: CreateNanoTDFCollectionOptions): Promise<NanoTDFCollectionWriter>;
|
|
243
|
-
/** Creates a new ZTDF stream. */
|
|
244
125
|
createZTDF(opts: CreateZTDFOptions): Promise<DecoratedStream>;
|
|
245
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* Opens a TDF file for inspection and decryption.
|
|
128
|
+
* @param opts the file to open, and any appropriate configuration options
|
|
129
|
+
* @returns
|
|
130
|
+
*/
|
|
246
131
|
open(opts: ReadOptions): TDFReader;
|
|
247
|
-
/** Decrypts a TDF file. */
|
|
248
132
|
read(opts: ReadOptions): Promise<DecoratedStream>;
|
|
249
|
-
/** Closes the OpenTDF instance and releases any resources. */
|
|
250
133
|
close(): void;
|
|
251
134
|
}
|
|
252
|
-
/** A writer for NanoTDF collections. */
|
|
253
135
|
export type NanoTDFCollectionWriter = {
|
|
254
|
-
/** The NanoTDF client used for encrypting data in this collection. */
|
|
255
136
|
encrypt: (source: Source) => Promise<ReadableStream<Uint8Array>>;
|
|
256
|
-
/** Closes the collection and releases any resources. */
|
|
257
137
|
close: () => Promise<void>;
|
|
258
138
|
};
|
|
259
139
|
//# sourceMappingURL=opentdf.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentdf.d.ts","sourceRoot":"","sources":["../../../src/opentdf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAuC,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EACL,KAAK,SAAS,EACd,eAAe,EACf,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,qBAAqB,EAG1B,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC3B,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,oBAAoB,GACrB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"opentdf.d.ts","sourceRoot":"","sources":["../../../src/opentdf.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,11 +27,8 @@ export interface PlatformServices {
|
|
|
27
27
|
wellknown: Client<typeof WellKnownService>;
|
|
28
28
|
}
|
|
29
29
|
export interface PlatformClientOptions {
|
|
30
|
-
/** Optional authentication provider for generating auth interceptor. */
|
|
31
30
|
authProvider?: AuthProvider;
|
|
32
|
-
/** Array of custom interceptors to apply to rpc requests. */
|
|
33
31
|
interceptors?: Interceptor[];
|
|
34
|
-
/** Base URL of the platform API. */
|
|
35
32
|
platformUrl: string;
|
|
36
33
|
}
|
|
37
34
|
/**
|
|
@@ -43,20 +40,7 @@ export interface PlatformClientOptions {
|
|
|
43
40
|
*
|
|
44
41
|
* This client supports authentication via an `AuthProvider` or custom interceptors, which can
|
|
45
42
|
* be used to add authentication headers or other custom logic to outgoing requests.
|
|
46
|
-
* @example
|
|
47
|
-
* ```
|
|
48
|
-
* import { AuthProviders, OpenTDF } from '@opentdf/sdk';
|
|
49
|
-
* import { PlatformClient } from '@opentdf/sdk/platform';
|
|
50
43
|
*
|
|
51
|
-
* const authProvider: AuthProvider = await AuthProviders.refreshAuthProvider({...});
|
|
52
|
-
* const platform = new PlatformClient({
|
|
53
|
-
* authProvider,
|
|
54
|
-
* platformUrl: 'https://platform.example.com',
|
|
55
|
-
* });
|
|
56
|
-
*
|
|
57
|
-
* const wellKnownResponse = await platform.v1.wellknown.getWellKnownConfiguration({});
|
|
58
|
-
* console.log('Well-known configuration:', wellKnownResponse.configuration);
|
|
59
|
-
* ```
|
|
60
44
|
*/
|
|
61
45
|
export declare class PlatformClient {
|
|
62
46
|
readonly v1: PlatformServices;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/platform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,eAAe,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAgB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iEAAiE,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gEAAgE,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,uBAAuB,EAAE,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACvE,SAAS,EAAE,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACvD,cAAc,EAAE,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/platform.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,eAAe,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAgB,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iEAAiE,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gEAAgE,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0DAA0D,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,uBAAuB,EAAE,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACvE,SAAS,EAAE,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC3C,eAAe,EAAE,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACvD,cAAc,EAAE,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,qBAAqB;IAEpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAE7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC;gBAElB,OAAO,EAAE,qBAAqB;CA+B3C"}
|
|
@@ -29,41 +29,10 @@ export type Source = {
|
|
|
29
29
|
* @param fileRef the browser file data
|
|
30
30
|
*/
|
|
31
31
|
export declare const fromBrowserFile: (fileRef: Blob) => Chunker;
|
|
32
|
-
/**
|
|
33
|
-
* Creates a seekable object from a buffer.
|
|
34
|
-
* @param source A Uint8Array to read from.
|
|
35
|
-
* If byteStart and byteEnd are not provided, reads the entire array.
|
|
36
|
-
* If byteStart is provided, reads from that index to the end of the array.
|
|
37
|
-
* If byteEnd is provided, reads from byteStart to byteEnd (exclusive).
|
|
38
|
-
* If both byteStart and byteEnd are provided, reads from byteStart to byteEnd (exclusive).
|
|
39
|
-
* @returns A promise that resolves to a Uint8Array containing the requested data.
|
|
40
|
-
*/
|
|
41
32
|
export declare const fromBuffer: (source: Uint8Array) => Chunker;
|
|
42
|
-
/**
|
|
43
|
-
* Creates a seekable object from a string.
|
|
44
|
-
* @param source A string to read from.
|
|
45
|
-
* If byteStart and byteEnd are not provided, reads the entire string.
|
|
46
|
-
* If byteStart is provided, reads from that index to the end of the string.
|
|
47
|
-
* If byteEnd is provided, reads from byteStart to byteEnd (exclusive).
|
|
48
|
-
* If both byteStart and byteEnd are provided, reads from byteStart to byteEnd (exclusive).
|
|
49
|
-
* @returns A promise that resolves to a Uint8Array containing the requested data.
|
|
50
|
-
*/
|
|
51
33
|
export declare const fromString: (source: string) => Chunker;
|
|
52
34
|
export declare const fromUrl: (location: string) => Promise<Chunker>;
|
|
53
|
-
/**
|
|
54
|
-
* Creates a seekable object from a source.
|
|
55
|
-
* @param source A Source object containing the type and location of the data.
|
|
56
|
-
* @returns A promise that resolves to a Chunker function.
|
|
57
|
-
* @throws ConfigurationError if the source type is not supported or the location is invalid.
|
|
58
|
-
*/
|
|
59
35
|
export declare const fromSource: ({ type, location }: Source) => Promise<Chunker>;
|
|
60
|
-
/**
|
|
61
|
-
* Converts a Source object to a ReadableStream.
|
|
62
|
-
* @param source A Source object containing the type and location of the data.
|
|
63
|
-
* Converts the source to a ReadableStream of Uint8Array.
|
|
64
|
-
* This is useful for streaming data from various sources like files, remote URLs, or chunkers.
|
|
65
|
-
* @returns A ReadableStream of Uint8Array.
|
|
66
|
-
*/
|
|
67
36
|
export declare function sourceToStream(source: Source): Promise<ReadableStream<Uint8Array>>;
|
|
68
37
|
export declare const fromDataSource: ({ type, location }: Source) => Promise<Chunker>;
|
|
69
38
|
export type DataSource = Source;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seekable.d.ts","sourceRoot":"","sources":["../../../src/seekable.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,IAAI,KAAG,OAS/C,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"seekable.d.ts","sourceRoot":"","sources":["../../../src/seekable.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,MAAM,MAAM,GACd;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,UAAU,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CAAE,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,IAAI,KAAG,OAS/C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU,KAAG,OAI/C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,KAAG,OAE3C,CAAC;AAqDF,eAAO,MAAM,OAAO,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,OAAO,CAc/D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAU,oBAAoB,MAAM,KAAG,OAAO,CAAC,OAAO,CA2B5E,CAAC;AAEF,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAgCxF;AAGD,eAAO,MAAM,cAAc,uBAhE0B,MAAM,KAAG,OAAO,CAAC,OAAO,CAgErC,CAAC;AAGzC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC"}
|