@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,109 @@
|
|
|
1
|
+
import { RustDbBridge, rustDbBridgeStorageRehearsal } from './rust-db-bridge.js';
|
|
2
|
+
import type { INoSqlDbManagementOperationOptions } from './service-types.js';
|
|
3
|
+
import {
|
|
4
|
+
normalizeNoSqlDbStorageRehearsalInput, normalizeNoSqlDbStorageRehearsalReceipt,
|
|
5
|
+
normalizeNoSqlDbStorageRehearsalOptions, normalizeNoSqlDbStorageRehearsalOperationOptions,
|
|
6
|
+
NoSqlDbStorageRehearsalError, noSqlDbStorageRehearsalErrorCodes,
|
|
7
|
+
type INoSqlDbStorageRehearsalInput, type INoSqlDbStorageRehearsalOptions,
|
|
8
|
+
type INoSqlDbStorageRehearsalReceipt, type TNoSqlDbStorageRehearsalErrorCode,
|
|
9
|
+
} from './storage-rehearsal.js';
|
|
10
|
+
|
|
11
|
+
/** Owns one offline rehearsal sidecar at a time. Separate instances are independent;
|
|
12
|
+
* native root ownership excludes concurrent use of a source or destination. */
|
|
13
|
+
export class NoSqlDbStorageRehearsal {
|
|
14
|
+
private readonly binaryPath: string | undefined;
|
|
15
|
+
private bridge: RustDbBridge | undefined;
|
|
16
|
+
private cancellation: AbortController | undefined;
|
|
17
|
+
private completion: Promise<void> | undefined;
|
|
18
|
+
|
|
19
|
+
public constructor(options: INoSqlDbStorageRehearsalOptions = {}) {
|
|
20
|
+
this.binaryPath = normalizeNoSqlDbStorageRehearsalOptions(options).binaryPath;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Create or exactly retry a rehearsal. The default deadline is one hour,
|
|
24
|
+
* including spawn and the operation; maximum 24 hours. Cleanup confirms exit
|
|
25
|
+
* before this method settles. Retry the identical request after interruption. */
|
|
26
|
+
public async createDestination(inputArg: INoSqlDbStorageRehearsalInput,
|
|
27
|
+
optionsArg?: INoSqlDbManagementOperationOptions): Promise<INoSqlDbStorageRehearsalReceipt> {
|
|
28
|
+
let input: ReturnType<typeof normalizeNoSqlDbStorageRehearsalInput>;
|
|
29
|
+
try { input = normalizeNoSqlDbStorageRehearsalInput(inputArg); }
|
|
30
|
+
catch { throw new NoSqlDbStorageRehearsalError('INVALID_REQUEST'); }
|
|
31
|
+
const options = normalizeNoSqlDbStorageRehearsalOperationOptions(optionsArg);
|
|
32
|
+
const { timeoutMs } = options;
|
|
33
|
+
if (options.signal?.aborted) throw new NoSqlDbStorageRehearsalError('CANCELLED');
|
|
34
|
+
if (process.platform !== 'linux' && process.platform !== 'darwin') throw new NoSqlDbStorageRehearsalError('UNSUPPORTED');
|
|
35
|
+
if (this.completion) throw new NoSqlDbStorageRehearsalError('BUSY');
|
|
36
|
+
const deadline = performance.now() + timeoutMs;
|
|
37
|
+
const controller = new AbortController();
|
|
38
|
+
this.cancellation = controller;
|
|
39
|
+
const cancel = () => controller.abort();
|
|
40
|
+
options.signal?.addEventListener('abort', cancel, { once: true });
|
|
41
|
+
let complete!: () => void;
|
|
42
|
+
this.completion = new Promise<void>((resolve) => { complete = resolve; });
|
|
43
|
+
let dispatched = false;
|
|
44
|
+
let receipt: INoSqlDbStorageRehearsalReceipt | undefined;
|
|
45
|
+
let failure: NoSqlDbStorageRehearsalError | undefined;
|
|
46
|
+
const remaining = () => {
|
|
47
|
+
const timeout = Math.ceil(deadline - performance.now());
|
|
48
|
+
if (timeout <= 0 || controller.signal.aborted) throw new NoSqlDbStorageRehearsalError(dispatched ? 'RECOVERY_REQUIRED' : 'CANCELLED');
|
|
49
|
+
return timeout;
|
|
50
|
+
};
|
|
51
|
+
try {
|
|
52
|
+
// A failed previous cleanup keeps its bridge here until exit is confirmed.
|
|
53
|
+
await this.terminateBridge();
|
|
54
|
+
remaining();
|
|
55
|
+
const bridge = new RustDbBridge({ binaryPath: this.binaryPath });
|
|
56
|
+
this.bridge = bridge;
|
|
57
|
+
if (!await bridge.spawn({ timeoutMs: remaining(), signal: controller.signal })) {
|
|
58
|
+
throw new NoSqlDbStorageRehearsalError('BINARY_UNAVAILABLE');
|
|
59
|
+
}
|
|
60
|
+
const commandTimeout = remaining();
|
|
61
|
+
dispatched = true;
|
|
62
|
+
const result = await bridge[rustDbBridgeStorageRehearsal](input, {
|
|
63
|
+
timeoutMs: commandTimeout, signal: controller.signal,
|
|
64
|
+
});
|
|
65
|
+
receipt = normalizeNoSqlDbStorageRehearsalReceipt(result, input);
|
|
66
|
+
} catch (error) {
|
|
67
|
+
if (error instanceof NoSqlDbStorageRehearsalError) failure = error;
|
|
68
|
+
else {
|
|
69
|
+
const nativeCode = error instanceof Error && 'responseErrorCode' in error ? error.responseErrorCode : undefined;
|
|
70
|
+
const code: TNoSqlDbStorageRehearsalErrorCode = typeof nativeCode === 'string'
|
|
71
|
+
&& (noSqlDbStorageRehearsalErrorCodes as readonly string[]).includes(nativeCode)
|
|
72
|
+
? nativeCode as TNoSqlDbStorageRehearsalErrorCode
|
|
73
|
+
: dispatched ? 'RECOVERY_REQUIRED' : controller.signal.aborted || performance.now() >= deadline ? 'CANCELLED' : 'BINARY_UNAVAILABLE';
|
|
74
|
+
failure = new NoSqlDbStorageRehearsalError(code);
|
|
75
|
+
}
|
|
76
|
+
} finally {
|
|
77
|
+
try { await this.terminateBridge(); }
|
|
78
|
+
catch { failure = new NoSqlDbStorageRehearsalError('RECOVERY_REQUIRED'); }
|
|
79
|
+
options.signal?.removeEventListener('abort', cancel);
|
|
80
|
+
this.cancellation = undefined;
|
|
81
|
+
this.completion = undefined;
|
|
82
|
+
complete();
|
|
83
|
+
}
|
|
84
|
+
if (failure) throw failure;
|
|
85
|
+
if (!receipt) throw new NoSqlDbStorageRehearsalError('RECOVERY_REQUIRED');
|
|
86
|
+
return receipt;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Cancel active work and confirm sidecar exit. Retry this method if cleanup
|
|
90
|
+
* reports RECOVERY_REQUIRED; the instance retains unconfirmed ownership. */
|
|
91
|
+
public async stop(): Promise<void> {
|
|
92
|
+
const completion = this.completion;
|
|
93
|
+
this.cancellation?.abort();
|
|
94
|
+
let failure: unknown;
|
|
95
|
+
try { await this.terminateBridge(); } catch (error) { failure = error; }
|
|
96
|
+
await completion;
|
|
97
|
+
if (failure) throw new NoSqlDbStorageRehearsalError('RECOVERY_REQUIRED');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
private async terminateBridge(): Promise<void> {
|
|
101
|
+
const bridge = this.bridge;
|
|
102
|
+
if (!bridge) return;
|
|
103
|
+
try {
|
|
104
|
+
await bridge.terminate({ gracePeriodMs: 0 });
|
|
105
|
+
if (!bridge.ownershipReleased) throw new NoSqlDbStorageRehearsalError('RECOVERY_REQUIRED');
|
|
106
|
+
if (this.bridge === bridge) this.bridge = undefined;
|
|
107
|
+
} catch { throw new NoSqlDbStorageRehearsalError('RECOVERY_REQUIRED'); }
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface INoSqlDbCommitCursor {
|
|
2
|
+
timeline: string;
|
|
3
|
+
sequence: string;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface INoSqlDbCommittedNamespace {
|
|
7
|
+
database: string;
|
|
8
|
+
collection: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface INoSqlDbCommitReceipt {
|
|
12
|
+
session: string;
|
|
13
|
+
transaction: string;
|
|
14
|
+
statement?: number | null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface INoSqlDbCommittedWrite {
|
|
18
|
+
stamp: INoSqlDbCommitCursor;
|
|
19
|
+
committedAtMs: number;
|
|
20
|
+
namespaces: INoSqlDbCommittedNamespace[];
|
|
21
|
+
receipt: INoSqlDbCommitReceipt | null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface INoSqlDbGetCommittedWritesInput {
|
|
25
|
+
db: string;
|
|
26
|
+
after?: INoSqlDbCommitCursor;
|
|
27
|
+
limit?: number;
|
|
28
|
+
maximumBytes?: number;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface INoSqlDbCommittedWritesPage {
|
|
32
|
+
writes: INoSqlDbCommittedWrite[];
|
|
33
|
+
cursor: INoSqlDbCommitCursor;
|
|
34
|
+
head: INoSqlDbCommitCursor;
|
|
35
|
+
oldest: INoSqlDbCommitCursor;
|
|
36
|
+
gap: boolean;
|
|
37
|
+
hasMore: boolean;
|
|
38
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {
|
|
2
|
+
normalizeNoSqlDbFileStorageStartup,
|
|
3
|
+
type TNoSqlDbFileStorageStartup,
|
|
4
|
+
} from './file-storage-startup.js';
|
|
5
|
+
|
|
6
|
+
interface IFileStorageOptions {
|
|
7
|
+
storage?: string;
|
|
8
|
+
fileStorageStartup?: unknown;
|
|
9
|
+
auth?: { users?: unknown };
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** Pure, instance-local admission for the sole native serving engine. */
|
|
13
|
+
export const normalizeNoSqlDbFileStorageOptions = (optionsArg: IFileStorageOptions): {
|
|
14
|
+
fileStorageStartup: TNoSqlDbFileStorageStartup | undefined;
|
|
15
|
+
} => {
|
|
16
|
+
for (const removed of ['fileStorageEngine', 'persistPath', 'persistIntervalMs']) {
|
|
17
|
+
if (removed in optionsArg) throw new TypeError(`NoSQLDB ${removed} has been removed; native memory and file storage are selected by storage`);
|
|
18
|
+
}
|
|
19
|
+
if (optionsArg.auth && 'usersPath' in optionsArg.auth) {
|
|
20
|
+
throw new TypeError('NoSQLDB auth.usersPath has been removed; authentication is stored in the native database');
|
|
21
|
+
}
|
|
22
|
+
const storage = optionsArg.storage ?? 'memory';
|
|
23
|
+
if (storage !== 'file' && storage !== 'memory') throw new TypeError('NoSQLDB storage must be "memory" or "file"');
|
|
24
|
+
if (process.platform !== 'linux' && process.platform !== 'darwin') {
|
|
25
|
+
throw new TypeError('NoSQLDB native storage requires Linux or macOS');
|
|
26
|
+
}
|
|
27
|
+
if (optionsArg.fileStorageStartup !== undefined && storage !== 'file') {
|
|
28
|
+
throw new TypeError('NoSQLDB fileStorageStartup requires storage: "file"');
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
fileStorageStartup: storage === 'file' ? normalizeNoSqlDbFileStorageStartup(optionsArg.fileStorageStartup) : undefined,
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Native format admission is read-only until the engine owns the file root. */
|
|
2
|
+
export type TNoSqlDbFileStorageStartup = 'current-format-only' | 'existing-only';
|
|
3
|
+
|
|
4
|
+
export const normalizeNoSqlDbFileStorageStartup = (
|
|
5
|
+
valueArg: unknown,
|
|
6
|
+
): TNoSqlDbFileStorageStartup => {
|
|
7
|
+
if (valueArg === undefined || valueArg === 'current-format-only') return 'current-format-only';
|
|
8
|
+
if (valueArg === 'existing-only') return 'existing-only';
|
|
9
|
+
throw new TypeError('NoSQLDB fileStorageStartup must be "current-format-only" or "existing-only"; automatic storage conversion has been removed');
|
|
10
|
+
};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// NoSQLDB - Wire protocol compatible embedded database server
|
|
2
|
+
export { NoSqlDbStoppedOperationError } from './stopped-storage.js';
|
|
3
|
+
export type {
|
|
4
|
+
INoSqlDbStoppedOperationOptions, ILocalNoSqlDbStoppedStorageRootInspectionInput,
|
|
5
|
+
TLocalNoSqlDbStoppedStorageRootInspection, ILocalNoSqlDbAuditedStorageRoot,
|
|
6
|
+
ILocalNoSqlDbUnavailableStorageRoot, INoSqlDbPhysicalAdmissionViolation,
|
|
7
|
+
TNoSqlDbStorageRootBindingChange,
|
|
8
|
+
} from './stopped-storage.js';
|
|
9
|
+
export { NoSqlDbStorageRehearsal } from './classes.storagerehearsal.js';
|
|
10
|
+
export { NoSqlDbStorageRehearsalError, noSqlDbStorageRehearsalErrorCodes } from './storage-rehearsal.js';
|
|
11
|
+
export type {
|
|
12
|
+
INoSqlDbStorageRehearsalOptions, INoSqlDbStorageRehearsalInput,
|
|
13
|
+
INoSqlDbStorageRehearsalReceipt, INoSqlDbStorageRehearsalPreservation,
|
|
14
|
+
TNoSqlDbStorageRehearsalErrorCode,
|
|
15
|
+
} from './storage-rehearsal.js';
|
|
16
|
+
|
|
17
|
+
// Export server (the main entry point for using NoSQLDB)
|
|
18
|
+
export { NoSqlDbServer, noSqlDbServerStopGraceMs } from './server/classes.nosqldbserver.js';
|
|
19
|
+
export type {
|
|
20
|
+
INoSqlDbCommitCursor,
|
|
21
|
+
INoSqlDbCommittedNamespace,
|
|
22
|
+
INoSqlDbCommitReceipt,
|
|
23
|
+
INoSqlDbCommittedWrite,
|
|
24
|
+
INoSqlDbGetCommittedWritesInput,
|
|
25
|
+
INoSqlDbCommittedWritesPage,
|
|
26
|
+
} from './committed-writes.js';
|
|
27
|
+
export type { TNoSqlDbFileStorageStartup } from './file-storage-startup.js';
|
|
28
|
+
export type {
|
|
29
|
+
INoSqlDbAuthOptions,
|
|
30
|
+
INoSqlDbAuthUser,
|
|
31
|
+
INoSqlDbOplogOptions,
|
|
32
|
+
INoSqlDbServerOptions,
|
|
33
|
+
INoSqlDbServerStopResult,
|
|
34
|
+
INoSqlDbTlsOptions,
|
|
35
|
+
} from './server/classes.nosqldbserver.js';
|
|
36
|
+
|
|
37
|
+
// Export bridge for advanced usage, its fail-stop ownership error, and the
|
|
38
|
+
// engine-exit error and standard-error tail bounds.
|
|
39
|
+
export {
|
|
40
|
+
RustDbBridge,
|
|
41
|
+
NoSqlDbManagementOperationTerminationError,
|
|
42
|
+
NoSqlDbEngineExitError,
|
|
43
|
+
noSqlDbEngineStderrTailLimits,
|
|
44
|
+
NoSqlDbUnknownRootError,
|
|
45
|
+
} from './rust-db-bridge.js';
|
|
46
|
+
|
|
47
|
+
// Export oplog / debug types
|
|
48
|
+
export type {
|
|
49
|
+
IRustDbBridgeOptions,
|
|
50
|
+
INoSqlDbQueryOptions,
|
|
51
|
+
INoSqlDbInboundOptions,
|
|
52
|
+
IOpLogEntry,
|
|
53
|
+
IOpLogResult,
|
|
54
|
+
IOpLogStats,
|
|
55
|
+
IRevertResult,
|
|
56
|
+
ICollectionInfo,
|
|
57
|
+
IDocumentsResult,
|
|
58
|
+
INoSqlDbMetrics,
|
|
59
|
+
} from './rust-db-bridge.js';
|
|
60
|
+
|
|
61
|
+
// Export service API types
|
|
62
|
+
export type {
|
|
63
|
+
INoSqlDbHealth,
|
|
64
|
+
INoSqlDbResourceFence,
|
|
65
|
+
INoSqlDbResourceFenceReceipt,
|
|
66
|
+
INoSqlDbHeldPublicationReceipt,
|
|
67
|
+
INoSqlDbCommitDatabasePublicationInput,
|
|
68
|
+
INoSqlDbManagementOperationOptions,
|
|
69
|
+
INoSqlDbDatabaseResourceFenceState,
|
|
70
|
+
INoSqlDbDatabaseAllocationIdentity,
|
|
71
|
+
INoSqlDbDatabaseAllocationLifecycle,
|
|
72
|
+
INoSqlDbDatabaseAllocationReadAccessGrantIdentity,
|
|
73
|
+
INoSqlDbIssueDatabaseAllocationReadAccessGrantInput,
|
|
74
|
+
INoSqlDbIssueDatabaseAllocationReadAccessGrantResult,
|
|
75
|
+
INoSqlDbRevokeDatabaseAllocationReadAccessGrantInput,
|
|
76
|
+
INoSqlDbRevokeDatabaseAllocationReadAccessGrantResult,
|
|
77
|
+
ILocalNoSqlDbOfflineInspectionLimits,
|
|
78
|
+
ILocalNoSqlDbOfflinePhysicalNamespaceInspectionLimits,
|
|
79
|
+
ILocalNoSqlDbOfflinePhysicalNamespaceInspection,
|
|
80
|
+
ILocalNoSqlDbOfflinePhysicalNamespaceInspectionResult,
|
|
81
|
+
ILocalNoSqlDbOfflineStringValueInspection,
|
|
82
|
+
TLocalNoSqlDbOfflineStringValueInspectionResult,
|
|
83
|
+
TNoSqlDbCommitDatabasePublicationResult,
|
|
84
|
+
TNoSqlDbResourceFenceErrorCode,
|
|
85
|
+
TNoSqlDbAllocationReadAccessGrantErrorCode,
|
|
86
|
+
INoSqlDbDatabaseTenantInput,
|
|
87
|
+
INoSqlDbAttestDatabaseTenantInput,
|
|
88
|
+
INoSqlDbAttestDatabaseTenantResult,
|
|
89
|
+
INoSqlDbEnsureDatabaseTenantInput,
|
|
90
|
+
INoSqlDbEnsureDatabaseTenantResult,
|
|
91
|
+
INoSqlDbAllocateDatabaseTenantInput,
|
|
92
|
+
INoSqlDbAllocateDatabaseTenantResult,
|
|
93
|
+
INoSqlDbDeleteDatabaseTenantInput,
|
|
94
|
+
INoSqlDbRotateDatabaseTenantPasswordInput,
|
|
95
|
+
INoSqlDbDatabaseTenantDescriptor,
|
|
96
|
+
INoSqlDbDeleteDatabaseTenantResult,
|
|
97
|
+
INoSqlDbDatabaseExportCollection,
|
|
98
|
+
INoSqlDbDatabaseExport,
|
|
99
|
+
INoSqlDbDatabaseExportLimits,
|
|
100
|
+
INoSqlDbExportDatabaseInput,
|
|
101
|
+
INoSqlDbExportHeldDatabaseInput,
|
|
102
|
+
INoSqlDbDatabaseContentDigestLimits,
|
|
103
|
+
INoSqlDbGetDatabaseContentDigestInput,
|
|
104
|
+
INoSqlDbDatabaseContentDigest,
|
|
105
|
+
INoSqlDbImportDatabaseInput,
|
|
106
|
+
INoSqlDbImportDatabaseResult,
|
|
107
|
+
} from './service-types.js';
|
|
108
|
+
export {
|
|
109
|
+
NoSqlDbAllocationReadAccessGrantError,
|
|
110
|
+
normalizeNoSqlDbAllocationReadAccessGrantError,
|
|
111
|
+
noSqlDbAllocationReadAccessGrantErrorCodes,
|
|
112
|
+
NoSqlDbResourceFenceError,
|
|
113
|
+
normalizeNoSqlDbResourceFenceError,
|
|
114
|
+
noSqlDbResourceFenceErrorCodes,
|
|
115
|
+
} from './service-types.js';
|
|
116
|
+
export type {
|
|
117
|
+
ILocalNoSqlDbStoppedStorageRootRelocationInput,
|
|
118
|
+
ILocalNoSqlDbStoppedStorageRootRelocationReceipt,
|
|
119
|
+
TLocalNoSqlDbStorageRootRelocationErrorCode,
|
|
120
|
+
} from './storage-root-relocation.js';
|
|
121
|
+
export {
|
|
122
|
+
LocalNoSqlDbStorageRootRelocationError,
|
|
123
|
+
localNoSqlDbStorageRootRelocationErrorCodes,
|
|
124
|
+
} from './storage-root-relocation.js';
|
|
125
|
+
export type { TNoSqlDbEffectivePayloadInputV1 } from './resource-fencing.js';
|
|
126
|
+
export { createNoSqlDbEffectivePayloadSha256V1 } from './resource-fencing.js';
|
|
127
|
+
|
|
128
|
+
export type {
|
|
129
|
+
INoSqlDbStorageRootPins, ILocalNoSqlDbStoppedStorageRootAlignmentInput,
|
|
130
|
+
ILocalNoSqlDbStoppedStorageRootAlignmentReceipt, TLocalNoSqlDbStoppedStorageRootAlignmentResult,
|
|
131
|
+
ILocalNoSqlDbStoppedStorageRootAlignmentAbortResult,
|
|
132
|
+
} from './storage-root-alignment.js';
|