mindoodb 0.0.84 → 0.0.86
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/README-server.md +1 -0
- package/README.md +6 -4
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +15 -0
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +75 -1
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts +9 -1
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
- package/dist/appendonlystores/network/HttpTransport.js +38 -10
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
- package/dist/cloudflare/DurableObjectSql.d.ts +56 -0
- package/dist/cloudflare/DurableObjectSql.d.ts.map +1 -0
- package/dist/cloudflare/DurableObjectSql.js +180 -0
- package/dist/cloudflare/DurableObjectSql.js.map +1 -0
- package/dist/cloudflare/MindooDatabaseObject.d.ts +86 -0
- package/dist/cloudflare/MindooDatabaseObject.d.ts.map +1 -0
- package/dist/cloudflare/MindooDatabaseObject.js +614 -0
- package/dist/cloudflare/MindooDatabaseObject.js.map +1 -0
- package/dist/cloudflare/MindooServerObject.d.ts +63 -0
- package/dist/cloudflare/MindooServerObject.d.ts.map +1 -0
- package/dist/cloudflare/MindooServerObject.js +521 -0
- package/dist/cloudflare/MindooServerObject.js.map +1 -0
- package/dist/cloudflare/WorkersCryptoAdapter.d.ts +7 -0
- package/dist/cloudflare/WorkersCryptoAdapter.d.ts.map +1 -0
- package/dist/cloudflare/WorkersCryptoAdapter.js +14 -0
- package/dist/cloudflare/WorkersCryptoAdapter.js.map +1 -0
- package/dist/cloudflare/host.d.ts +49 -0
- package/dist/cloudflare/host.d.ts.map +1 -0
- package/dist/cloudflare/host.js +104 -0
- package/dist/cloudflare/host.js.map +1 -0
- package/dist/cloudflare/http.d.ts +91 -0
- package/dist/cloudflare/http.d.ts.map +1 -0
- package/dist/cloudflare/http.js +266 -0
- package/dist/cloudflare/http.js.map +1 -0
- package/dist/cloudflare/index.d.ts +12 -0
- package/dist/cloudflare/index.d.ts.map +1 -0
- package/dist/cloudflare/index.js +20 -0
- package/dist/cloudflare/index.js.map +1 -0
- package/dist/cloudflare/storeRpc.d.ts +22 -0
- package/dist/cloudflare/storeRpc.d.ts.map +1 -0
- package/dist/cloudflare/storeRpc.js +85 -0
- package/dist/cloudflare/storeRpc.js.map +1 -0
- package/dist/cloudflare/types.d.ts +101 -0
- package/dist/cloudflare/types.d.ts.map +1 -0
- package/dist/cloudflare/types.js +10 -0
- package/dist/cloudflare/types.js.map +1 -0
- package/dist/cloudflare/worker.d.ts +25 -0
- package/dist/cloudflare/worker.d.ts.map +1 -0
- package/dist/cloudflare/worker.js +170 -0
- package/dist/cloudflare/worker.js.map +1 -0
- package/dist/core/BaseMindooDB.d.ts +43 -1
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +209 -87
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +14 -0
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +46 -0
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +10 -0
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +79 -8
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/ChangeDocDraft.d.ts +133 -0
- package/dist/core/ChangeDocDraft.d.ts.map +1 -0
- package/dist/core/ChangeDocDraft.js +492 -0
- package/dist/core/ChangeDocDraft.js.map +1 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -1
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +1 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +8 -0
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/AuthenticationService.js +19 -0
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
- package/dist/core/appendonlystores/network/IrohStreamIO.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/IrohStreamIO.js +3 -23
- package/dist/core/appendonlystores/network/IrohStreamIO.js.map +1 -1
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts +7 -1
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.d.ts +23 -0
- package/dist/core/appendonlystores/network/types.d.ts.map +1 -1
- package/dist/core/appendonlystores/network/types.js.map +1 -1
- package/dist/core/appendonlystores/rpc/storeRpcCodec.d.ts.map +1 -1
- package/dist/core/appendonlystores/rpc/storeRpcCodec.js +3 -23
- package/dist/core/appendonlystores/rpc/storeRpcCodec.js.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js +21 -30
- package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts +37 -1
- package/dist/core/appendonlystores/sqlite/SqliteDriver.d.ts.map +1 -1
- package/dist/core/appendonlystores/sqlite/SqliteDriver.js +99 -40
- package/dist/core/appendonlystores/sqlite/SqliteDriver.js.map +1 -1
- package/dist/core/appendonlystores/syncStores.d.ts.map +1 -1
- package/dist/core/appendonlystores/syncStores.js +253 -168
- package/dist/core/appendonlystores/syncStores.js.map +1 -1
- package/dist/core/appendonlystores/types.d.ts +8 -0
- package/dist/core/appendonlystores/types.d.ts.map +1 -1
- package/dist/core/appendonlystores/types.js.map +1 -1
- package/dist/core/expressions/evaluateExpression.d.ts +8 -0
- package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
- package/dist/core/expressions/evaluateExpression.js +29 -4
- package/dist/core/expressions/evaluateExpression.js.map +1 -1
- package/dist/core/expressions/metadata.js +4 -4
- package/dist/core/expressions/metadata.js.map +1 -1
- package/dist/core/types.d.ts +61 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/uri/MindooURI.d.ts.map +1 -1
- package/dist/core/uri/MindooURI.js +3 -24
- package/dist/core/uri/MindooURI.js.map +1 -1
- package/dist/core/utils/base64.d.ts +17 -0
- package/dist/core/utils/base64.d.ts.map +1 -0
- package/dist/core/utils/base64.js +54 -0
- package/dist/core/utils/base64.js.map +1 -0
- package/dist/core/utils/idGeneration.d.ts.map +1 -1
- package/dist/core/utils/idGeneration.js +14 -3
- package/dist/core/utils/idGeneration.js.map +1 -1
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +1 -0
- package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
- package/dist/node/server/FsServerDataStore.d.ts +23 -0
- package/dist/node/server/FsServerDataStore.d.ts.map +1 -0
- package/dist/node/server/FsServerDataStore.js +59 -0
- package/dist/node/server/FsServerDataStore.js.map +1 -0
- package/dist/node/server/IrohServerEndpoint.d.ts +1 -1
- package/dist/node/server/IrohServerEndpoint.d.ts.map +1 -1
- package/dist/node/server/IrohServerRpc.d.ts +5 -5
- package/dist/node/server/IrohServerRpc.d.ts.map +1 -1
- package/dist/node/server/IrohServerRpc.js +1 -1
- package/dist/node/server/IrohServerRpc.js.map +1 -1
- package/dist/node/server/MindooDBServer.d.ts +29 -150
- package/dist/node/server/MindooDBServer.d.ts.map +1 -1
- package/dist/node/server/MindooDBServer.js +160 -1568
- package/dist/node/server/MindooDBServer.js.map +1 -1
- package/dist/node/server/PurgedDocRegistry.d.ts +4 -27
- package/dist/node/server/PurgedDocRegistry.d.ts.map +1 -1
- package/dist/node/server/PurgedDocRegistry.js +6 -83
- package/dist/node/server/PurgedDocRegistry.js.map +1 -1
- package/dist/node/server/StoreFactory.d.ts +1 -1
- package/dist/node/server/StoreFactory.d.ts.map +1 -1
- package/dist/node/server/TenantManager.d.ts +16 -284
- package/dist/node/server/TenantManager.d.ts.map +1 -1
- package/dist/node/server/TenantManager.js +35 -1168
- package/dist/node/server/TenantManager.js.map +1 -1
- package/dist/node/server/add-to-network.js +1 -1
- package/dist/node/server/add-to-network.js.map +1 -1
- package/dist/node/server/compressionMiddleware.d.ts +14 -0
- package/dist/node/server/compressionMiddleware.d.ts.map +1 -1
- package/dist/node/server/compressionMiddleware.js +46 -3
- package/dist/node/server/compressionMiddleware.js.map +1 -1
- package/dist/node/server/config.d.ts +11 -15
- package/dist/node/server/config.d.ts.map +1 -1
- package/dist/node/server/config.js +30 -245
- package/dist/node/server/config.js.map +1 -1
- package/dist/node/server/expressAdapter.d.ts +23 -0
- package/dist/node/server/expressAdapter.d.ts.map +1 -0
- package/dist/node/server/expressAdapter.js +108 -0
- package/dist/node/server/expressAdapter.js.map +1 -0
- package/dist/node/server/nativeIrohStreamIO.d.ts +1 -1
- package/dist/node/server/nativeIrohStreamIO.d.ts.map +1 -1
- package/dist/node/server/peer/FileClusterAuditStorage.d.ts +16 -0
- package/dist/node/server/peer/FileClusterAuditStorage.d.ts.map +1 -0
- package/dist/node/server/peer/FileClusterAuditStorage.js +39 -0
- package/dist/node/server/peer/FileClusterAuditStorage.js.map +1 -0
- package/dist/node/server/peer/IrohPeerLink.d.ts +1 -1
- package/dist/node/server/peer/IrohPeerLink.d.ts.map +1 -1
- package/dist/node/server/peer/routes.d.ts +10 -44
- package/dist/node/server/peer/routes.d.ts.map +1 -1
- package/dist/node/server/peer/routes.js +33 -275
- package/dist/node/server/peer/routes.js.map +1 -1
- package/dist/node/server/resolveServerPassword.js +1 -1
- package/dist/node/server/resolveServerPassword.js.map +1 -1
- package/dist/node/server/server.js +1 -1
- package/dist/node/server/server.js.map +1 -1
- package/dist/node/server/serverinit.js +1 -1
- package/dist/node/server/serverinit.js.map +1 -1
- package/dist/server/CapabilityMatcher.d.ts +60 -0
- package/dist/server/CapabilityMatcher.d.ts.map +1 -0
- package/dist/server/CapabilityMatcher.js +138 -0
- package/dist/server/CapabilityMatcher.js.map +1 -0
- package/dist/server/DeviceDiscoveryService.d.ts +36 -0
- package/dist/server/DeviceDiscoveryService.d.ts.map +1 -0
- package/dist/server/DeviceDiscoveryService.js +165 -0
- package/dist/server/DeviceDiscoveryService.js.map +1 -0
- package/dist/server/PurgedDocRegistry.d.ts +35 -0
- package/dist/server/PurgedDocRegistry.d.ts.map +1 -0
- package/dist/server/PurgedDocRegistry.js +90 -0
- package/dist/server/PurgedDocRegistry.js.map +1 -0
- package/dist/server/ServerDataStore.d.ts +67 -0
- package/dist/server/ServerDataStore.d.ts.map +1 -0
- package/dist/server/ServerDataStore.js +88 -0
- package/dist/server/ServerDataStore.js.map +1 -0
- package/dist/server/SyncEventBus.d.ts +39 -0
- package/dist/server/SyncEventBus.d.ts.map +1 -0
- package/dist/server/SyncEventBus.js +41 -0
- package/dist/server/SyncEventBus.js.map +1 -0
- package/dist/server/SystemAdminAuth.d.ts +82 -0
- package/dist/server/SystemAdminAuth.d.ts.map +1 -0
- package/dist/server/SystemAdminAuth.js +228 -0
- package/dist/server/SystemAdminAuth.js.map +1 -0
- package/dist/server/TenantManager.d.ts +330 -0
- package/dist/server/TenantManager.d.ts.map +1 -0
- package/dist/server/TenantManager.js +1186 -0
- package/dist/server/TenantManager.js.map +1 -0
- package/dist/server/http/MindooDBServerCore.d.ts +313 -0
- package/dist/server/http/MindooDBServerCore.d.ts.map +1 -0
- package/dist/server/http/MindooDBServerCore.js +1403 -0
- package/dist/server/http/MindooDBServerCore.js.map +1 -0
- package/dist/server/http/types.d.ts +89 -0
- package/dist/server/http/types.d.ts.map +1 -0
- package/dist/server/http/types.js +29 -0
- package/dist/server/http/types.js.map +1 -0
- package/dist/server/index.d.ts +32 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +76 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/peer/ClusterAuditLog.d.ts +71 -0
- package/dist/server/peer/ClusterAuditLog.d.ts.map +1 -0
- package/dist/server/peer/ClusterAuditLog.js +81 -0
- package/dist/server/peer/ClusterAuditLog.js.map +1 -0
- package/dist/server/peer/ClusterJobRunner.d.ts +43 -0
- package/dist/server/peer/ClusterJobRunner.d.ts.map +1 -0
- package/dist/server/peer/ClusterJobRunner.js +119 -0
- package/dist/server/peer/ClusterJobRunner.js.map +1 -0
- package/dist/server/peer/ClusterManager.d.ts +149 -0
- package/dist/server/peer/ClusterManager.d.ts.map +1 -0
- package/dist/server/peer/ClusterManager.js +292 -0
- package/dist/server/peer/ClusterManager.js.map +1 -0
- package/dist/server/peer/PeerAuthService.d.ts +69 -0
- package/dist/server/peer/PeerAuthService.d.ts.map +1 -0
- package/dist/server/peer/PeerAuthService.js +208 -0
- package/dist/server/peer/PeerAuthService.js.map +1 -0
- package/dist/server/peer/PeerReplicator.d.ts +303 -0
- package/dist/server/peer/PeerReplicator.d.ts.map +1 -0
- package/dist/server/peer/PeerReplicator.js +1071 -0
- package/dist/server/peer/PeerReplicator.js.map +1 -0
- package/dist/server/peer/clusterHttp.d.ts +113 -0
- package/dist/server/peer/clusterHttp.d.ts.map +1 -0
- package/dist/server/peer/clusterHttp.js +290 -0
- package/dist/server/peer/clusterHttp.js.map +1 -0
- package/dist/server/peer/types.d.ts +244 -0
- package/dist/server/peer/types.d.ts.map +1 -0
- package/dist/server/peer/types.js +189 -0
- package/dist/server/peer/types.js.map +1 -0
- package/dist/server/rateLimits.d.ts +119 -0
- package/dist/server/rateLimits.d.ts.map +1 -0
- package/dist/server/rateLimits.js +159 -0
- package/dist/server/rateLimits.js.map +1 -0
- package/dist/server/serverConfig.d.ts +37 -0
- package/dist/server/serverConfig.d.ts.map +1 -0
- package/dist/server/serverConfig.js +251 -0
- package/dist/server/serverConfig.js.map +1 -0
- package/dist/server/timestampProxy.d.ts +129 -0
- package/dist/server/timestampProxy.d.ts.map +1 -0
- package/dist/server/timestampProxy.js +361 -0
- package/dist/server/timestampProxy.js.map +1 -0
- package/dist/server/types.d.ts +267 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +56 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/validation.d.ts +43 -0
- package/dist/server/validation.d.ts.map +1 -0
- package/dist/server/validation.js +104 -0
- package/dist/server/validation.js.map +1 -0
- package/package.json +9 -1
|
@@ -1,37 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HTTP surface
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* protocol. Callers authenticate as a server listed in
|
|
6
|
-
* `trusted-servers.json` and receive a peer JWT. No route here can
|
|
7
|
-
* administer anything.
|
|
8
|
-
* - {@link createClusterRouter} serves `/system/cluster/*`: the admin surface
|
|
9
|
-
* for humans and consoles. Callers authenticate with a system-admin JWT and
|
|
10
|
-
* pass the {@link CapabilityMatcher}. No route here can write entries.
|
|
11
|
-
*
|
|
12
|
-
* The split is the point. A peer must be able to replicate without being able
|
|
13
|
-
* to reconfigure the node it replicates with, and an operator must be able to
|
|
14
|
-
* administer without being able to forge data as a server identity.
|
|
15
|
-
*
|
|
16
|
-
* ## Fan-out, not proxy
|
|
17
|
-
*
|
|
18
|
-
* Every read endpoint answers for **this node only**. A console that wants a
|
|
19
|
-
* cluster-wide view calls each node in turn and merges. The alternative — one
|
|
20
|
-
* node proxying admin reads to its peers — would need an admin credential that
|
|
21
|
-
* spans servers, and peers are separately administered by design: they trust
|
|
22
|
-
* each other with encrypted data, not with each other's administration.
|
|
23
|
-
*
|
|
24
|
-
* ## Admin-blindness
|
|
25
|
-
*
|
|
26
|
-
* Nothing here returns a document id, an author key, or entry content. Status,
|
|
27
|
-
* jobs and audit records carry counts, tenant/database ids and classified
|
|
28
|
-
* reasons. A read-only auditor role must not become a metadata oracle over
|
|
29
|
-
* data the server itself cannot decrypt.
|
|
2
|
+
* Express mounting of the cluster HTTP surface. The handlers, and the
|
|
3
|
+
* reasoning behind the split into `/system/peer/*` (server-to-server) and
|
|
4
|
+
* `/system/cluster/*` (administration), live in `server/peer/clusterHttp.ts`.
|
|
30
5
|
*/
|
|
31
6
|
import { Router } from "express";
|
|
32
|
-
import type { SyncEventBus } from "
|
|
33
|
-
import type { ClusterManager } from "
|
|
34
|
-
import type
|
|
7
|
+
import type { SyncEventBus } from "../../../server/SyncEventBus";
|
|
8
|
+
import type { ClusterManager } from "../../../server/peer/ClusterManager";
|
|
9
|
+
import { type ClusterAdminDeps } from "../../../server/peer/clusterHttp";
|
|
35
10
|
declare global {
|
|
36
11
|
namespace Express {
|
|
37
12
|
interface Request {
|
|
@@ -44,23 +19,14 @@ export interface PeerRouterDeps {
|
|
|
44
19
|
cluster: ClusterManager;
|
|
45
20
|
eventBus: SyncEventBus;
|
|
46
21
|
listTenants(): string[];
|
|
47
|
-
listDatabases(tenantId: string): string[]
|
|
22
|
+
listDatabases(tenantId: string): string[] | Promise<string[]>;
|
|
48
23
|
}
|
|
49
24
|
export declare function createPeerRouter(deps: PeerRouterDeps): Router;
|
|
50
|
-
export
|
|
51
|
-
cluster: ClusterManager;
|
|
52
|
-
/** Read `trusted-servers.json`; used by peer CRUD. */
|
|
53
|
-
listTrustedServers(): TrustedServer[];
|
|
54
|
-
/** Persist a peer entry (add or replace by name). */
|
|
55
|
-
saveTrustedServer(peer: TrustedServer): void;
|
|
56
|
-
/** Remove a peer entry by name; false when it did not exist. */
|
|
57
|
-
removeTrustedServer(name: string): boolean;
|
|
58
|
-
}
|
|
25
|
+
export type ClusterRouterDeps = ClusterAdminDeps;
|
|
59
26
|
/**
|
|
60
27
|
* Admin surface. The caller mounts this behind the system-admin JWT
|
|
61
|
-
* middleware, so capability rules in `config.json` decide who may read
|
|
62
|
-
*
|
|
63
|
-
* that is how an auditor role gets status without getting control.
|
|
28
|
+
* middleware, so capability rules in `config.json` decide who may read and
|
|
29
|
+
* who may act.
|
|
64
30
|
*/
|
|
65
31
|
export declare function createClusterRouter(deps: ClusterRouterDeps): Router;
|
|
66
32
|
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/routes.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/node/server/peer/routes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAA+B,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAI1C,OAAO,CAAC,MAAM,CAAC;IAEb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,qEAAqE;YACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB;KACF;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC/D;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAmD7D;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAiBnE"}
|
|
@@ -1,126 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* HTTP surface
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* protocol. Callers authenticate as a server listed in
|
|
7
|
-
* `trusted-servers.json` and receive a peer JWT. No route here can
|
|
8
|
-
* administer anything.
|
|
9
|
-
* - {@link createClusterRouter} serves `/system/cluster/*`: the admin surface
|
|
10
|
-
* for humans and consoles. Callers authenticate with a system-admin JWT and
|
|
11
|
-
* pass the {@link CapabilityMatcher}. No route here can write entries.
|
|
12
|
-
*
|
|
13
|
-
* The split is the point. A peer must be able to replicate without being able
|
|
14
|
-
* to reconfigure the node it replicates with, and an operator must be able to
|
|
15
|
-
* administer without being able to forge data as a server identity.
|
|
16
|
-
*
|
|
17
|
-
* ## Fan-out, not proxy
|
|
18
|
-
*
|
|
19
|
-
* Every read endpoint answers for **this node only**. A console that wants a
|
|
20
|
-
* cluster-wide view calls each node in turn and merges. The alternative — one
|
|
21
|
-
* node proxying admin reads to its peers — would need an admin credential that
|
|
22
|
-
* spans servers, and peers are separately administered by design: they trust
|
|
23
|
-
* each other with encrypted data, not with each other's administration.
|
|
24
|
-
*
|
|
25
|
-
* ## Admin-blindness
|
|
26
|
-
*
|
|
27
|
-
* Nothing here returns a document id, an author key, or entry content. Status,
|
|
28
|
-
* jobs and audit records carry counts, tenant/database ids and classified
|
|
29
|
-
* reasons. A read-only auditor role must not become a metadata oracle over
|
|
30
|
-
* data the server itself cannot decrypt.
|
|
3
|
+
* Express mounting of the cluster HTTP surface. The handlers, and the
|
|
4
|
+
* reasoning behind the split into `/system/peer/*` (server-to-server) and
|
|
5
|
+
* `/system/cluster/*` (administration), live in `server/peer/clusterHttp.ts`.
|
|
31
6
|
*/
|
|
32
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
8
|
exports.createPeerRouter = createPeerRouter;
|
|
34
9
|
exports.createClusterRouter = createClusterRouter;
|
|
35
10
|
const express_1 = require("express");
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
const MAX_BLOOM_BITS = 1 << 22;
|
|
11
|
+
const clusterHttp_1 = require("../../../server/peer/clusterHttp");
|
|
12
|
+
const MindooDBServerCore_1 = require("../../../server/http/MindooDBServerCore");
|
|
13
|
+
const expressAdapter_1 = require("../expressAdapter");
|
|
40
14
|
function createPeerRouter(deps) {
|
|
41
15
|
const router = (0, express_1.Router)();
|
|
42
|
-
const
|
|
43
|
-
const requirePeer =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
const payload = await cluster.auth.validateToken(auth.substring(7));
|
|
50
|
-
if (!payload) {
|
|
51
|
-
res.status(401).json({ error: "Invalid or expired peer token" });
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
req.peerName = payload.sub;
|
|
55
|
-
next();
|
|
56
|
-
};
|
|
57
|
-
router.post("/challenge", async (req, res) => {
|
|
58
|
-
const { publicsignkey } = req.body;
|
|
59
|
-
if (typeof publicsignkey !== "string" || publicsignkey.length === 0) {
|
|
60
|
-
res.status(400).json({ error: "publicsignkey is required" });
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
try {
|
|
64
|
-
res.json({ challenge: await cluster.auth.generateChallenge(publicsignkey) });
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
// Deliberately the same shape as a signature failure: an unauthenticated
|
|
68
|
-
// caller must not be able to enumerate which servers we trust.
|
|
69
|
-
res.status(401).json({ error: "Unknown peer" });
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
router.post("/authenticate", async (req, res) => {
|
|
73
|
-
const { challenge, signature } = req.body;
|
|
74
|
-
if (typeof challenge !== "string" || typeof signature !== "string") {
|
|
75
|
-
res.status(400).json({ error: "challenge and signature are required" });
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const result = await cluster.auth.authenticate(challenge, new Uint8Array(Buffer.from(signature, "base64")));
|
|
79
|
-
if (!result.success) {
|
|
80
|
-
res.status(401).json({ error: result.error ?? "Authentication failed" });
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
res.json({ success: true, token: result.token });
|
|
84
|
-
});
|
|
85
|
-
/**
|
|
86
|
-
* Tenant intersection.
|
|
87
|
-
*
|
|
88
|
-
* The caller sends a Bloom summary of the tenants it hosts; we answer with
|
|
89
|
-
* the ids on *our* side that the filter might contain. Neither server ever
|
|
90
|
-
* transmits its full tenant list, so a peer learns nothing about tenants it
|
|
91
|
-
* does not already host. False positives are harmless: the caller intersects
|
|
92
|
-
* the answer against its own authoritative list before replicating anything.
|
|
93
|
-
*/
|
|
94
|
-
router.post("/tenant-bloom", requirePeer, (req, res) => {
|
|
95
|
-
const { bloom } = req.body;
|
|
96
|
-
if (!bloom || typeof bloom !== "object") {
|
|
97
|
-
res.status(400).json({ error: "bloom summary is required" });
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
if (typeof bloom.bitCount !== "number" || bloom.bitCount <= 0 || bloom.bitCount > MAX_BLOOM_BITS) {
|
|
101
|
-
res.status(400).json({ error: "Invalid bloom summary" });
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
const candidates = deps
|
|
105
|
-
.listTenants()
|
|
106
|
-
.filter((tenantId) => (0, bloom_1.bloomMightContainId)(bloom, tenantId));
|
|
107
|
-
// Remember what this peer may see, so the event stream can be filtered to
|
|
108
|
-
// the same set instead of announcing every tenant we host.
|
|
109
|
-
cluster.recordPeerIntersection(req.peerName, candidates);
|
|
110
|
-
res.json({ tenantIds: candidates });
|
|
111
|
-
});
|
|
112
|
-
router.get("/databases", requirePeer, (req, res) => {
|
|
113
|
-
const tenantId = typeof req.query.tenantId === "string" ? req.query.tenantId : "";
|
|
114
|
-
if (!tenantId) {
|
|
115
|
-
res.status(400).json({ error: "tenantId is required" });
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (!cluster.peerMaySeeTenant(req.peerName, tenantId)) {
|
|
119
|
-
res.status(404).json({ error: "Tenant not found" });
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
res.json({ databases: deps.listDatabases(tenantId) });
|
|
123
|
-
});
|
|
16
|
+
const handlers = new clusterHttp_1.PeerHttpHandlers(deps);
|
|
17
|
+
const requirePeer = (0, expressAdapter_1.guard)((req) => handlers.peerGuard(req));
|
|
18
|
+
router.post("/challenge", (0, expressAdapter_1.route)((req) => handlers.challenge(req)));
|
|
19
|
+
router.post("/authenticate", (0, expressAdapter_1.route)((req) => handlers.authenticate(req)));
|
|
20
|
+
router.post("/tenant-bloom", requirePeer, (0, expressAdapter_1.route)((req) => handlers.tenantBloom(req)));
|
|
21
|
+
router.get("/databases", requirePeer, (0, expressAdapter_1.route)((req) => handlers.databases(req)));
|
|
124
22
|
/**
|
|
125
23
|
* Change feed for peers, across every shared tenant.
|
|
126
24
|
*
|
|
@@ -139,26 +37,15 @@ function createPeerRouter(deps) {
|
|
|
139
37
|
res.setHeader("Connection", "keep-alive");
|
|
140
38
|
}
|
|
141
39
|
res.flushHeaders();
|
|
142
|
-
res.write(
|
|
40
|
+
res.write((0, MindooDBServerCore_1.formatSyncHelloEvent)());
|
|
143
41
|
const unsubscribe = deps.eventBus.subscribe((event) => {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (event.originPeer === peerName)
|
|
148
|
-
return;
|
|
149
|
-
if (!cluster.peerMaySeeTenant(peerName, event.tenantId))
|
|
150
|
-
return;
|
|
151
|
-
res.write(`event: change\ndata: ${JSON.stringify({
|
|
152
|
-
tenantId: event.tenantId,
|
|
153
|
-
dbId: event.dbId,
|
|
154
|
-
storeKind: event.storeKind,
|
|
155
|
-
epoch: event.epoch,
|
|
156
|
-
maxReceiptOrder: event.maxReceiptOrder,
|
|
157
|
-
})}\n\n`);
|
|
42
|
+
const frame = (0, clusterHttp_1.formatPeerChangeEvent)(deps.cluster, peerName, event);
|
|
43
|
+
if (frame)
|
|
44
|
+
res.write(frame);
|
|
158
45
|
});
|
|
159
46
|
const heartbeat = setInterval(() => {
|
|
160
|
-
res.write(
|
|
161
|
-
},
|
|
47
|
+
res.write((0, MindooDBServerCore_1.formatSyncHeartbeat)(Date.now()));
|
|
48
|
+
}, MindooDBServerCore_1.SYNC_EVENT_HEARTBEAT_MS);
|
|
162
49
|
const cleanup = () => {
|
|
163
50
|
clearInterval(heartbeat);
|
|
164
51
|
unsubscribe();
|
|
@@ -166,157 +53,28 @@ function createPeerRouter(deps) {
|
|
|
166
53
|
req.on("close", cleanup);
|
|
167
54
|
res.on("close", cleanup);
|
|
168
55
|
});
|
|
169
|
-
|
|
170
|
-
* Catch-up trigger from the calling peer.
|
|
171
|
-
*
|
|
172
|
-
* Peer A tells us "I have something for you"; we run our own replicator
|
|
173
|
-
* toward A, which pulls it. Doing it this way rather than having A push
|
|
174
|
-
* directly keeps one replicator per link in charge of cursors and ordering,
|
|
175
|
-
* so the invariants hold no matter which side noticed the change first.
|
|
176
|
-
*/
|
|
177
|
-
router.post("/sync", requirePeer, (req, res) => {
|
|
178
|
-
const peerName = req.peerName;
|
|
179
|
-
const replicator = cluster.getReplicator(peerName);
|
|
180
|
-
if (!replicator) {
|
|
181
|
-
res.status(409).json({
|
|
182
|
-
error: `No outbound session configured for peer ${peerName} (missing url in trusted-servers.json)`,
|
|
183
|
-
});
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
const { tenantId, dbId } = (req.body ?? {});
|
|
187
|
-
// Fire and forget: the caller only needs to know we accepted the hint, and
|
|
188
|
-
// holding the connection open for a full mirror would time out.
|
|
189
|
-
void replicator.syncNow({ tenantId, dbId }).catch(() => undefined);
|
|
190
|
-
res.status(202).json({ accepted: true });
|
|
191
|
-
});
|
|
56
|
+
router.post("/sync", requirePeer, (0, expressAdapter_1.route)((req) => handlers.sync(req)));
|
|
192
57
|
return router;
|
|
193
58
|
}
|
|
194
|
-
const ACTION_KINDS = {
|
|
195
|
-
sync: "sync",
|
|
196
|
-
"retry-rejected": "retry-rejected",
|
|
197
|
-
"refresh-intersection": "refresh-intersection",
|
|
198
|
-
pause: "pause",
|
|
199
|
-
resume: "resume",
|
|
200
|
-
};
|
|
201
59
|
/**
|
|
202
60
|
* Admin surface. The caller mounts this behind the system-admin JWT
|
|
203
|
-
* middleware, so capability rules in `config.json` decide who may read
|
|
204
|
-
*
|
|
205
|
-
* that is how an auditor role gets status without getting control.
|
|
61
|
+
* middleware, so capability rules in `config.json` decide who may read and
|
|
62
|
+
* who may act.
|
|
206
63
|
*/
|
|
207
64
|
function createClusterRouter(deps) {
|
|
208
65
|
const router = (0, express_1.Router)();
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
router.get("/
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
router.get("/
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
router.get("/
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
router.
|
|
221
|
-
const limit = Number.parseInt(String(req.query.limit ?? "50"), 10);
|
|
222
|
-
res.json({ jobs: cluster.jobs.list(Number.isFinite(limit) ? limit : 50) });
|
|
223
|
-
});
|
|
224
|
-
router.get("/jobs/:jobId", (req, res) => {
|
|
225
|
-
const job = cluster.jobs.get(req.params.jobId);
|
|
226
|
-
if (!job) {
|
|
227
|
-
res.status(404).json({ error: "Job not found" });
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
230
|
-
res.json(job);
|
|
231
|
-
});
|
|
232
|
-
router.get("/audit", (req, res) => {
|
|
233
|
-
const limit = Number.parseInt(String(req.query.limit ?? "50"), 10);
|
|
234
|
-
const before = typeof req.query.before === "string" ? req.query.before : undefined;
|
|
235
|
-
res.json(cluster.audit.read({ limit: Number.isFinite(limit) ? limit : 50, before }));
|
|
236
|
-
});
|
|
237
|
-
router.post("/actions/:action", (req, res) => {
|
|
238
|
-
const kind = ACTION_KINDS[req.params.action];
|
|
239
|
-
if (!kind) {
|
|
240
|
-
res.status(404).json({ error: `Unknown action: ${req.params.action}` });
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
const body = (req.body ?? {});
|
|
244
|
-
const scope = {
|
|
245
|
-
peer: typeof body.peer === "string" ? body.peer : undefined,
|
|
246
|
-
tenantId: typeof body.tenantId === "string" ? body.tenantId.toLowerCase() : undefined,
|
|
247
|
-
dbId: typeof body.dbId === "string" ? body.dbId : undefined,
|
|
248
|
-
};
|
|
249
|
-
const outcome = cluster.runAction(kind, scope, actor(req));
|
|
250
|
-
if (!outcome.accepted) {
|
|
251
|
-
res.status(400).json({ error: outcome.error });
|
|
252
|
-
return;
|
|
253
|
-
}
|
|
254
|
-
// 202: the job is queued, not finished. Poll GET /jobs/:jobId.
|
|
255
|
-
res.status(202).json({ jobId: outcome.job.id, job: outcome.job });
|
|
256
|
-
});
|
|
257
|
-
router.get("/peers", (_req, res) => {
|
|
258
|
-
res.json({ peers: cluster.topology().peers });
|
|
259
|
-
});
|
|
260
|
-
router.post("/peers/:name", (req, res) => {
|
|
261
|
-
upsertPeer(req, res, deps, "peer-create");
|
|
262
|
-
});
|
|
263
|
-
router.patch("/peers/:name", (req, res) => {
|
|
264
|
-
upsertPeer(req, res, deps, "peer-update");
|
|
265
|
-
});
|
|
266
|
-
router.delete("/peers/:name", (req, res) => {
|
|
267
|
-
const name = decodeURIComponent(req.params.name);
|
|
268
|
-
if (!deps.removeTrustedServer(name)) {
|
|
269
|
-
res.status(404).json({ error: "Peer not found" });
|
|
270
|
-
return;
|
|
271
|
-
}
|
|
272
|
-
cluster.syncReplicators();
|
|
273
|
-
cluster.auditPeerChange("peer-delete", name, actor(req));
|
|
274
|
-
res.json({ success: true });
|
|
275
|
-
});
|
|
66
|
+
const handlers = new clusterHttp_1.ClusterAdminHandlers(deps);
|
|
67
|
+
router.get("/topology", (0, expressAdapter_1.route)(() => handlers.topology()));
|
|
68
|
+
router.get("/status", (0, expressAdapter_1.route)(() => handlers.status()));
|
|
69
|
+
router.get("/status/tenants/:tenantId", (0, expressAdapter_1.route)((req) => handlers.tenantStatus(req)));
|
|
70
|
+
router.get("/jobs", (0, expressAdapter_1.route)((req) => handlers.jobs(req)));
|
|
71
|
+
router.get("/jobs/:jobId", (0, expressAdapter_1.route)((req) => handlers.job(req)));
|
|
72
|
+
router.get("/audit", (0, expressAdapter_1.route)((req) => handlers.audit(req)));
|
|
73
|
+
router.post("/actions/:action", (0, expressAdapter_1.route)((req) => handlers.action(req)));
|
|
74
|
+
router.get("/peers", (0, expressAdapter_1.route)(() => handlers.peers()));
|
|
75
|
+
router.post("/peers/:name", (0, expressAdapter_1.route)((req) => handlers.createPeer(req)));
|
|
76
|
+
router.patch("/peers/:name", (0, expressAdapter_1.route)((req) => handlers.updatePeer(req)));
|
|
77
|
+
router.delete("/peers/:name", (0, expressAdapter_1.route)((req) => handlers.deletePeer(req)));
|
|
276
78
|
return router;
|
|
277
79
|
}
|
|
278
|
-
function upsertPeer(req, res, deps, action) {
|
|
279
|
-
const name = decodeURIComponent(req.params.name);
|
|
280
|
-
const existing = deps.listTrustedServers().find((peer) => peer.name === name);
|
|
281
|
-
if (action === "peer-create" && existing) {
|
|
282
|
-
res.status(409).json({ error: "Peer already exists" });
|
|
283
|
-
return;
|
|
284
|
-
}
|
|
285
|
-
if (action === "peer-update" && !existing) {
|
|
286
|
-
res.status(404).json({ error: "Peer not found" });
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
const body = req.body;
|
|
290
|
-
const signingPublicKey = body.signingPublicKey ?? existing?.signingPublicKey;
|
|
291
|
-
const encryptionPublicKey = body.encryptionPublicKey ?? existing?.encryptionPublicKey;
|
|
292
|
-
if (!signingPublicKey || !encryptionPublicKey) {
|
|
293
|
-
res.status(400).json({ error: "signingPublicKey and encryptionPublicKey are required" });
|
|
294
|
-
return;
|
|
295
|
-
}
|
|
296
|
-
for (const [field, guard] of [
|
|
297
|
-
["direction", types_1.isPeerSyncDirection],
|
|
298
|
-
["role", types_1.isPeerRole],
|
|
299
|
-
["attachments", types_1.isPeerAttachmentMode],
|
|
300
|
-
]) {
|
|
301
|
-
const value = body[field];
|
|
302
|
-
if (value !== undefined && !guard(value)) {
|
|
303
|
-
res.status(400).json({ error: `Invalid ${field}: ${String(value)}` });
|
|
304
|
-
return;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
const peer = {
|
|
308
|
-
...existing,
|
|
309
|
-
name,
|
|
310
|
-
signingPublicKey,
|
|
311
|
-
encryptionPublicKey,
|
|
312
|
-
url: body.url ?? existing?.url,
|
|
313
|
-
direction: body.direction ?? existing?.direction,
|
|
314
|
-
role: body.role ?? existing?.role,
|
|
315
|
-
attachments: body.attachments ?? existing?.attachments,
|
|
316
|
-
};
|
|
317
|
-
deps.saveTrustedServer(peer);
|
|
318
|
-
deps.cluster.syncReplicators();
|
|
319
|
-
deps.cluster.auditPeerChange(action, name, req.systemAdmin?.username ?? "unknown");
|
|
320
|
-
res.status(action === "peer-create" ? 201 : 200).json({ success: true, peer });
|
|
321
|
-
}
|
|
322
80
|
//# sourceMappingURL=routes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/node/server/peer/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../../src/node/server/peer/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveServerPassword = resolveServerPassword;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
|
-
const types_1 = require("
|
|
5
|
+
const types_1 = require("../../server/types");
|
|
6
6
|
/**
|
|
7
7
|
* Server identity password: optional file (preferred for Docker: avoids putting
|
|
8
8
|
* the secret in the container environment block), else MINDOODB_SERVER_PASSWORD.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveServerPassword.js","sourceRoot":"","sources":["../../../src/node/server/resolveServerPassword.ts"],"names":[],"mappings":";;AAQA,sDAgBC;AAxBD,2BAAkC;AAClC,
|
|
1
|
+
{"version":3,"file":"resolveServerPassword.js","sourceRoot":"","sources":["../../../src/node/server/resolveServerPassword.ts"],"names":[],"mappings":";;AAQA,sDAgBC;AAxBD,2BAAkC;AAClC,8CAA8C;AAE9C;;;;GAIG;AACH,SAAgB,qBAAqB;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAQ,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC;IACpE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,eAAe,gBAAQ,CAAC,oBAAoB,KAAK,QAAQ,MACvD,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAC3C,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAQ,CAAC,eAAe,CAAC,CAAC;IACrD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACxE,CAAC"}
|
|
@@ -23,7 +23,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
23
23
|
const MindooDBServer_1 = require("./MindooDBServer");
|
|
24
24
|
const config_1 = require("./config");
|
|
25
25
|
const resolveServerPassword_1 = require("./resolveServerPassword");
|
|
26
|
-
const types_1 = require("
|
|
26
|
+
const types_1 = require("../../server/types");
|
|
27
27
|
function parseArgs(args) {
|
|
28
28
|
const options = {
|
|
29
29
|
dataDir: "./data",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/node/server/server.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;;GAkBG;;AAEH,qDAAkD;AAClD,qCAA+D;AAC/D,mEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/node/server/server.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;;GAkBG;;AAEH,qDAAkD;AAClD,qCAA+D;AAC/D,mEAAgE;AAChE,8CAA8C;AAa9C,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe;QAC1B,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,KAAK;KACZ,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,YAAY;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC1B,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;wBAC7C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;oBACtB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;wBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;oBACD,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,IAAI,CAAC;YACV,KAAK,aAAa;gBAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,MAAM;YAER,KAAK,YAAY;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC1B,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;oBACzB,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,IAAI,CAAC;YACV,KAAK,cAAc;gBACjB,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC;oBAC5B,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,UAAU;gBACb,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;oBAC7B,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,MAAM;YAER;gBACE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCb,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IAExE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6CAAqB,GAAE,CAAC;IAE/C,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,UAAU,IAAI,uBAAuB,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,oBAAoB,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,IAAA,yBAAgB,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3E,8BAA8B;IAC9B,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAEhH,4EAA4E;IAC5E,6EAA6E;IAC7E,IAAI,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAEhD,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CACV,8DAA8D;gBAC9D,iDAAiD,CAClD,CAAC;QACJ,CAAC;aAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CACV,uDAAuD;gBACvD,GAAG,gBAAQ,CAAC,eAAe,OAAO,gBAAQ,CAAC,oBAAoB,KAAK;gBACpE,uEAAuE,CACxE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,YAAY,EAAE,CAAC;YAEtB,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;gBACzC,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;YACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -29,7 +29,7 @@ const BaseMindooTenantFactory_1 = require("../../core/BaseMindooTenantFactory");
|
|
|
29
29
|
const InMemoryContentAddressedStoreFactory_1 = require("../../appendonlystores/InMemoryContentAddressedStoreFactory");
|
|
30
30
|
const canonicalSetupName_1 = require("./canonicalSetupName");
|
|
31
31
|
const resolveServerPassword_1 = require("./resolveServerPassword");
|
|
32
|
-
const types_1 = require("
|
|
32
|
+
const types_1 = require("../../server/types");
|
|
33
33
|
function parseArgs(args) {
|
|
34
34
|
const options = {
|
|
35
35
|
name: "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverinit.js","sourceRoot":"","sources":["../../../src/node/server/serverinit.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;;;;;;GAkBG;;AAEH,2BAAwE;AACxE,+BAA4B;AAC5B,uCAA2C;AAC3C,mCAAkC;AAElC,mEAAgE;AAChE,gFAA6E;AAC7E,sHAAmH;AAEnH,6DAAiF;AACjF,mEAAgE;AAChE,mCAA+D;AAW/D,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAgB;QAC3B,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;oBACvB,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,IAAI,CAAC;YACV,KAAK,YAAY;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;oBAC1B,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM;YAER,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YAER,KAAK,cAAc;gBACjB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,MAAM;YAER,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,MAAM;YAER;gBACE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;oBACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ;IACf,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;CAyBb,CAAC,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAA,0BAAe,EAAC;QACrB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,EAAsC,EAAE,QAAgB;IAChF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9C,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,MAAM,GAAG,IAAI,iBAAQ,CAAC;QAC1B,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ;YAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAA0B,CAAC,CAAC;YAC1D,CAAC;YACD,QAAQ,EAAE,CAAC;QACb,CAAC;KACF,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,IAAA,0BAAe,EAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM;QACN,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,KAAK,GAAG,KAAK,CAAC;YACd,EAAE,CAAC,KAAK,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACnB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,KAAK,GAAG,IAAI,CAAC;QACb,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,yCAAoB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,iBAAiB,wCAAmB,UAAU,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAExD,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,UAAU,YAAY,4CAA4C,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,yCAAyC;IACzC,IAAI,QAAQ,GAAG,IAAA,6CAAqB,GAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,MAAM,gBAAgB,CAAC,6CAA6C,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,IAAA,cAAS,EAAC,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,cAAc,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,IAAI,qCAAiB,EAAE,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,iDAAuB,CACzC,IAAI,2EAAoC,EAAE,EAC1C,aAAa,CACd,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,qCAAqC,cAAc,MAAM,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAEtE,6BAA6B;IAC7B,IAAA,kBAAa,EAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IAE7D,kDAAkD;IAClD,IAAI,CAAC,IAAA,eAAU,EAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,IAAA,kBAAa,EAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,uCAAuC,kBAAkB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,mDAAmD;IACnD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,kCAAkC;IAClC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CACT,MAAM,gBAAQ,CAAC,oBAAoB,cAAc,gBAAQ,CAAC,eAAe,cAAc;YACrF,sCAAsC,OAAO,CAAC,OAAO,EAAE,CAC1D,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAgC,EAChC,OAAe,EACf,UAAkB;IAElB,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,qCAAqC,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;QACjC,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,OAAO,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,oDAAoD,CAAC,CAAC;QACzF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,yCAAoB,EAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,wCAAmB,GAAG,CAAC,CAAC;YACxD,SAAS;QACX,CAAC;QACD,IAAI,SAAS,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,aAAa,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,oDAAoD,CAAC,CAAC;IACnG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;IAC1E,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,IAAI,aAAa,KAAK,oBAAoB,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,0CAA0C,aAAa,MAAM,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAEtE,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAE/E,sEAAsE;IACtE,MAAM,YAAY,GAAG,aAAa;SAC/B,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,WAAW,EAAE,CAAC;IACjB,MAAM,gBAAgB,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,gBAAgB,YAAY,gBAAgB,CAAC,CAAC;IACrF,IAAA,kBAAa,EAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,CAAC,0DAA0D,gBAAgB,EAAE,CAAC,CAAC;IAE1F,gDAAgD;IAChD,MAAM,MAAM,GAAiB;QAC3B,YAAY,EAAE;YACZ,eAAe,EAAE;gBACf;oBACE,QAAQ,EAAE,aAAa;oBACvB,aAAa,EAAE,aAAa,CAAC,kBAAkB,CAAC,SAAmB;iBACpE;aACF;SACF;QACD,IAAI,EAAE,EAAE,GAAG,kCAA0B,EAAE;KACxC,CAAC;IACF,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,gBAAgB,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,kBAAkB,CAAC,UAAkB;IAC5C,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC;QAAE,OAAO;IAEnC,MAAM,MAAM,GAAiB;QAC3B,YAAY,EAAE;YACZ,eAAe,EAAE;gBACf;oBACE,QAAQ,EAAE,mBAAmB;oBAC7B,aAAa,EAAE,6BAA6B;iBAC7C;aACF;SACF;QACD,IAAI,EAAE,EAAE,GAAG,kCAA0B,EAAE;KACxC,CAAC;IACF,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,sDAAsD,UAAU,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"serverinit.js","sourceRoot":"","sources":["../../../src/node/server/serverinit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capability matching engine for system admin authorization.
|
|
3
|
+
*
|
|
4
|
+
* Parses `METHOD:PATHPATTERN` rules from config.json and checks whether
|
|
5
|
+
* a given (method, path, username, publicsignkey) tuple is authorized.
|
|
6
|
+
*
|
|
7
|
+
* Matching semantics:
|
|
8
|
+
* - Rule method `ALL` matches any HTTP method.
|
|
9
|
+
* - Path patterns use `*` as a wildcard that matches any remaining characters.
|
|
10
|
+
* - All matching rules are unioned; access is granted if *any* matching rule
|
|
11
|
+
* lists a principal with both the correct username AND publicsignkey.
|
|
12
|
+
*/
|
|
13
|
+
import type { ServerConfig } from "./types";
|
|
14
|
+
export declare class CapabilityMatcher {
|
|
15
|
+
private rules;
|
|
16
|
+
constructor(config: ServerConfig);
|
|
17
|
+
/**
|
|
18
|
+
* Hot-swap the internal rules from a new config.
|
|
19
|
+
* Existing authorization decisions in-flight are unaffected;
|
|
20
|
+
* subsequent calls to `isAuthorized` / `principalExists` use the new rules.
|
|
21
|
+
*/
|
|
22
|
+
reload(config: ServerConfig): void;
|
|
23
|
+
private parseConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Check whether a request is authorized.
|
|
26
|
+
*
|
|
27
|
+
* @returns `true` if any matching capability rule lists the given principal.
|
|
28
|
+
*/
|
|
29
|
+
isAuthorized(httpMethod: string, httpPath: string, username: string, publicsignkey: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Check whether a principal exists in *any* capability rule.
|
|
32
|
+
* Used during challenge generation to reject unknown principals early.
|
|
33
|
+
*/
|
|
34
|
+
principalExists(username: string, publicsignkey: string): boolean;
|
|
35
|
+
private methodMatches;
|
|
36
|
+
private principalMatches;
|
|
37
|
+
private isTenantCreationRule;
|
|
38
|
+
private isTenantCreationRequest;
|
|
39
|
+
/**
|
|
40
|
+
* Tenant creation targets exactly one path segment under `/system/tenants/`
|
|
41
|
+
* (the new tenant id) — e.g. `/system/tenants/acme`. A prefix (`startsWith`)
|
|
42
|
+
* test over-grants the wildcard tenant-creation principal to sub-resources of
|
|
43
|
+
* an *existing* tenant, e.g. any future `/system/tenants/acme/<sub>` route
|
|
44
|
+
* (audit #6). Require a segment-exact
|
|
45
|
+
* match so the wildcard authorizes creation only. A trailing slash is allowed
|
|
46
|
+
* but no further path segment.
|
|
47
|
+
*/
|
|
48
|
+
private static isTenantCreationPath;
|
|
49
|
+
/**
|
|
50
|
+
* Match a path pattern against a request path.
|
|
51
|
+
* `*` matches any remaining characters (greedy).
|
|
52
|
+
*/
|
|
53
|
+
private pathMatches;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse `/system/tenants/:tenantId` (optional trailing slash, no sub-resource).
|
|
57
|
+
* Returns the tenant id segment or `null`.
|
|
58
|
+
*/
|
|
59
|
+
export declare function parseSystemTenantItemPath(path: string): string | null;
|
|
60
|
+
//# sourceMappingURL=CapabilityMatcher.d.ts.map
|