@lossless.org/nosqldb 10.11.0 → 11.0.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/.smartconfig.json +117 -0
- package/dist_rust/rustdb_linux_amd64 +0 -0
- package/dist_rust/rustdb_linux_amd64.tsrust-build.json +5 -5
- package/dist_rust/rustdb_linux_amd64_musl +0 -0
- package/dist_rust/rustdb_linux_amd64_musl.tsrust-build.json +5 -5
- package/dist_rust/rustdb_linux_arm64 +0 -0
- package/dist_rust/rustdb_linux_arm64.tsrust-build.json +5 -5
- package/dist_rust/rustdb_linux_arm64_musl +0 -0
- package/dist_rust/rustdb_linux_arm64_musl.tsrust-build.json +5 -5
- package/dist_rust/rustdb_macos_amd64 +0 -0
- package/dist_rust/rustdb_macos_amd64.tsrust-build.json +5 -5
- package/dist_rust/rustdb_macos_arm64 +0 -0
- package/dist_rust/rustdb_macos_arm64.tsrust-build.json +5 -5
- package/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/ts_local/classes.localnosqldb.d.ts +15 -4
- package/dist_ts/ts_local/classes.localnosqldb.js +31 -11
- package/dist_ts/ts_nosqldb/index.d.ts +3 -3
- package/dist_ts/ts_nosqldb/index.js +5 -4
- package/dist_ts/ts_nosqldb/rust-db-bridge.d.ts +125 -2
- package/dist_ts/ts_nosqldb/rust-db-bridge.js +261 -46
- package/dist_ts/ts_nosqldb/server/classes.nosqldbserver.d.ts +69 -3
- package/dist_ts/ts_nosqldb/server/classes.nosqldbserver.js +91 -12
- package/dist_ts/ts_nosqldb/server/index.d.ts +2 -2
- package/dist_ts/ts_nosqldb/server/index.js +2 -2
- package/dist_ts/ts_nosqldb/stopped-storage.d.ts +9 -1
- package/dist_ts/ts_nosqldb/stopped-storage.js +1 -1
- package/dist_ts/ts_nosqldb/storage-rehearsal.js +1 -1
- package/dist_ts/ts_nosqldb/storage-root-alignment.js +7 -3
- package/dist_ts/ts_nosqldb/storage-root-relocation.js +2 -2
- package/dist_ts_debugserver/bundled.js +6 -2
- package/package.json +28 -15
- package/readme.md +470 -730
- package/third-party-notices.md +40 -8
- package/third_party_licenses/inventory.json +6 -6
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/index.ts +85 -0
- package/ts/ts_local/classes.localnosqldb.ts +631 -0
- package/ts/ts_local/index.ts +19 -0
- package/ts/ts_local/plugins.ts +1 -0
- package/ts/ts_nosqldb/classes.storagerehearsal.ts +109 -0
- package/ts/ts_nosqldb/committed-writes.ts +38 -0
- package/ts/ts_nosqldb/file-storage-options.ts +33 -0
- package/ts/ts_nosqldb/file-storage-startup.ts +10 -0
- package/ts/ts_nosqldb/index.ts +132 -0
- package/ts/ts_nosqldb/offline-inspection.ts +375 -0
- package/ts/ts_nosqldb/plugins.ts +12 -0
- package/ts/ts_nosqldb/resource-fencing.ts +368 -0
- package/ts/ts_nosqldb/rust-db-bridge.ts +1309 -0
- package/ts/ts_nosqldb/server/classes.nosqldbserver.ts +874 -0
- package/ts/ts_nosqldb/server/index.ts +4 -0
- package/ts/ts_nosqldb/service-types.ts +499 -0
- package/ts/ts_nosqldb/stopped-storage.ts +116 -0
- package/ts/ts_nosqldb/storage-rehearsal.ts +215 -0
- package/ts/ts_nosqldb/storage-root-alignment.ts +180 -0
- package/ts/ts_nosqldb/storage-root-relocation.ts +279 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@git.zone/cli": {
|
|
3
|
+
"projectType": "npm",
|
|
4
|
+
"module": {
|
|
5
|
+
"githost": "code.foss.global",
|
|
6
|
+
"gitscope": "lossless.org",
|
|
7
|
+
"gitrepo": "nosqldb",
|
|
8
|
+
"description": "A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.",
|
|
9
|
+
"npmPackagename": "@lossless.org/nosqldb",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"projectDomain": "lossless.org",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"mongodb-compatible",
|
|
14
|
+
"wire protocol",
|
|
15
|
+
"embedded database",
|
|
16
|
+
"in-memory database",
|
|
17
|
+
"testing",
|
|
18
|
+
"local database",
|
|
19
|
+
"database server",
|
|
20
|
+
"rust"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"commit": {
|
|
24
|
+
"push": {
|
|
25
|
+
"remote": "lossless",
|
|
26
|
+
"followTags": true
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"release": {
|
|
30
|
+
"preflight": {
|
|
31
|
+
"test": true,
|
|
32
|
+
"testCommand": "pnpm run release:check-builders",
|
|
33
|
+
"build": true,
|
|
34
|
+
"buildCommand": "pnpm run release:build-artifacts"
|
|
35
|
+
},
|
|
36
|
+
"targets": {
|
|
37
|
+
"git": {
|
|
38
|
+
"enabled": true,
|
|
39
|
+
"remote": "lossless",
|
|
40
|
+
"pushBranch": true,
|
|
41
|
+
"pushTags": true
|
|
42
|
+
},
|
|
43
|
+
"npm": {
|
|
44
|
+
"enabled": true,
|
|
45
|
+
"registries": [
|
|
46
|
+
"https://verdaccio.lossless.digital",
|
|
47
|
+
"https://registry.npmjs.org"
|
|
48
|
+
],
|
|
49
|
+
"accessLevel": "public",
|
|
50
|
+
"alreadyPublished": "success"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"services": [],
|
|
55
|
+
"schemaVersion": 2
|
|
56
|
+
},
|
|
57
|
+
"@git.zone/tsrepo": {
|
|
58
|
+
"docs": {
|
|
59
|
+
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license.md) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
|
|
60
|
+
},
|
|
61
|
+
"bundle": {
|
|
62
|
+
"bundles": [
|
|
63
|
+
{
|
|
64
|
+
"from": "./ts_debugui/index.ts",
|
|
65
|
+
"to": "./ts_debugserver/bundled.ts",
|
|
66
|
+
"outputMode": "base64ts",
|
|
67
|
+
"bundler": "esbuild",
|
|
68
|
+
"includeFiles": [
|
|
69
|
+
{
|
|
70
|
+
"from": "./html/index.html",
|
|
71
|
+
"to": "index.html"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"@git.zone/rsrepo": {
|
|
79
|
+
"targetsByHost": {
|
|
80
|
+
"linux": [
|
|
81
|
+
"linux_amd64",
|
|
82
|
+
"linux_arm64",
|
|
83
|
+
"linux_amd64_musl",
|
|
84
|
+
"linux_arm64_musl"
|
|
85
|
+
],
|
|
86
|
+
"macos": [
|
|
87
|
+
"macos_amd64",
|
|
88
|
+
"macos_arm64"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"locked": true,
|
|
92
|
+
"static": false,
|
|
93
|
+
"matrix": {
|
|
94
|
+
"builders": {
|
|
95
|
+
"macos_arm64": {
|
|
96
|
+
"transport": "ssh",
|
|
97
|
+
"destinationEnv": "NOSQLDB_RELEASE_MACOS_SSH",
|
|
98
|
+
"temporaryRootEnv": "NOSQLDB_RELEASE_MACOS_TEMP_ROOT"
|
|
99
|
+
},
|
|
100
|
+
"linux_amd64": {
|
|
101
|
+
"transport": "local"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"smokeTestArgs": [
|
|
105
|
+
"--version"
|
|
106
|
+
],
|
|
107
|
+
"verificationCommand": [
|
|
108
|
+
"pnpm",
|
|
109
|
+
"run",
|
|
110
|
+
"release:verify-native"
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"@ship.zone/szci": {
|
|
115
|
+
"npmGlobalTools": []
|
|
116
|
+
}
|
|
117
|
+
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "8a9bb1a610c65e5014c3cb0096b2f3244fd0355014ed3348222e54fc602c3d64",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "11.0.0",
|
|
7
|
+
"gitCommit": "2519c9c0c298ce1e8c11a482464bd9287ab7ea70",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-
|
|
10
|
-
"tsrustVersion": "
|
|
9
|
+
"builtAt": "2026-11-10T16:16:56.723Z",
|
|
10
|
+
"tsrustVersion": "1.1.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_amd64"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "8275ba34fb8e9508d761f92a9b32020f05e1232f6a0dd9685f1d5eb47a7fa363",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "11.0.0",
|
|
7
|
+
"gitCommit": "2519c9c0c298ce1e8c11a482464bd9287ab7ea70",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-
|
|
10
|
-
"tsrustVersion": "
|
|
9
|
+
"builtAt": "2026-11-10T16:16:58.707Z",
|
|
10
|
+
"tsrustVersion": "1.1.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_amd64_musl"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "025c7638096c59a7664e4d9f92b3425dcdb9c9006b66fde1e702c6c47000ce2f",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "11.0.0",
|
|
7
|
+
"gitCommit": "2519c9c0c298ce1e8c11a482464bd9287ab7ea70",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-
|
|
10
|
-
"tsrustVersion": "
|
|
9
|
+
"builtAt": "2026-11-10T16:16:57.752Z",
|
|
10
|
+
"tsrustVersion": "1.1.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_arm64"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "d4d041b9c229b7cebb868ae9423e7bb035f8b36470b27d90669b03919e61e165",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "11.0.0",
|
|
7
|
+
"gitCommit": "2519c9c0c298ce1e8c11a482464bd9287ab7ea70",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-
|
|
10
|
-
"tsrustVersion": "
|
|
9
|
+
"builtAt": "2026-11-10T16:16:59.577Z",
|
|
10
|
+
"tsrustVersion": "1.1.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "linux_arm64_musl"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "536a1532afde8ae782d40069ef02dba8cc432bab52b2d54d18717f1bd93f2c49",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "11.0.0",
|
|
7
|
+
"gitCommit": "2519c9c0c298ce1e8c11a482464bd9287ab7ea70",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-
|
|
10
|
-
"tsrustVersion": "
|
|
9
|
+
"builtAt": "2026-11-10T15:41:33.765Z",
|
|
10
|
+
"tsrustVersion": "1.1.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "macos_amd64"
|
|
13
13
|
}
|
|
Binary file
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"format": "tsrust.build-provenance.v2",
|
|
3
|
-
"binarySha256": "
|
|
3
|
+
"binarySha256": "8c531e921fd6f174ef9b28e0ffba833426a2c02e4c4f68b661b7ffaea725146c",
|
|
4
4
|
"buildInfo": {
|
|
5
5
|
"projectName": "@lossless.org/nosqldb",
|
|
6
|
-
"projectVersion": "
|
|
7
|
-
"gitCommit": "
|
|
6
|
+
"projectVersion": "11.0.0",
|
|
7
|
+
"gitCommit": "2519c9c0c298ce1e8c11a482464bd9287ab7ea70",
|
|
8
8
|
"gitDirty": false,
|
|
9
|
-
"builtAt": "2026-
|
|
10
|
-
"tsrustVersion": "
|
|
9
|
+
"builtAt": "2026-11-10T15:41:35.133Z",
|
|
10
|
+
"tsrustVersion": "1.1.1",
|
|
11
11
|
"binary": "rustdb",
|
|
12
12
|
"target": "macos_arm64"
|
|
13
13
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@lossless.org/nosqldb',
|
|
6
|
-
version: '
|
|
6
|
+
version: '11.0.0',
|
|
7
7
|
description: 'A MongoDB-compatible embedded database server with wire protocol support, backed by a high-performance Rust engine.'
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvMDBfY29tbWl0aW5mb19kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLElBQUksRUFBRSx1QkFBdUI7SUFDN0IsT0FBTyxFQUFFLFFBQVE7SUFDakIsV0FBVyxFQUFFLHFIQUFxSDtDQUNuSSxDQUFBIn0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ILocalNoSqlDbStoppedStorageRootAlignmentInput, type TLocalNoSqlDbStoppedStorageRootAlignmentResult, type ILocalNoSqlDbStoppedStorageRootAlignmentAbortResult } from '../ts_nosqldb/storage-root-alignment.js';
|
|
2
2
|
import { type INoSqlDbStoppedOperationOptions, type ILocalNoSqlDbStoppedStorageRootInspectionInput, type TLocalNoSqlDbStoppedStorageRootInspection } from '../ts_nosqldb/stopped-storage.js';
|
|
3
|
-
import { NoSqlDbServer, type INoSqlDbAuthOptions, type ILocalNoSqlDbOfflinePhysicalNamespaceInspection, type ILocalNoSqlDbOfflinePhysicalNamespaceInspectionResult, type ILocalNoSqlDbStoppedStorageRootRelocationInput, type ILocalNoSqlDbStoppedStorageRootRelocationReceipt, type ILocalNoSqlDbOfflineStringValueInspection, type TLocalNoSqlDbOfflineStringValueInspectionResult } from '../ts_nosqldb/index.js';
|
|
3
|
+
import { NoSqlDbServer, type NoSqlDbEngineExitError, type INoSqlDbAuthOptions, type ILocalNoSqlDbOfflinePhysicalNamespaceInspection, type ILocalNoSqlDbOfflinePhysicalNamespaceInspectionResult, type ILocalNoSqlDbStoppedStorageRootRelocationInput, type ILocalNoSqlDbStoppedStorageRootRelocationReceipt, type ILocalNoSqlDbOfflineStringValueInspection, type TLocalNoSqlDbOfflineStringValueInspectionResult } from '../ts_nosqldb/index.js';
|
|
4
|
+
import { type INoSqlDbServerStopResult } from '../ts_nosqldb/server/classes.nosqldbserver.js';
|
|
4
5
|
import { type TNoSqlDbFileStorageStartup } from '../ts_nosqldb/file-storage-startup.js';
|
|
5
6
|
/**
|
|
6
7
|
* Connection information returned by LocalNoSqlDb.start()
|
|
@@ -24,6 +25,10 @@ export interface ILocalNoSqlDbOptions {
|
|
|
24
25
|
folderPath: string;
|
|
25
26
|
/** Optional: custom socket path (default: auto-generated in /tmp) */
|
|
26
27
|
socketPath?: string;
|
|
28
|
+
/** Receives every engine standard-error line; as `INoSqlDbServerOptions.engineLog`. */
|
|
29
|
+
engineLog?: (line: string) => void;
|
|
30
|
+
/** Called once for each unexpected engine exit; as `INoSqlDbServerOptions.onEngineExit`. */
|
|
31
|
+
onEngineExit?: (error: NoSqlDbEngineExitError) => void;
|
|
27
32
|
}
|
|
28
33
|
/**
|
|
29
34
|
* LocalNoSqlDb - Lightweight local MongoDB-compatible database using Unix sockets
|
|
@@ -103,9 +108,13 @@ export declare class LocalNoSqlDb {
|
|
|
103
108
|
*/
|
|
104
109
|
private static cleanStaleSockets;
|
|
105
110
|
/**
|
|
106
|
-
* Start the local NoSQLDB server and return connection info
|
|
111
|
+
* Start the local NoSQLDB server and return connection info. A rejection
|
|
112
|
+
* carries `engineStderrTail`: the server's start sets it, and a rejection
|
|
113
|
+
* from before the server's start, which spawned no engine, carries an empty
|
|
114
|
+
* array.
|
|
107
115
|
*/
|
|
108
116
|
start(): Promise<ILocalNoSqlDbConnectionInfo>;
|
|
117
|
+
private startServer;
|
|
109
118
|
/**
|
|
110
119
|
* Get connection info (throws if not started)
|
|
111
120
|
*/
|
|
@@ -123,7 +132,9 @@ export declare class LocalNoSqlDb {
|
|
|
123
132
|
*/
|
|
124
133
|
get running(): boolean;
|
|
125
134
|
/**
|
|
126
|
-
* Stop the local NoSQLDB server
|
|
135
|
+
* Stop the local NoSQLDB server. Resolves with the result of its
|
|
136
|
+
* `NoSqlDbServer.stop()`, which says how the engine ended; without a server,
|
|
137
|
+
* with a result saying that no stop request was sent.
|
|
127
138
|
*/
|
|
128
|
-
stop(): Promise<
|
|
139
|
+
stop(): Promise<INoSqlDbServerStopResult>;
|
|
129
140
|
}
|
|
@@ -6,8 +6,9 @@ import * as net from 'node:net';
|
|
|
6
6
|
import * as path from 'node:path';
|
|
7
7
|
import * as os from 'node:os';
|
|
8
8
|
import { NoSqlDbServer, } from '../ts_nosqldb/index.js';
|
|
9
|
-
import { RustDbBridge, rustDbBridgeStorageRootRelocation, rustDbBridgeStorageRootAlignment, rustDbBridgeStorageRootAlignmentAbort, } from '../ts_nosqldb/rust-db-bridge.js';
|
|
9
|
+
import { RustDbBridge, attachNoSqlDbEngineStderrTail, rustDbBridgeStorageRootRelocation, rustDbBridgeStorageRootAlignment, rustDbBridgeStorageRootAlignmentAbort, } from '../ts_nosqldb/rust-db-bridge.js';
|
|
10
10
|
import { validateNoSqlDbStorageRehearsalStartup } from '../ts_nosqldb/storage-rehearsal.js';
|
|
11
|
+
import { noStopRequestResult } from '../ts_nosqldb/server/classes.nosqldbserver.js';
|
|
11
12
|
import {} from '../ts_nosqldb/file-storage-startup.js';
|
|
12
13
|
import { normalizeNoSqlDbFileStorageOptions, } from '../ts_nosqldb/file-storage-options.js';
|
|
13
14
|
import { normalizeLocalNoSqlDbOfflinePhysicalNamespaceInspectionInput, normalizeLocalNoSqlDbOfflineInspectionInput, validateNoSqlDbManagementOperationOptions, } from '../ts_nosqldb/offline-inspection.js';
|
|
@@ -317,8 +318,8 @@ export class LocalNoSqlDb {
|
|
|
317
318
|
};
|
|
318
319
|
}
|
|
319
320
|
if (!await bridge.spawn(spawnOptions)) {
|
|
320
|
-
|
|
321
|
-
|
|
321
|
+
// The bridge states what it knows: that the engine at its binaryPath did not report ready, or, without one, both meanings.
|
|
322
|
+
throw new Error(bridge.spawnFailureMessage ?? 'the nosqldb engine did not start: spawn() returned false');
|
|
322
323
|
}
|
|
323
324
|
let commandOptions = optionsArg;
|
|
324
325
|
if (deadline !== undefined) {
|
|
@@ -421,9 +422,23 @@ export class LocalNoSqlDb {
|
|
|
421
422
|
}
|
|
422
423
|
}
|
|
423
424
|
/**
|
|
424
|
-
* Start the local NoSQLDB server and return connection info
|
|
425
|
+
* Start the local NoSQLDB server and return connection info. A rejection
|
|
426
|
+
* carries `engineStderrTail`: the server's start sets it, and a rejection
|
|
427
|
+
* from before the server's start, which spawned no engine, carries an empty
|
|
428
|
+
* array.
|
|
425
429
|
*/
|
|
426
430
|
async start() {
|
|
431
|
+
try {
|
|
432
|
+
return await this.startServer();
|
|
433
|
+
}
|
|
434
|
+
catch (error) {
|
|
435
|
+
if (!(error !== null && typeof error === 'object' && Object.prototype.hasOwnProperty.call(error, 'engineStderrTail'))) {
|
|
436
|
+
attachNoSqlDbEngineStderrTail(error, []);
|
|
437
|
+
}
|
|
438
|
+
throw error;
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
async startServer() {
|
|
427
442
|
if (this.server) {
|
|
428
443
|
throw new Error('LocalNoSqlDb is already running');
|
|
429
444
|
}
|
|
@@ -437,6 +452,8 @@ export class LocalNoSqlDb {
|
|
|
437
452
|
socketPath: this.generatedSocketPath,
|
|
438
453
|
storage: 'file',
|
|
439
454
|
storagePath: this.options.folderPath,
|
|
455
|
+
engineLog: this.options.engineLog,
|
|
456
|
+
onEngineExit: this.options.onEngineExit,
|
|
440
457
|
});
|
|
441
458
|
await this.server.start();
|
|
442
459
|
return {
|
|
@@ -481,14 +498,17 @@ export class LocalNoSqlDb {
|
|
|
481
498
|
return this.server !== null && this.server.running;
|
|
482
499
|
}
|
|
483
500
|
/**
|
|
484
|
-
* Stop the local NoSQLDB server
|
|
501
|
+
* Stop the local NoSQLDB server. Resolves with the result of its
|
|
502
|
+
* `NoSqlDbServer.stop()`, which says how the engine ended; without a server,
|
|
503
|
+
* with a result saying that no stop request was sent.
|
|
485
504
|
*/
|
|
486
505
|
async stop() {
|
|
487
|
-
if (this.server)
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
506
|
+
if (!this.server)
|
|
507
|
+
return noStopRequestResult;
|
|
508
|
+
const result = await this.server.stop();
|
|
509
|
+
this.server = null;
|
|
510
|
+
this.generatedSocketPath = null;
|
|
511
|
+
return result;
|
|
492
512
|
}
|
|
493
513
|
}
|
|
494
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5sb2NhbG5vc3FsZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy90c19sb2NhbC9jbGFzc2VzLmxvY2Fsbm9zcWxkYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wseUNBQXlDLEVBQUUsMENBQTBDLEVBQ3JGLCtDQUErQyxHQUdoRCxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsMENBQTBDLEVBQzFDLHNDQUFzQyxFQUN0QywrQkFBK0IsR0FJaEMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFDTCxhQUFhLEdBU2QsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsRUFDaEMscUNBQXFDLEdBQ3RDLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUYsT0FBTyxFQUVOLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUNMLGtDQUFrQyxHQUNuQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCw0REFBNEQsRUFDNUQsMkNBQTJDLEVBQzNDLHlDQUF5QyxHQUMxQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdDLE9BQU8sRUFDTCxrREFBa0QsRUFDbEQsNENBQTRDLEVBQzVDLHNDQUFzQyxFQUN0QyxzREFBc0QsRUFDdEQsd0RBQXdELEdBQ3pELE1BQU0sMENBQTBDLENBQUM7QUEy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
|
|
514
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5sb2NhbG5vc3FsZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy90c19sb2NhbC9jbGFzc2VzLmxvY2Fsbm9zcWxkYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wseUNBQXlDLEVBQUUsMENBQTBDLEVBQ3JGLCtDQUErQyxHQUdoRCxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsMENBQTBDLEVBQzFDLHNDQUFzQyxFQUN0QywrQkFBK0IsR0FJaEMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxHQUFHLE1BQU0sVUFBVSxDQUFDO0FBQ2hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFDTCxhQUFhLEdBVWQsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLDZCQUE2QixFQUM3QixpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hDLHFDQUFxQyxHQUN0QyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBaUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuSCxPQUFPLEVBRU4sTUFBTSx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsa0NBQWtDLEdBQ25DLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUNMLDREQUE0RCxFQUM1RCwyQ0FBMkMsRUFDM0MseUNBQXlDLEdBQzFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUNMLGtEQUFrRCxFQUNsRCw0Q0FBNEMsRUFDNUMs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
|
|
@@ -3,11 +3,11 @@ export type { INoSqlDbStoppedOperationOptions, ILocalNoSqlDbStoppedStorageRootIn
|
|
|
3
3
|
export { NoSqlDbStorageRehearsal } from './classes.storagerehearsal.js';
|
|
4
4
|
export { NoSqlDbStorageRehearsalError, noSqlDbStorageRehearsalErrorCodes } from './storage-rehearsal.js';
|
|
5
5
|
export type { INoSqlDbStorageRehearsalOptions, INoSqlDbStorageRehearsalInput, INoSqlDbStorageRehearsalReceipt, INoSqlDbStorageRehearsalPreservation, TNoSqlDbStorageRehearsalErrorCode, } from './storage-rehearsal.js';
|
|
6
|
-
export { NoSqlDbServer } from './server/classes.nosqldbserver.js';
|
|
6
|
+
export { NoSqlDbServer, noSqlDbServerStopGraceMs } from './server/classes.nosqldbserver.js';
|
|
7
7
|
export type { INoSqlDbCommitCursor, INoSqlDbCommittedNamespace, INoSqlDbCommitReceipt, INoSqlDbCommittedWrite, INoSqlDbGetCommittedWritesInput, INoSqlDbCommittedWritesPage, } from './committed-writes.js';
|
|
8
8
|
export type { TNoSqlDbFileStorageStartup } from './file-storage-startup.js';
|
|
9
|
-
export type { INoSqlDbAuthOptions, INoSqlDbAuthUser, INoSqlDbOplogOptions, INoSqlDbServerOptions, INoSqlDbTlsOptions, } from './server/classes.nosqldbserver.js';
|
|
10
|
-
export { RustDbBridge, NoSqlDbManagementOperationTerminationError, } from './rust-db-bridge.js';
|
|
9
|
+
export type { INoSqlDbAuthOptions, INoSqlDbAuthUser, INoSqlDbOplogOptions, INoSqlDbServerOptions, INoSqlDbServerStopResult, INoSqlDbTlsOptions, } from './server/classes.nosqldbserver.js';
|
|
10
|
+
export { RustDbBridge, NoSqlDbManagementOperationTerminationError, NoSqlDbEngineExitError, noSqlDbEngineStderrTailLimits, NoSqlDbUnknownRootError, } from './rust-db-bridge.js';
|
|
11
11
|
export type { IRustDbBridgeOptions, INoSqlDbQueryOptions, INoSqlDbInboundOptions, IOpLogEntry, IOpLogResult, IOpLogStats, IRevertResult, ICollectionInfo, IDocumentsResult, INoSqlDbMetrics, } from './rust-db-bridge.js';
|
|
12
12
|
export type { INoSqlDbHealth, INoSqlDbResourceFence, INoSqlDbResourceFenceReceipt, INoSqlDbHeldPublicationReceipt, INoSqlDbCommitDatabasePublicationInput, INoSqlDbManagementOperationOptions, INoSqlDbDatabaseResourceFenceState, INoSqlDbDatabaseAllocationIdentity, INoSqlDbDatabaseAllocationLifecycle, INoSqlDbDatabaseAllocationReadAccessGrantIdentity, INoSqlDbIssueDatabaseAllocationReadAccessGrantInput, INoSqlDbIssueDatabaseAllocationReadAccessGrantResult, INoSqlDbRevokeDatabaseAllocationReadAccessGrantInput, INoSqlDbRevokeDatabaseAllocationReadAccessGrantResult, ILocalNoSqlDbOfflineInspectionLimits, ILocalNoSqlDbOfflinePhysicalNamespaceInspectionLimits, ILocalNoSqlDbOfflinePhysicalNamespaceInspection, ILocalNoSqlDbOfflinePhysicalNamespaceInspectionResult, ILocalNoSqlDbOfflineStringValueInspection, TLocalNoSqlDbOfflineStringValueInspectionResult, TNoSqlDbCommitDatabasePublicationResult, TNoSqlDbResourceFenceErrorCode, TNoSqlDbAllocationReadAccessGrantErrorCode, INoSqlDbDatabaseTenantInput, INoSqlDbAttestDatabaseTenantInput, INoSqlDbAttestDatabaseTenantResult, INoSqlDbEnsureDatabaseTenantInput, INoSqlDbEnsureDatabaseTenantResult, INoSqlDbAllocateDatabaseTenantInput, INoSqlDbAllocateDatabaseTenantResult, INoSqlDbDeleteDatabaseTenantInput, INoSqlDbRotateDatabaseTenantPasswordInput, INoSqlDbDatabaseTenantDescriptor, INoSqlDbDeleteDatabaseTenantResult, INoSqlDbDatabaseExportCollection, INoSqlDbDatabaseExport, INoSqlDbDatabaseExportLimits, INoSqlDbExportDatabaseInput, INoSqlDbExportHeldDatabaseInput, INoSqlDbDatabaseContentDigestLimits, INoSqlDbGetDatabaseContentDigestInput, INoSqlDbDatabaseContentDigest, INoSqlDbImportDatabaseInput, INoSqlDbImportDatabaseResult, } from './service-types.js';
|
|
13
13
|
export { NoSqlDbAllocationReadAccessGrantError, normalizeNoSqlDbAllocationReadAccessGrantError, noSqlDbAllocationReadAccessGrantErrorCodes, NoSqlDbResourceFenceError, normalizeNoSqlDbResourceFenceError, noSqlDbResourceFenceErrorCodes, } from './service-types.js';
|
|
@@ -3,10 +3,11 @@ export { NoSqlDbStoppedOperationError } from './stopped-storage.js';
|
|
|
3
3
|
export { NoSqlDbStorageRehearsal } from './classes.storagerehearsal.js';
|
|
4
4
|
export { NoSqlDbStorageRehearsalError, noSqlDbStorageRehearsalErrorCodes } from './storage-rehearsal.js';
|
|
5
5
|
// Export server (the main entry point for using NoSQLDB)
|
|
6
|
-
export { NoSqlDbServer } from './server/classes.nosqldbserver.js';
|
|
7
|
-
// Export bridge for advanced usage
|
|
8
|
-
|
|
6
|
+
export { NoSqlDbServer, noSqlDbServerStopGraceMs } from './server/classes.nosqldbserver.js';
|
|
7
|
+
// Export bridge for advanced usage, its fail-stop ownership error, and the
|
|
8
|
+
// engine-exit error and standard-error tail bounds.
|
|
9
|
+
export { RustDbBridge, NoSqlDbManagementOperationTerminationError, NoSqlDbEngineExitError, noSqlDbEngineStderrTailLimits, NoSqlDbUnknownRootError, } from './rust-db-bridge.js';
|
|
9
10
|
export { NoSqlDbAllocationReadAccessGrantError, normalizeNoSqlDbAllocationReadAccessGrantError, noSqlDbAllocationReadAccessGrantErrorCodes, NoSqlDbResourceFenceError, normalizeNoSqlDbResourceFenceError, noSqlDbResourceFenceErrorCodes, } from './service-types.js';
|
|
10
11
|
export { LocalNoSqlDbStorageRootRelocationError, localNoSqlDbStorageRootRelocationErrorCodes, } from './storage-root-relocation.js';
|
|
11
12
|
export { createNoSqlDbEffectivePayloadSha256V1 } from './resource-fencing.js';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy90c19ub3NxbGRiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU9wRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU96Ryx5REFBeUQ7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBbUI1RiwyRUFBMkU7QUFDM0Usb0RBQW9EO0FBQ3BELE9BQU8sRUFDTCxZQUFZLEVBQ1osMENBQTBDLEVBQzFDLHNCQUFzQixFQUN0Qiw2QkFBNkIsRUFDN0IsdUJBQXVCLEdBQ3hCLE1BQU0scUJBQXFCLENBQUM7QUErRDdCLE9BQU8sRUFDTCxxQ0FBcUMsRUFDckMsOENBQThDLEVBQzlDLDBDQUEwQyxFQUMxQyx5QkFBeUIsRUFDekIsa0NBQWtDLEVBQ2xDLDhCQUE4QixHQUMvQixNQUFNLG9CQUFvQixDQUFDO0FBTTVCLE9BQU8sRUFDTCxzQ0FBc0MsRUFDdEMsMkNBQTJDLEdBQzVDLE1BQU0sOEJBQThCLENBQUM7QUFFdEMsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0sdUJBQXVCLENBQUMifQ==
|