@lossless.org/nosqldb 10.10.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 +21 -19
- 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/package.json +20 -16
- package/readme.md +469 -666
- package/third-party-notices.md +40 -8
- package/third_party_licenses/inventory.json +6 -6
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/ts_local/classes.localnosqldb.ts +35 -12
- package/ts/ts_nosqldb/index.ts +7 -2
- package/ts/ts_nosqldb/rust-db-bridge.ts +291 -48
- package/ts/ts_nosqldb/server/classes.nosqldbserver.ts +151 -15
- package/ts/ts_nosqldb/server/index.ts +2 -2
- package/ts/ts_nosqldb/stopped-storage.ts +9 -1
- package/ts/ts_nosqldb/storage-rehearsal.ts +1 -1
- package/ts/ts_nosqldb/storage-root-alignment.ts +6 -2
- package/ts/ts_nosqldb/storage-root-relocation.ts +1 -1
package/.smartconfig.json
CHANGED
|
@@ -54,26 +54,28 @@
|
|
|
54
54
|
"services": [],
|
|
55
55
|
"schemaVersion": 2
|
|
56
56
|
},
|
|
57
|
-
"@git.zone/
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
+
}
|
|
75
77
|
},
|
|
76
|
-
"@git.zone/
|
|
78
|
+
"@git.zone/rsrepo": {
|
|
77
79
|
"targetsByHost": {
|
|
78
80
|
"linux": [
|
|
79
81
|
"linux_amd64",
|
|
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==
|
|
@@ -69,6 +69,48 @@ export interface IDocumentsResult {
|
|
|
69
69
|
documents: Record<string, any>[];
|
|
70
70
|
total: number;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Bounds of the engine standard-error tail that start failures, unexpected
|
|
74
|
+
* engine exits and failed management calls carry: the engine's last 64 lines.
|
|
75
|
+
* A longer line keeps its first 1,024 characters, followed by
|
|
76
|
+
* ` [<n> more characters]`.
|
|
77
|
+
*/
|
|
78
|
+
export declare const noSqlDbEngineStderrTailLimits: Readonly<{
|
|
79
|
+
lines: 64;
|
|
80
|
+
lineCharacters: 1024;
|
|
81
|
+
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Attach the engine's last standard-error lines to an error as its own field
|
|
84
|
+
* `engineStderrTail`, leaving its message and cause unchanged. Values that
|
|
85
|
+
* cannot carry a field (primitives, frozen objects) are left as they are.
|
|
86
|
+
*/
|
|
87
|
+
export declare function attachNoSqlDbEngineStderrTail(errorArg: unknown, tailArg: readonly string[]): void;
|
|
88
|
+
/**
|
|
89
|
+
* The engine process exited with a non-zero status or by a signal while its
|
|
90
|
+
* server was running and no stop was in progress. `engineStderrTail` holds
|
|
91
|
+
* its last standard-error lines.
|
|
92
|
+
*/
|
|
93
|
+
export declare class NoSqlDbEngineExitError extends Error {
|
|
94
|
+
readonly exitCode: number | null;
|
|
95
|
+
readonly signal: string | null;
|
|
96
|
+
readonly engineStderrTail: readonly string[];
|
|
97
|
+
constructor(exitCode: number | null, signal: string | null, engineStderrTailArg: readonly string[]);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* A start that the engine refused because the storage root, or a feature it
|
|
101
|
+
* carries, comes from a later NoSQLDB release than this one: the engine's
|
|
102
|
+
* management reply carried the code `UNKNOWN_ROOT`. The engine wrote nothing
|
|
103
|
+
* into the root (storage-root-names-and-start.md, "Roots of later releases";
|
|
104
|
+
* requirements A300 and A319). `code` holds the code, and `cause` the
|
|
105
|
+
* management error that carried it.
|
|
106
|
+
*/
|
|
107
|
+
export declare class NoSqlDbUnknownRootError extends Error {
|
|
108
|
+
readonly code: 'UNKNOWN_ROOT';
|
|
109
|
+
readonly responseErrorCode: 'UNKNOWN_ROOT';
|
|
110
|
+
constructor(options?: {
|
|
111
|
+
cause?: unknown;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
72
114
|
export declare class NoSqlDbManagementOperationTerminationError extends AggregateError {
|
|
73
115
|
constructor(operationErrorArg: unknown, terminationErrorArg: unknown);
|
|
74
116
|
}
|
|
@@ -131,6 +173,7 @@ interface INoSqlDbRustConfig {
|
|
|
131
173
|
storagePath?: string;
|
|
132
174
|
query?: INoSqlDbQueryOptions;
|
|
133
175
|
inbound?: INoSqlDbInboundOptions;
|
|
176
|
+
storageBudgetBytes?: number;
|
|
134
177
|
auth?: {
|
|
135
178
|
enabled?: boolean;
|
|
136
179
|
users?: Array<{
|
|
@@ -154,10 +197,30 @@ interface INoSqlDbRustConfig {
|
|
|
154
197
|
maxBytes?: number;
|
|
155
198
|
};
|
|
156
199
|
}
|
|
157
|
-
|
|
200
|
+
/**
|
|
201
|
+
* What a spawn() that returned false after `waitedMs` means, stating only what
|
|
202
|
+
* is known. Smartrust refuses a `binaryPath` that does not pass its validation
|
|
203
|
+
* before spawn() can return false, so with one the engine there passed
|
|
204
|
+
* Smartrust's validation and did not report ready within the bridge's limit,
|
|
205
|
+
* and its path is given as the caller gave it.
|
|
206
|
+
* Without one, whatever NOSQLDB_RUST_BINARY holds (one of the places that
|
|
207
|
+
* Smartrust's search looks), either the search found no engine or the engine
|
|
208
|
+
* it found did not report ready, and nothing tells which.
|
|
209
|
+
*/
|
|
210
|
+
export declare function describeRefusedSpawn(binaryPath: string | undefined, waitedMs: number): string;
|
|
158
211
|
export interface IRustDbBridgeOptions {
|
|
159
212
|
/** Exact engine executable, validated by Smartrust without discovery fallback or permission changes. */
|
|
160
213
|
binaryPath?: string;
|
|
214
|
+
/**
|
|
215
|
+
* Receives every line the engine writes to its standard error, in order and
|
|
216
|
+
* without its line break. Without it, no engine line reaches the host
|
|
217
|
+
* process's standard error. Either way the bridge keeps the last lines for
|
|
218
|
+
* errors (`noSqlDbEngineStderrTailLimits`). Each call runs in its own
|
|
219
|
+
* microtask after the bridge has recorded the line, so an exception it
|
|
220
|
+
* throws cannot disturb the bridge; it is not caught and reaches the process
|
|
221
|
+
* as an uncaught exception.
|
|
222
|
+
*/
|
|
223
|
+
engineLog?: (line: string) => void;
|
|
161
224
|
}
|
|
162
225
|
/**
|
|
163
226
|
* Bridge between TypeScript NoSqlDbServer and the Rust binary.
|
|
@@ -171,13 +234,73 @@ export declare class RustDbBridge extends EventEmitter {
|
|
|
171
234
|
* termination, or when the bridge is connected to an external process.
|
|
172
235
|
*/
|
|
173
236
|
get processId(): number | undefined;
|
|
237
|
+
/** The engine child process of the latest spawn, while the bridge holds it. */
|
|
238
|
+
private get childProcess();
|
|
239
|
+
/** How the engine process of the latest spawn exited, once it has. */
|
|
240
|
+
private engineExit;
|
|
241
|
+
private engineExitPromise;
|
|
242
|
+
/** Records the exit of the engine process that a spawn has just started. */
|
|
243
|
+
private watchEngineExit;
|
|
244
|
+
/**
|
|
245
|
+
* The exit code and signal of the engine process of the latest spawn, as its
|
|
246
|
+
* process exit reported them, each null where it reported none; or null
|
|
247
|
+
* while that process has not exited, or no spawn started one.
|
|
248
|
+
*/
|
|
249
|
+
get lastEngineExit(): {
|
|
250
|
+
code: number | null;
|
|
251
|
+
signal: string | null;
|
|
252
|
+
} | null;
|
|
253
|
+
/** Whether the engine process of the latest spawn exists and has not exited. */
|
|
254
|
+
get engineProcessAlive(): boolean;
|
|
255
|
+
/** Waits up to `timeoutMs` for the engine process to exit by itself; resolves whether it has. */
|
|
256
|
+
waitForEngineExit(timeoutMs: number): Promise<boolean>;
|
|
257
|
+
/**
|
|
258
|
+
* Closes the engine's management input, the end of the management protocol
|
|
259
|
+
* after an acknowledged `stop`, on which the engine exits by itself. This is
|
|
260
|
+
* neither a signal nor a kill. Returns whether there was an input to close.
|
|
261
|
+
*/
|
|
262
|
+
endManagementInput(): boolean;
|
|
174
263
|
private terminationConfirmed;
|
|
175
264
|
private terminationPromise;
|
|
176
265
|
private terminationFailure;
|
|
266
|
+
private readonly stderrTail;
|
|
267
|
+
/** The `binaryPath` this bridge was given, if any, as given: the bridge's only configured path. */
|
|
268
|
+
private readonly binaryPath;
|
|
269
|
+
private spawnRefusal;
|
|
270
|
+
/**
|
|
271
|
+
* Why Smartrust's spawn() returned false, as far as the bridge knows. Each
|
|
272
|
+
* spawn() clears it as it starts, and sets it when Smartrust's spawn()
|
|
273
|
+
* returns false before this spawn()'s own `timeoutMs` or `signal` cuts it
|
|
274
|
+
* short, before the engine is ended. That spawn() then returns false, or
|
|
275
|
+
* throws if ending the engine fails. After any other spawn() it is
|
|
276
|
+
* undefined, including one cut short by its own `timeoutMs` or `signal`.
|
|
277
|
+
* Smartrust's spawn() returns false both when it finds no engine and when
|
|
278
|
+
* the engine it starts does not report ready within its limit; a
|
|
279
|
+
* `binaryPath` tells the two apart, as Smartrust refuses one that does not
|
|
280
|
+
* pass its validation with RustBinaryLocatorError before spawn() can return
|
|
281
|
+
* false.
|
|
282
|
+
*/
|
|
283
|
+
get spawnFailureMessage(): string | undefined;
|
|
177
284
|
constructor(options?: IRustDbBridgeOptions);
|
|
285
|
+
/**
|
|
286
|
+
* The last standard-error lines of the running or most recently spawned
|
|
287
|
+
* engine process, within `noSqlDbEngineStderrTailLimits`.
|
|
288
|
+
*/
|
|
289
|
+
get engineStderrTail(): string[];
|
|
290
|
+
/**
|
|
291
|
+
* Send one management command. A failure while no engine runs (it exited
|
|
292
|
+
* or never started) carries the engine's last standard-error lines.
|
|
293
|
+
*/
|
|
294
|
+
private send;
|
|
178
295
|
/**
|
|
179
296
|
* Spawn the Rust binary in management mode.
|
|
180
|
-
* Returns true
|
|
297
|
+
* Returns true once the engine reported ready. Returns false when
|
|
298
|
+
* Smartrust's spawn() returned false: no engine was found, or the one found
|
|
299
|
+
* did not report ready within the bridge's limit. spawnFailureMessage then
|
|
300
|
+
* says what that means, as far as the bridge knows, and still says it if
|
|
301
|
+
* ending that engine fails and this throws instead. After any other
|
|
302
|
+
* outcome, including a throw on this spawn()'s own `timeoutMs` or `signal`,
|
|
303
|
+
* spawnFailureMessage is undefined.
|
|
181
304
|
*/
|
|
182
305
|
spawn(optionsArg?: INoSqlDbManagementOperationOptions): Promise<boolean>;
|
|
183
306
|
/**
|