@dynamic-labs-sdk/client 0.17.2 → 0.17.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/{InvalidParamError-Dc2HgrDm.esm.js → InvalidParamError-BgvcmQ36.esm.js} +53 -4
- package/dist/InvalidParamError-BgvcmQ36.esm.js.map +1 -0
- package/dist/{InvalidParamError-z_h8HyKL.cjs.js → InvalidParamError-CApg0dxd.cjs.js} +59 -4
- package/dist/InvalidParamError-CApg0dxd.cjs.js.map +1 -0
- package/dist/{NotWaasWalletAccountError-DsYkBFyx.cjs.js → NotWaasWalletAccountError-C8iogcNm.cjs.js} +3 -3
- package/dist/{NotWaasWalletAccountError-DsYkBFyx.cjs.js.map → NotWaasWalletAccountError-C8iogcNm.cjs.js.map} +1 -1
- package/dist/{NotWaasWalletAccountError-B4xS_9HL.esm.js → NotWaasWalletAccountError-CfH6ZpRB.esm.js} +3 -3
- package/dist/{NotWaasWalletAccountError-B4xS_9HL.esm.js.map → NotWaasWalletAccountError-CfH6ZpRB.esm.js.map} +1 -1
- package/dist/client/core/createCore/createCore.d.ts.map +1 -1
- package/dist/client/core/types/DynamicCore.d.ts +10 -0
- package/dist/client/core/types/DynamicCore.d.ts.map +1 -1
- package/dist/client/types/DynamicClientConfig.d.ts +5 -0
- package/dist/client/types/DynamicClientConfig.d.ts.map +1 -1
- package/dist/core.cjs.js +5 -5
- package/dist/core.esm.js +5 -5
- package/dist/{getNetworkProviderFromNetworkId-CllkC31J.cjs.js → getNetworkProviderFromNetworkId-BP2AzuLE.cjs.js} +3 -3
- package/dist/{getNetworkProviderFromNetworkId-CllkC31J.cjs.js.map → getNetworkProviderFromNetworkId-BP2AzuLE.cjs.js.map} +1 -1
- package/dist/{getNetworkProviderFromNetworkId-DO13PEvc.esm.js → getNetworkProviderFromNetworkId-DoLT1yjR.esm.js} +3 -3
- package/dist/{getNetworkProviderFromNetworkId-DO13PEvc.esm.js.map → getNetworkProviderFromNetworkId-DoLT1yjR.esm.js.map} +1 -1
- package/dist/{getSignedSessionId-DqmEBqI9.cjs.js → getSignedSessionId-CbNoTJxx.cjs.js} +3 -3
- package/dist/{getSignedSessionId-DqmEBqI9.cjs.js.map → getSignedSessionId-CbNoTJxx.cjs.js.map} +1 -1
- package/dist/{getSignedSessionId-BM05CMyp.esm.js → getSignedSessionId-np5XdQ1A.esm.js} +3 -3
- package/dist/{getSignedSessionId-BM05CMyp.esm.js.map → getSignedSessionId-np5XdQ1A.esm.js.map} +1 -1
- package/dist/{getVerifiedCredentialForWalletAccount-BK4IBZlH.cjs.js → getVerifiedCredentialForWalletAccount-BDXePo9t.cjs.js} +3 -3
- package/dist/{getVerifiedCredentialForWalletAccount-BK4IBZlH.cjs.js.map → getVerifiedCredentialForWalletAccount-BDXePo9t.cjs.js.map} +1 -1
- package/dist/{getVerifiedCredentialForWalletAccount-57Omjjyi.esm.js → getVerifiedCredentialForWalletAccount-CyyHc2ec.esm.js} +2 -2
- package/dist/{getVerifiedCredentialForWalletAccount-57Omjjyi.esm.js.map → getVerifiedCredentialForWalletAccount-CyyHc2ec.esm.js.map} +1 -1
- package/dist/index.cjs.js +82 -57
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +82 -57
- package/dist/index.esm.js.map +1 -1
- package/dist/{isMfaRequiredForAction-CXRaUbFE.esm.js → isMfaRequiredForAction-BtO6Xkeu.esm.js} +2 -2
- package/dist/{isMfaRequiredForAction-CXRaUbFE.esm.js.map → isMfaRequiredForAction-BtO6Xkeu.esm.js.map} +1 -1
- package/dist/{isMfaRequiredForAction-BS239c-s.cjs.js → isMfaRequiredForAction-C84laGI8.cjs.js} +2 -2
- package/dist/{isMfaRequiredForAction-BS239c-s.cjs.js.map → isMfaRequiredForAction-C84laGI8.cjs.js.map} +1 -1
- package/dist/modules/apiClient/apiClient.types.d.ts +7 -0
- package/dist/modules/apiClient/apiClient.types.d.ts.map +1 -1
- package/dist/modules/apiClient/constants.d.ts +2 -0
- package/dist/modules/apiClient/constants.d.ts.map +1 -1
- package/dist/modules/apiClient/createApiClient.d.ts.map +1 -1
- package/dist/modules/auth/getElevatedAccessToken/getElevatedAccessToken.d.ts +15 -8
- package/dist/modules/auth/getElevatedAccessToken/getElevatedAccessToken.d.ts.map +1 -1
- package/dist/modules/auth/passkeys/deletePasskey/deletePasskey.d.ts.map +1 -1
- package/dist/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.d.ts.map +1 -1
- package/dist/modules/mfa/deleteMfaDevice/deleteMfaDevice.d.ts +6 -4
- package/dist/modules/mfa/deleteMfaDevice/deleteMfaDevice.d.ts.map +1 -1
- package/dist/modules/mfa/registerTotpMfaDevice/registerTotpMfaDevice.d.ts.map +1 -1
- package/dist/services/instrumentation/constants.d.ts +17 -0
- package/dist/services/instrumentation/constants.d.ts.map +1 -0
- package/dist/services/instrumentation/createInstrumentation/createInstrumentation.d.ts +18 -0
- package/dist/services/instrumentation/createInstrumentation/createInstrumentation.d.ts.map +1 -0
- package/dist/services/instrumentation/createInstrumentation/index.d.ts +2 -0
- package/dist/services/instrumentation/createInstrumentation/index.d.ts.map +1 -0
- package/dist/services/instrumentation/extractSessionId/extractSessionId.d.ts +12 -0
- package/dist/services/instrumentation/extractSessionId/extractSessionId.d.ts.map +1 -0
- package/dist/services/instrumentation/instrumentFunction/extractParams/extractParams.d.ts +27 -0
- package/dist/services/instrumentation/instrumentFunction/extractParams/extractParams.d.ts.map +1 -0
- package/dist/services/instrumentation/instrumentFunction/index.d.ts +2 -0
- package/dist/services/instrumentation/instrumentFunction/index.d.ts.map +1 -0
- package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts +73 -0
- package/dist/services/instrumentation/instrumentFunction/instrumentFunction.d.ts.map +1 -0
- package/dist/services/instrumentation/instrumentFunction/scrubResolvedValue/scrubResolvedValue.d.ts +14 -0
- package/dist/services/instrumentation/instrumentFunction/scrubResolvedValue/scrubResolvedValue.d.ts.map +1 -0
- package/dist/services/instrumentation/instrumentation.types.d.ts +49 -0
- package/dist/services/instrumentation/instrumentation.types.d.ts.map +1 -0
- package/dist/services/instrumentation/scrubParameters/index.d.ts +2 -0
- package/dist/services/instrumentation/scrubParameters/index.d.ts.map +1 -0
- package/dist/services/instrumentation/scrubParameters/scrubParameters.d.ts +8 -0
- package/dist/services/instrumentation/scrubParameters/scrubParameters.d.ts.map +1 -0
- package/dist/services/instrumentation/transports/createDynamicTransport/createDynamicTransport.d.ts +24 -0
- package/dist/services/instrumentation/transports/createDynamicTransport/createDynamicTransport.d.ts.map +1 -0
- package/dist/services/instrumentation/transports/createDynamicTransport/index.d.ts +2 -0
- package/dist/services/instrumentation/transports/createDynamicTransport/index.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/dist/utils/getUserAgent/getUserAgent.d.ts +10 -0
- package/dist/utils/getUserAgent/getUserAgent.d.ts.map +1 -0
- package/dist/waas.cjs.js +4 -4
- package/dist/waas.esm.js +3 -3
- package/dist/waasCore.cjs.js +4 -4
- package/dist/waasCore.esm.js +3 -3
- package/package.json +3 -3
- package/dist/InvalidParamError-Dc2HgrDm.esm.js.map +0 -1
- package/dist/InvalidParamError-z_h8HyKL.cjs.js.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-
|
|
2
|
-
const require_InvalidParamError = require('./InvalidParamError-
|
|
3
|
-
const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-
|
|
4
|
-
const require_NotWaasWalletAccountError = require('./NotWaasWalletAccountError-
|
|
5
|
-
const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-
|
|
1
|
+
const require_getNetworkProviderFromNetworkId = require('./getNetworkProviderFromNetworkId-BP2AzuLE.cjs.js');
|
|
2
|
+
const require_InvalidParamError = require('./InvalidParamError-CApg0dxd.cjs.js');
|
|
3
|
+
const require_getVerifiedCredentialForWalletAccount = require('./getVerifiedCredentialForWalletAccount-BDXePo9t.cjs.js');
|
|
4
|
+
const require_NotWaasWalletAccountError = require('./NotWaasWalletAccountError-C8iogcNm.cjs.js');
|
|
5
|
+
const require_isMfaRequiredForAction = require('./isMfaRequiredForAction-C84laGI8.cjs.js');
|
|
6
6
|
let _dynamic_labs_sdk_assert_package_version = require("@dynamic-labs-sdk/assert-package-version");
|
|
7
7
|
let _dynamic_labs_sdk_api_core = require("@dynamic-labs/sdk-api-core");
|
|
8
8
|
let zod_mini = require("zod/mini");
|
|
@@ -703,6 +703,61 @@ const createWebFetch = () => {
|
|
|
703
703
|
return window.fetch.bind(window);
|
|
704
704
|
};
|
|
705
705
|
|
|
706
|
+
//#endregion
|
|
707
|
+
//#region src/services/instrumentation/constants.ts
|
|
708
|
+
const DEFAULT_PII_FIELDS = [
|
|
709
|
+
"password",
|
|
710
|
+
"token",
|
|
711
|
+
"secret",
|
|
712
|
+
"privateKey",
|
|
713
|
+
"mnemonic",
|
|
714
|
+
"seed",
|
|
715
|
+
"email",
|
|
716
|
+
"phone",
|
|
717
|
+
"ssn",
|
|
718
|
+
"address",
|
|
719
|
+
"authorization"
|
|
720
|
+
];
|
|
721
|
+
|
|
722
|
+
//#endregion
|
|
723
|
+
//#region src/services/instrumentation/createInstrumentation/createInstrumentation.ts
|
|
724
|
+
const buildPiiFields = (customFields = []) => {
|
|
725
|
+
const merged = [...DEFAULT_PII_FIELDS, ...customFields];
|
|
726
|
+
return [...new Set(merged)];
|
|
727
|
+
};
|
|
728
|
+
/**
|
|
729
|
+
* Creates the instrumentation service that gates event emission behind an
|
|
730
|
+
* enabled flag and delegates to a pluggable transport.
|
|
731
|
+
*
|
|
732
|
+
* The transport is intentionally optional at creation time — it is wired in
|
|
733
|
+
* later via setTransport so the SDK can initialise without one. Events logged
|
|
734
|
+
* before a transport is set are simply dropped.
|
|
735
|
+
*
|
|
736
|
+
* Custom piiFields are merged with and deduplicated against the defaults so
|
|
737
|
+
* callers only need to list additional fields, not replicate the baseline.
|
|
738
|
+
*/
|
|
739
|
+
const createInstrumentation = ({ config: inputConfig } = {}) => {
|
|
740
|
+
let transport;
|
|
741
|
+
const config = {
|
|
742
|
+
enabled: inputConfig?.enabled ?? true,
|
|
743
|
+
piiFields: buildPiiFields(inputConfig?.piiFields)
|
|
744
|
+
};
|
|
745
|
+
const emit = (event) => {
|
|
746
|
+
if (config.enabled) transport?.log(event);
|
|
747
|
+
};
|
|
748
|
+
return {
|
|
749
|
+
config,
|
|
750
|
+
log: emit,
|
|
751
|
+
logFunction: emit,
|
|
752
|
+
setEnabled: (value) => {
|
|
753
|
+
config.enabled = value;
|
|
754
|
+
},
|
|
755
|
+
setTransport: (t) => {
|
|
756
|
+
transport = t;
|
|
757
|
+
}
|
|
758
|
+
};
|
|
759
|
+
};
|
|
760
|
+
|
|
706
761
|
//#endregion
|
|
707
762
|
//#region src/services/navigate/createNavigationHandler/createNavigationHandler.ts
|
|
708
763
|
/**
|
|
@@ -918,6 +973,8 @@ const createCore = (config) => {
|
|
|
918
973
|
const debouncedMutex = createDebouncedMutex();
|
|
919
974
|
const eventEmitter = createEventEmitter();
|
|
920
975
|
const initTrack = createAsyncTrack();
|
|
976
|
+
const sdkSessionId = require_InvalidParamError.randomString({ length: 32 });
|
|
977
|
+
const instrumentation = createInstrumentation({ config: config.instrumentation });
|
|
921
978
|
const runtimeServices = createRuntimeServices();
|
|
922
979
|
const passkey = config.coreConfig?.passkey ?? createWebPasskeyService();
|
|
923
980
|
const realtime = config.coreConfig?.realtime ?? require_getNetworkProviderFromNetworkId.createRealtimeService();
|
|
@@ -934,6 +991,7 @@ const createCore = (config) => {
|
|
|
934
991
|
fetch,
|
|
935
992
|
getApiHeaders: config.coreConfig?.getApiHeaders ?? (() => ({})),
|
|
936
993
|
initTrack,
|
|
994
|
+
instrumentation,
|
|
937
995
|
keychain,
|
|
938
996
|
logger,
|
|
939
997
|
metadata: {
|
|
@@ -945,6 +1003,7 @@ const createCore = (config) => {
|
|
|
945
1003
|
passkey,
|
|
946
1004
|
realtime,
|
|
947
1005
|
runtimeServices,
|
|
1006
|
+
sdkSessionId,
|
|
948
1007
|
state,
|
|
949
1008
|
storage,
|
|
950
1009
|
transformers: config.transformers,
|
|
@@ -1367,47 +1426,6 @@ const signInWithExternalJwt = async ({ externalJwt, sessionPublicKey } = {}, cli
|
|
|
1367
1426
|
return response;
|
|
1368
1427
|
};
|
|
1369
1428
|
|
|
1370
|
-
//#endregion
|
|
1371
|
-
//#region src/modules/auth/getElevatedAccessToken/getElevatedAccessToken.ts
|
|
1372
|
-
/**
|
|
1373
|
-
* Gets an elevated access token by scope.
|
|
1374
|
-
*
|
|
1375
|
-
* This function retrieves an elevated access token that contains the specified scope.
|
|
1376
|
-
* Expired tokens are automatically filtered out.
|
|
1377
|
-
*
|
|
1378
|
-
* If the token has `singleUse: true`, it will be automatically
|
|
1379
|
-
* consumed (removed from state) after retrieval. Otherwise, it remains in state
|
|
1380
|
-
* for future use.
|
|
1381
|
-
*
|
|
1382
|
-
* @param params - The parameters object.
|
|
1383
|
-
* @param params.scope - The scope to match (e.g., 'wallet:export').
|
|
1384
|
-
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
1385
|
-
* @returns The elevated access token if found and not expired, or undefined if not found or expired.
|
|
1386
|
-
*
|
|
1387
|
-
* @example
|
|
1388
|
-
* ```typescript
|
|
1389
|
-
* const token = getElevatedAccessToken({ scope: 'wallet:export' });
|
|
1390
|
-
* if (token) {
|
|
1391
|
-
* // Use the token
|
|
1392
|
-
* // Token is automatically consumed if singleUse: true
|
|
1393
|
-
* }
|
|
1394
|
-
* ```
|
|
1395
|
-
*/
|
|
1396
|
-
const getElevatedAccessToken = ({ scope }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1397
|
-
const core = require_InvalidParamError.getCore(client);
|
|
1398
|
-
const now = /* @__PURE__ */ new Date();
|
|
1399
|
-
const elevatedAccessTokens = core.state.get().elevatedAccessTokens || [];
|
|
1400
|
-
const validTokens = elevatedAccessTokens.filter((token$1) => !token$1.expiresAt || token$1.expiresAt > now);
|
|
1401
|
-
if (validTokens.length !== elevatedAccessTokens.length) core.state.set({ elevatedAccessTokens: validTokens });
|
|
1402
|
-
const token = validTokens.find((token$1) => token$1.scopes.includes(scope));
|
|
1403
|
-
if (!token) return;
|
|
1404
|
-
if (token.singleUse) {
|
|
1405
|
-
const updatedTokens = validTokens.filter((t) => t !== token);
|
|
1406
|
-
core.state.set({ elevatedAccessTokens: updatedTokens });
|
|
1407
|
-
}
|
|
1408
|
-
return token.token;
|
|
1409
|
-
};
|
|
1410
|
-
|
|
1411
1429
|
//#endregion
|
|
1412
1430
|
//#region src/modules/auth/passkeys/deletePasskey/deletePasskey.ts
|
|
1413
1431
|
/**
|
|
@@ -1419,7 +1437,10 @@ const getElevatedAccessToken = ({ scope }, client = require_InvalidParamError.ge
|
|
|
1419
1437
|
*/
|
|
1420
1438
|
const deletePasskey = async ({ passkeyId }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
1421
1439
|
const core = require_InvalidParamError.getCore(client);
|
|
1422
|
-
await require_InvalidParamError.createApiClient({
|
|
1440
|
+
await require_InvalidParamError.createApiClient({
|
|
1441
|
+
elevatedAccessTokenScope: _dynamic_labs_sdk_api_core.TokenScope.Credentialunlink,
|
|
1442
|
+
includeMfaToken: true
|
|
1443
|
+
}, client).deletePasskey({
|
|
1423
1444
|
deleteUserPasskeyRequest: { passkeyId },
|
|
1424
1445
|
environmentId: core.environmentId
|
|
1425
1446
|
});
|
|
@@ -1452,7 +1473,7 @@ const getPasskeyRegistrationOptions = async (client) => {
|
|
|
1452
1473
|
//#region src/modules/auth/passkeys/serverRegisterPasskey/serverRegisterPasskey.ts
|
|
1453
1474
|
const serverRegisterPasskey = async ({ registration, createMfaToken }, client) => {
|
|
1454
1475
|
const core = require_InvalidParamError.getCore(client);
|
|
1455
|
-
return await require_InvalidParamError.createApiClient({}, client).registerPasskey({
|
|
1476
|
+
return await require_InvalidParamError.createApiClient({ elevatedAccessTokenScope: _dynamic_labs_sdk_api_core.TokenScope.Credentiallink }, client).registerPasskey({
|
|
1456
1477
|
environmentId: core.environmentId,
|
|
1457
1478
|
passkeyRegisterRequest: {
|
|
1458
1479
|
...registration,
|
|
@@ -3121,23 +3142,27 @@ const createNewMfaRecoveryCodes = async (client = require_InvalidParamError.getD
|
|
|
3121
3142
|
/**
|
|
3122
3143
|
* Deletes a specific MFA device from the user's account.
|
|
3123
3144
|
*
|
|
3124
|
-
*
|
|
3125
|
-
*
|
|
3145
|
+
* When an elevated access token for `credential:unlink` is available,
|
|
3146
|
+
* it is sent via the `x-dyn-elevated-access-token` header and the
|
|
3147
|
+
* MFA auth token is not required. Otherwise, `mfaAuthToken` must be
|
|
3148
|
+
* provided for backward compatibility with the legacy MFA flow.
|
|
3126
3149
|
*
|
|
3127
3150
|
* @param params.deviceId - The unique identifier of the MFA device to delete.
|
|
3128
|
-
* @param params.mfaAuthToken - The MFA authentication token
|
|
3151
|
+
* @param params.mfaAuthToken - The MFA authentication token. Optional when using elevated access tokens.
|
|
3129
3152
|
* @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
|
|
3130
3153
|
* @returns A promise that resolves when the MFA device is successfully deleted.
|
|
3131
3154
|
*/
|
|
3132
3155
|
const deleteMfaDevice = async ({ deviceId, mfaAuthToken }, client = require_InvalidParamError.getDefaultClient()) => {
|
|
3133
3156
|
const core = require_InvalidParamError.getCore(client);
|
|
3134
|
-
const apiClient = require_InvalidParamError.createApiClient({}, client);
|
|
3135
3157
|
require_InvalidParamError.assertDefined(deviceId, "deviceId is required");
|
|
3136
|
-
require_InvalidParamError.
|
|
3137
|
-
|
|
3158
|
+
if (!require_InvalidParamError.getElevatedAccessToken({
|
|
3159
|
+
consume: false,
|
|
3160
|
+
scope: _dynamic_labs_sdk_api_core.TokenScope.Credentialunlink
|
|
3161
|
+
}, client)) require_InvalidParamError.assertDefined(mfaAuthToken, "mfaAuthToken is required");
|
|
3162
|
+
return require_InvalidParamError.createApiClient({ elevatedAccessTokenScope: _dynamic_labs_sdk_api_core.TokenScope.Credentialunlink }, client).deleteMfaDevice({
|
|
3138
3163
|
environmentId: core.environmentId,
|
|
3139
3164
|
mfaDeviceId: deviceId,
|
|
3140
|
-
xMfaAuthToken: mfaAuthToken
|
|
3165
|
+
xMfaAuthToken: mfaAuthToken ?? ""
|
|
3141
3166
|
});
|
|
3142
3167
|
};
|
|
3143
3168
|
|
|
@@ -3224,7 +3249,7 @@ const isUserMissingMfaAuth = (client = require_InvalidParamError.getDefaultClien
|
|
|
3224
3249
|
*/
|
|
3225
3250
|
const registerTotpMfaDevice = async (client = require_InvalidParamError.getDefaultClient()) => {
|
|
3226
3251
|
const core = require_InvalidParamError.getCore(client);
|
|
3227
|
-
return require_InvalidParamError.createApiClient({}, client).registerTotpMfaDevice({ environmentId: core.environmentId });
|
|
3252
|
+
return require_InvalidParamError.createApiClient({ elevatedAccessTokenScope: _dynamic_labs_sdk_api_core.TokenScope.Credentiallink }, client).registerTotpMfaDevice({ environmentId: core.environmentId });
|
|
3228
3253
|
};
|
|
3229
3254
|
|
|
3230
3255
|
//#endregion
|
|
@@ -5281,7 +5306,7 @@ exports.getCoinbaseBuyUrl = getCoinbaseBuyUrl;
|
|
|
5281
5306
|
exports.getConnectedAddresses = getConnectedAddresses;
|
|
5282
5307
|
exports.getDefaultClient = require_InvalidParamError.getDefaultClient;
|
|
5283
5308
|
exports.getDeviceRegistrationTokenFromUrl = getDeviceRegistrationTokenFromUrl;
|
|
5284
|
-
exports.getElevatedAccessToken = getElevatedAccessToken;
|
|
5309
|
+
exports.getElevatedAccessToken = require_InvalidParamError.getElevatedAccessToken;
|
|
5285
5310
|
exports.getKrakenAccounts = getKrakenAccounts;
|
|
5286
5311
|
exports.getKrakenWhitelistedAddresses = getKrakenWhitelistedAddresses;
|
|
5287
5312
|
exports.getMfaDevices = getMfaDevices;
|