@brightchain/brightchain-api-lib 0.14.0 → 0.15.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/package.json +5 -5
- package/src/index.d.ts +3 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +5 -0
- package/src/index.js.map +1 -1
- package/src/lib/application.d.ts +1 -0
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +23 -0
- package/src/lib/application.js.map +1 -1
- package/src/lib/auth/aclEnforcedAvailability.d.ts +57 -0
- package/src/lib/auth/aclEnforcedAvailability.d.ts.map +1 -0
- package/src/lib/auth/aclEnforcedAvailability.js +87 -0
- package/src/lib/auth/aclEnforcedAvailability.js.map +1 -0
- package/src/lib/auth/aclEnforcedBlockStore.d.ts +66 -0
- package/src/lib/auth/aclEnforcedBlockStore.d.ts.map +1 -0
- package/src/lib/auth/aclEnforcedBlockStore.js +83 -0
- package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.d.ts +46 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.d.ts.map +1 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.js +110 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -0
- package/src/lib/auth/index.d.ts +7 -0
- package/src/lib/auth/index.d.ts.map +1 -0
- package/src/lib/auth/index.js +13 -0
- package/src/lib/auth/index.js.map +1 -0
- package/src/lib/auth/poolAclBootstrap.d.ts +36 -0
- package/src/lib/auth/poolAclBootstrap.d.ts.map +1 -0
- package/src/lib/auth/poolAclBootstrap.js +64 -0
- package/src/lib/auth/poolAclBootstrap.js.map +1 -0
- package/src/lib/auth/poolAclStore.d.ts +77 -0
- package/src/lib/auth/poolAclStore.d.ts.map +1 -0
- package/src/lib/auth/poolAclStore.js +189 -0
- package/src/lib/auth/poolAclStore.js.map +1 -0
- package/src/lib/auth/poolAclUpdater.d.ts +79 -0
- package/src/lib/auth/poolAclUpdater.d.ts.map +1 -0
- package/src/lib/auth/poolAclUpdater.js +144 -0
- package/src/lib/auth/poolAclUpdater.js.map +1 -0
- package/src/lib/availability/availabilityService.d.ts +2 -2
- package/src/lib/availability/availabilityService.d.ts.map +1 -1
- package/src/lib/availability/availabilityService.js +12 -5
- package/src/lib/availability/availabilityService.js.map +1 -1
- package/src/lib/availability/blockRegistry.d.ts +45 -3
- package/src/lib/availability/blockRegistry.d.ts.map +1 -1
- package/src/lib/availability/blockRegistry.js +123 -5
- package/src/lib/availability/blockRegistry.js.map +1 -1
- package/src/lib/availability/discoveryProtocol.d.ts +30 -1
- package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/availability/discoveryProtocol.js +76 -0
- package/src/lib/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +45 -6
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +177 -5
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/reconciliationService.d.ts +88 -1
- package/src/lib/availability/reconciliationService.d.ts.map +1 -1
- package/src/lib/availability/reconciliationService.js +246 -48
- package/src/lib/availability/reconciliationService.js.map +1 -1
- package/src/lib/blockFetch/blockFetcher.d.ts +100 -0
- package/src/lib/blockFetch/blockFetcher.d.ts.map +1 -0
- package/src/lib/blockFetch/blockFetcher.js +279 -0
- package/src/lib/blockFetch/blockFetcher.js.map +1 -0
- package/src/lib/blockFetch/fetchQueue.d.ts +88 -0
- package/src/lib/blockFetch/fetchQueue.d.ts.map +1 -0
- package/src/lib/blockFetch/fetchQueue.js +204 -0
- package/src/lib/blockFetch/fetchQueue.js.map +1 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.d.ts +65 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.js +104 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -0
- package/src/lib/blockFetch/index.d.ts +10 -0
- package/src/lib/blockFetch/index.d.ts.map +1 -0
- package/src/lib/blockFetch/index.js +13 -0
- package/src/lib/blockFetch/index.js.map +1 -0
- package/src/lib/controllers/api/brightpass.d.ts +72 -0
- package/src/lib/controllers/api/brightpass.d.ts.map +1 -0
- package/src/lib/controllers/api/brightpass.js +577 -0
- package/src/lib/controllers/api/brightpass.js.map +1 -0
- package/src/lib/controllers/api/channels.d.ts +122 -0
- package/src/lib/controllers/api/channels.d.ts.map +1 -0
- package/src/lib/controllers/api/channels.js +701 -0
- package/src/lib/controllers/api/channels.js.map +1 -0
- package/src/lib/controllers/api/conversations.d.ts +89 -0
- package/src/lib/controllers/api/conversations.d.ts.map +1 -0
- package/src/lib/controllers/api/conversations.js +259 -0
- package/src/lib/controllers/api/conversations.js.map +1 -0
- package/src/lib/controllers/api/emails.d.ts +122 -0
- package/src/lib/controllers/api/emails.d.ts.map +1 -0
- package/src/lib/controllers/api/emails.js +494 -0
- package/src/lib/controllers/api/emails.js.map +1 -0
- package/src/lib/controllers/api/explodingMessages.d.ts +79 -0
- package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -0
- package/src/lib/controllers/api/explodingMessages.js +378 -0
- package/src/lib/controllers/api/explodingMessages.js.map +1 -0
- package/src/lib/controllers/api/groups.d.ts +94 -0
- package/src/lib/controllers/api/groups.d.ts.map +1 -0
- package/src/lib/controllers/api/groups.js +484 -0
- package/src/lib/controllers/api/groups.js.map +1 -0
- package/src/lib/controllers/api/index.d.ts +6 -0
- package/src/lib/controllers/api/index.d.ts.map +1 -1
- package/src/lib/controllers/api/index.js +6 -0
- package/src/lib/controllers/api/index.js.map +1 -1
- package/src/lib/controllers/api/messages.d.ts.map +1 -1
- package/src/lib/controllers/api/messages.js +2 -1
- package/src/lib/controllers/api/messages.js.map +1 -1
- package/src/lib/controllers/api/sync.d.ts +38 -2
- package/src/lib/controllers/api/sync.d.ts.map +1 -1
- package/src/lib/controllers/api/sync.js +89 -0
- package/src/lib/controllers/api/sync.js.map +1 -1
- package/src/lib/controllers/crypto/gitController.d.ts +70 -0
- package/src/lib/controllers/crypto/gitController.d.ts.map +1 -0
- package/src/lib/controllers/crypto/gitController.js +306 -0
- package/src/lib/controllers/crypto/gitController.js.map +1 -0
- package/src/lib/controllers/crypto/index.d.ts +3 -0
- package/src/lib/controllers/crypto/index.d.ts.map +1 -0
- package/src/lib/controllers/crypto/index.js +6 -0
- package/src/lib/controllers/crypto/index.js.map +1 -0
- package/src/lib/controllers/crypto/walletController.d.ts +64 -0
- package/src/lib/controllers/crypto/walletController.d.ts.map +1 -0
- package/src/lib/controllers/crypto/walletController.js +260 -0
- package/src/lib/controllers/crypto/walletController.js.map +1 -0
- package/src/lib/controllers/identity/deviceController.d.ts +96 -0
- package/src/lib/controllers/identity/deviceController.d.ts.map +1 -0
- package/src/lib/controllers/identity/deviceController.js +355 -0
- package/src/lib/controllers/identity/deviceController.js.map +1 -0
- package/src/lib/controllers/identity/directoryController.d.ts +75 -0
- package/src/lib/controllers/identity/directoryController.d.ts.map +1 -0
- package/src/lib/controllers/identity/directoryController.js +288 -0
- package/src/lib/controllers/identity/directoryController.js.map +1 -0
- package/src/lib/controllers/identity/identityProofController.d.ts +94 -0
- package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -0
- package/src/lib/controllers/identity/identityProofController.js +454 -0
- package/src/lib/controllers/identity/identityProofController.js.map +1 -0
- package/src/lib/controllers/identity/index.d.ts +4 -0
- package/src/lib/controllers/identity/index.d.ts.map +1 -0
- package/src/lib/controllers/identity/index.js +7 -0
- package/src/lib/controllers/identity/index.js.map +1 -0
- package/src/lib/controllers/index.d.ts +2 -0
- package/src/lib/controllers/index.d.ts.map +1 -1
- package/src/lib/controllers/index.js +2 -0
- package/src/lib/controllers/index.js.map +1 -1
- package/src/lib/encryption/encryptedMetadataService.d.ts +87 -0
- package/src/lib/encryption/encryptedMetadataService.d.ts.map +1 -0
- package/src/lib/encryption/encryptedMetadataService.js +224 -0
- package/src/lib/encryption/encryptedMetadataService.js.map +1 -0
- package/src/lib/encryption/encryptionAwareReplication.d.ts +76 -0
- package/src/lib/encryption/encryptionAwareReplication.d.ts.map +1 -0
- package/src/lib/encryption/encryptionAwareReplication.js +116 -0
- package/src/lib/encryption/encryptionAwareReplication.js.map +1 -0
- package/src/lib/encryption/errors.d.ts +49 -0
- package/src/lib/encryption/errors.d.ts.map +1 -0
- package/src/lib/encryption/errors.js +80 -0
- package/src/lib/encryption/errors.js.map +1 -0
- package/src/lib/encryption/index.d.ts +6 -0
- package/src/lib/encryption/index.d.ts.map +1 -0
- package/src/lib/encryption/index.js +9 -0
- package/src/lib/encryption/index.js.map +1 -0
- package/src/lib/encryption/poolEncryptionService.d.ts +94 -0
- package/src/lib/encryption/poolEncryptionService.d.ts.map +1 -0
- package/src/lib/encryption/poolEncryptionService.js +252 -0
- package/src/lib/encryption/poolEncryptionService.js.map +1 -0
- package/src/lib/encryption/poolKeyManager.d.ts +82 -0
- package/src/lib/encryption/poolKeyManager.d.ts.map +1 -0
- package/src/lib/encryption/poolKeyManager.js +156 -0
- package/src/lib/encryption/poolKeyManager.js.map +1 -0
- package/src/lib/environment.d.ts +3 -0
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +5 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/interfaces/environment.d.ts +7 -1
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +0 -1
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/requests/getBlockDataRequest.d.ts +12 -0
- package/src/lib/interfaces/requests/getBlockDataRequest.d.ts.map +1 -0
- package/src/lib/interfaces/{blockStore.js → requests/getBlockDataRequest.js} +1 -1
- package/src/lib/interfaces/requests/getBlockDataRequest.js.map +1 -0
- package/src/lib/interfaces/requests/index.d.ts +1 -0
- package/src/lib/interfaces/requests/index.d.ts.map +1 -1
- package/src/lib/routers/api.d.ts +54 -1
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +77 -0
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/services/blockStore.d.ts +5 -2
- package/src/lib/services/blockStore.d.ts.map +1 -1
- package/src/lib/services/blockStore.js +4 -0
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/brightpass/auditLogger.d.ts +77 -0
- package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
- package/src/lib/services/brightpass/auditLogger.js +184 -0
- package/src/lib/services/brightpass/auditLogger.js.map +1 -0
- package/src/lib/services/brightpass/vaultEncryption.d.ts +82 -0
- package/src/lib/services/brightpass/vaultEncryption.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultEncryption.js +144 -0
- package/src/lib/services/brightpass/vaultEncryption.js.map +1 -0
- package/src/lib/services/brightpass.d.ts +294 -0
- package/src/lib/services/brightpass.d.ts.map +1 -0
- package/src/lib/services/brightpass.js +1260 -0
- package/src/lib/services/brightpass.js.map +1 -0
- package/src/lib/services/eventNotificationSystem.d.ts +69 -3
- package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
- package/src/lib/services/eventNotificationSystem.js +200 -0
- package/src/lib/services/eventNotificationSystem.js.map +1 -1
- package/src/lib/services/expirationScheduler.d.ts +90 -0
- package/src/lib/services/expirationScheduler.d.ts.map +1 -0
- package/src/lib/services/expirationScheduler.js +131 -0
- package/src/lib/services/expirationScheduler.js.map +1 -0
- package/src/lib/services/fecUsageExample.d.ts +2 -2
- package/src/lib/services/index.d.ts +2 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +2 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/paginationService.d.ts +18 -0
- package/src/lib/services/paginationService.d.ts.map +1 -0
- package/src/lib/services/paginationService.js +32 -0
- package/src/lib/services/paginationService.js.map +1 -0
- package/src/lib/services/presenceService.d.ts +76 -0
- package/src/lib/services/presenceService.d.ts.map +1 -0
- package/src/lib/services/presenceService.js +143 -0
- package/src/lib/services/presenceService.js.map +1 -0
- package/src/lib/services/wireConversationPromotion.d.ts +23 -0
- package/src/lib/services/wireConversationPromotion.d.ts.map +1 -0
- package/src/lib/services/wireConversationPromotion.js +26 -0
- package/src/lib/services/wireConversationPromotion.js.map +1 -0
- package/src/lib/stores/availabilityAwareBlockStore.d.ts +115 -10
- package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js +267 -23
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +81 -2
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +297 -10
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/utils/communicationValidation.d.ts +44 -0
- package/src/lib/utils/communicationValidation.d.ts.map +1 -0
- package/src/lib/utils/communicationValidation.js +291 -0
- package/src/lib/utils/communicationValidation.js.map +1 -0
- package/src/lib/utils/emailValidation.d.ts +19 -0
- package/src/lib/utils/emailValidation.d.ts.map +1 -0
- package/src/lib/utils/emailValidation.js +232 -0
- package/src/lib/utils/emailValidation.js.map +1 -0
- package/src/lib/interfaces/blockStore.d.ts +0 -7
- package/src/lib/interfaces/blockStore.d.ts.map +0 -1
- package/src/lib/interfaces/blockStore.js.map +0 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview HTTP Block Fetch Transport
|
|
4
|
+
*
|
|
5
|
+
* Implements IBlockFetchTransport using HTTP GET requests to remote nodes'
|
|
6
|
+
* SyncController `/api/sync/blocks/:blockId` endpoint.
|
|
7
|
+
*
|
|
8
|
+
* Node.js specific (uses fetch API available in Node 18+).
|
|
9
|
+
*
|
|
10
|
+
* @see cross-node-eventual-consistency design, Section 2
|
|
11
|
+
* @see Requirements 1.1, 5.2
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.HttpBlockFetchTransport = exports.MapNodeAddressResolver = void 0;
|
|
15
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
16
|
+
/**
|
|
17
|
+
* Simple map-based node address resolver.
|
|
18
|
+
* Maps node IDs to their base URLs.
|
|
19
|
+
*/
|
|
20
|
+
class MapNodeAddressResolver {
|
|
21
|
+
constructor(nodeAddresses) {
|
|
22
|
+
this.nodeAddresses = nodeAddresses;
|
|
23
|
+
}
|
|
24
|
+
getNodeBaseUrl(nodeId) {
|
|
25
|
+
return this.nodeAddresses.get(nodeId);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.MapNodeAddressResolver = MapNodeAddressResolver;
|
|
29
|
+
/**
|
|
30
|
+
* HTTP-based implementation of IBlockFetchTransport.
|
|
31
|
+
*
|
|
32
|
+
* Fetches block data from remote nodes via their SyncController endpoint:
|
|
33
|
+
* GET /api/sync/blocks/:blockId[?poolId=<poolId>]
|
|
34
|
+
*
|
|
35
|
+
* The response is JSON with `{ message, blockId, data }` where `data` is
|
|
36
|
+
* base64-encoded. This transport decodes the base64 data and returns raw bytes.
|
|
37
|
+
*
|
|
38
|
+
* @see Requirements 1.1 — Block fetching protocol
|
|
39
|
+
* @see Requirements 5.2 — Pool ID included in fetch request
|
|
40
|
+
*/
|
|
41
|
+
class HttpBlockFetchTransport {
|
|
42
|
+
constructor(addressResolver) {
|
|
43
|
+
this.addressResolver = addressResolver;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Fetch raw block data from a specific remote node via HTTP GET.
|
|
47
|
+
*
|
|
48
|
+
* @param nodeId - The target node identifier (resolved to URL via addressResolver)
|
|
49
|
+
* @param blockId - The block checksum/ID to fetch
|
|
50
|
+
* @param poolId - Optional pool scope; appended as query parameter
|
|
51
|
+
* @returns The raw block bytes decoded from the base64 response
|
|
52
|
+
* @throws BlockFetchError if the node address is unknown, HTTP request fails, or response is invalid
|
|
53
|
+
*/
|
|
54
|
+
async fetchBlockFromNode(nodeId, blockId, poolId) {
|
|
55
|
+
const baseUrl = this.addressResolver.getNodeBaseUrl(nodeId);
|
|
56
|
+
if (!baseUrl) {
|
|
57
|
+
throw new brightchain_lib_1.BlockFetchError(blockId, [
|
|
58
|
+
{
|
|
59
|
+
nodeId,
|
|
60
|
+
error: `Unknown node: no address registered for "${nodeId}"`,
|
|
61
|
+
},
|
|
62
|
+
], `Cannot fetch block ${blockId}: no address for node "${nodeId}"`);
|
|
63
|
+
}
|
|
64
|
+
const url = this.buildUrl(baseUrl, blockId, poolId);
|
|
65
|
+
let response;
|
|
66
|
+
try {
|
|
67
|
+
response = await fetch(url);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
71
|
+
throw new brightchain_lib_1.BlockFetchError(blockId, [{ nodeId, error: errorMessage }], `Network error fetching block ${blockId} from node "${nodeId}": ${errorMessage}`);
|
|
72
|
+
}
|
|
73
|
+
if (!response.ok) {
|
|
74
|
+
const statusText = response.statusText || `HTTP ${response.status}`;
|
|
75
|
+
throw new brightchain_lib_1.BlockFetchError(blockId, [{ nodeId, error: `${statusText} (${response.status})` }], `Failed to fetch block ${blockId} from node "${nodeId}": ${statusText} (${response.status})`);
|
|
76
|
+
}
|
|
77
|
+
let body;
|
|
78
|
+
try {
|
|
79
|
+
body = (await response.json());
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
83
|
+
throw new brightchain_lib_1.BlockFetchError(blockId, [{ nodeId, error: `Invalid JSON response: ${errorMessage}` }], `Invalid response from node "${nodeId}" for block ${blockId}: ${errorMessage}`);
|
|
84
|
+
}
|
|
85
|
+
if (!body.data) {
|
|
86
|
+
throw new brightchain_lib_1.BlockFetchError(blockId, [{ nodeId, error: 'Response missing "data" field' }], `Invalid response from node "${nodeId}" for block ${blockId}: missing "data" field`);
|
|
87
|
+
}
|
|
88
|
+
return Buffer.from(body.data, 'base64');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build the full URL for the block fetch request.
|
|
92
|
+
* Format: {baseUrl}/api/sync/blocks/{blockId}[?poolId={poolId}]
|
|
93
|
+
*/
|
|
94
|
+
buildUrl(baseUrl, blockId, poolId) {
|
|
95
|
+
const path = `/api/sync/blocks/${encodeURIComponent(blockId)}`;
|
|
96
|
+
const base = baseUrl.endsWith('/') ? baseUrl.slice(0, -1) : baseUrl;
|
|
97
|
+
if (poolId) {
|
|
98
|
+
return `${base}${path}?poolId=${encodeURIComponent(poolId)}`;
|
|
99
|
+
}
|
|
100
|
+
return `${base}${path}`;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.HttpBlockFetchTransport = HttpBlockFetchTransport;
|
|
104
|
+
//# sourceMappingURL=httpBlockFetchTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpBlockFetchTransport.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/blockFetch/httpBlockFetchTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Block Fetch Module
|
|
3
|
+
*
|
|
4
|
+
* Exports the BlockFetcher and FetchQueue implementations for remote block
|
|
5
|
+
* retrieval with deduplication, concurrency control, and pool-scoped storage.
|
|
6
|
+
*/
|
|
7
|
+
export * from './blockFetcher';
|
|
8
|
+
export * from './fetchQueue';
|
|
9
|
+
export * from './httpBlockFetchTransport';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/blockFetch/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Block Fetch Module
|
|
4
|
+
*
|
|
5
|
+
* Exports the BlockFetcher and FetchQueue implementations for remote block
|
|
6
|
+
* retrieval with deduplication, concurrency control, and pool-scoped storage.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
const tslib_1 = require("tslib");
|
|
10
|
+
tslib_1.__exportStar(require("./blockFetcher"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./fetchQueue"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./httpBlockFetchTransport"), exports);
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/blockFetch/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yDAA+B;AAC/B,uDAA6B;AAC7B,oEAA0C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
|
|
2
|
+
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
3
|
+
import { ApiErrorResponse, ApiRequestHandler, TypedHandlers } from '@digitaldefiance/node-express-suite';
|
|
4
|
+
import { IBrightChainApplication } from '../../interfaces/application';
|
|
5
|
+
import { DefaultBackendIdType } from '../../shared-types';
|
|
6
|
+
import { BaseController } from '../base';
|
|
7
|
+
interface IBrightPassDataResponse {
|
|
8
|
+
success: true;
|
|
9
|
+
data: Record<string, unknown>;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
}
|
|
12
|
+
type BrightPassApiResponse = IBrightPassDataResponse | ApiErrorResponse;
|
|
13
|
+
interface BrightPassHandlers extends TypedHandlers {
|
|
14
|
+
createVault: ApiRequestHandler<BrightPassApiResponse>;
|
|
15
|
+
listVaults: ApiRequestHandler<BrightPassApiResponse>;
|
|
16
|
+
openVault: ApiRequestHandler<BrightPassApiResponse>;
|
|
17
|
+
deleteVault: ApiRequestHandler<BrightPassApiResponse>;
|
|
18
|
+
createEntry: ApiRequestHandler<BrightPassApiResponse>;
|
|
19
|
+
getEntry: ApiRequestHandler<BrightPassApiResponse>;
|
|
20
|
+
updateEntry: ApiRequestHandler<BrightPassApiResponse>;
|
|
21
|
+
deleteEntry: ApiRequestHandler<BrightPassApiResponse>;
|
|
22
|
+
searchEntries: ApiRequestHandler<BrightPassApiResponse>;
|
|
23
|
+
generatePassword: ApiRequestHandler<BrightPassApiResponse>;
|
|
24
|
+
generateTotp: ApiRequestHandler<BrightPassApiResponse>;
|
|
25
|
+
validateTotp: ApiRequestHandler<BrightPassApiResponse>;
|
|
26
|
+
breachCheck: ApiRequestHandler<BrightPassApiResponse>;
|
|
27
|
+
autofill: ApiRequestHandler<BrightPassApiResponse>;
|
|
28
|
+
getAuditLog: ApiRequestHandler<BrightPassApiResponse>;
|
|
29
|
+
shareVault: ApiRequestHandler<BrightPassApiResponse>;
|
|
30
|
+
revokeShare: ApiRequestHandler<BrightPassApiResponse>;
|
|
31
|
+
configureEmergencyAccess: ApiRequestHandler<BrightPassApiResponse>;
|
|
32
|
+
recoverWithShares: ApiRequestHandler<BrightPassApiResponse>;
|
|
33
|
+
importEntries: ApiRequestHandler<BrightPassApiResponse>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* BrightPassController — REST API for the BrightPass password manager.
|
|
37
|
+
*
|
|
38
|
+
* Provides endpoints for vault CRUD, entry CRUD, search, password generation,
|
|
39
|
+
* TOTP, breach detection, autofill, audit log, sharing, emergency access, and import.
|
|
40
|
+
*
|
|
41
|
+
* All routes require JWT authentication.
|
|
42
|
+
*
|
|
43
|
+
* @requirements 5.1–5.11
|
|
44
|
+
*/
|
|
45
|
+
export declare class BrightPassController<TID extends PlatformID = DefaultBackendIdType> extends BaseController<TID, BrightPassApiResponse, BrightPassHandlers, CoreLanguageCode> {
|
|
46
|
+
private brightPassService;
|
|
47
|
+
constructor(application: IBrightChainApplication<TID>);
|
|
48
|
+
private getAuthMemberId;
|
|
49
|
+
protected initRouteDefinitions(): void;
|
|
50
|
+
private handleCreateVault;
|
|
51
|
+
private handleListVaults;
|
|
52
|
+
private handleOpenVault;
|
|
53
|
+
private handleDeleteVault;
|
|
54
|
+
private handleCreateEntry;
|
|
55
|
+
private handleGetEntry;
|
|
56
|
+
private handleUpdateEntry;
|
|
57
|
+
private handleDeleteEntry;
|
|
58
|
+
private handleSearchEntries;
|
|
59
|
+
private handleGeneratePassword;
|
|
60
|
+
private handleGenerateTotp;
|
|
61
|
+
private handleValidateTotp;
|
|
62
|
+
private handleBreachCheck;
|
|
63
|
+
private handleAutofill;
|
|
64
|
+
private handleGetAuditLog;
|
|
65
|
+
private handleShareVault;
|
|
66
|
+
private handleRevokeShare;
|
|
67
|
+
private handleConfigureEmergencyAccess;
|
|
68
|
+
private handleRecoverWithShares;
|
|
69
|
+
private handleImportEntries;
|
|
70
|
+
}
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=brightpass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brightpass.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/controllers/api/brightpass.ts"],"names":[],"mappings":"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"}
|