@neottia/repository-store 0.2.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/LICENSE +21 -0
- package/README.md +76 -0
- package/binding.gyp +9 -0
- package/dist/errors.d.ts +43 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +69 -0
- package/dist/errors.js.map +1 -0
- package/dist/files.d.ts +19 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +113 -0
- package/dist/files.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/fault-injection.d.ts +13 -0
- package/dist/internal/fault-injection.d.ts.map +1 -0
- package/dist/internal/fault-injection.js +68 -0
- package/dist/internal/fault-injection.js.map +1 -0
- package/dist/internal/filesystem.d.ts +25 -0
- package/dist/internal/filesystem.d.ts.map +1 -0
- package/dist/internal/filesystem.js +199 -0
- package/dist/internal/filesystem.js.map +1 -0
- package/dist/internal/model.d.ts +43 -0
- package/dist/internal/model.d.ts.map +1 -0
- package/dist/internal/model.js +49 -0
- package/dist/internal/model.js.map +1 -0
- package/dist/internal/native-publication.d.ts +9 -0
- package/dist/internal/native-publication.d.ts.map +1 -0
- package/dist/internal/native-publication.js +65 -0
- package/dist/internal/native-publication.js.map +1 -0
- package/dist/internal/publication.d.ts +10 -0
- package/dist/internal/publication.d.ts.map +1 -0
- package/dist/internal/publication.js +223 -0
- package/dist/internal/publication.js.map +1 -0
- package/dist/lease.d.ts +24 -0
- package/dist/lease.d.ts.map +1 -0
- package/dist/lease.js +932 -0
- package/dist/lease.js.map +1 -0
- package/dist/limits.d.ts +15 -0
- package/dist/limits.d.ts.map +1 -0
- package/dist/limits.js +14 -0
- package/dist/limits.js.map +1 -0
- package/dist/paths.d.ts +15 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +58 -0
- package/dist/paths.js.map +1 -0
- package/dist/revision.d.ts +4 -0
- package/dist/revision.d.ts.map +1 -0
- package/dist/revision.js +8 -0
- package/dist/revision.js.map +1 -0
- package/dist/sqlite/adapter.d.ts +48 -0
- package/dist/sqlite/adapter.d.ts.map +1 -0
- package/dist/sqlite/adapter.js +183 -0
- package/dist/sqlite/adapter.js.map +1 -0
- package/dist/sqlite/bun.d.ts +2 -0
- package/dist/sqlite/bun.d.ts.map +1 -0
- package/dist/sqlite/bun.js +7 -0
- package/dist/sqlite/bun.js.map +1 -0
- package/dist/sqlite/cache-publication.d.ts +6 -0
- package/dist/sqlite/cache-publication.d.ts.map +1 -0
- package/dist/sqlite/cache-publication.js +191 -0
- package/dist/sqlite/cache-publication.js.map +1 -0
- package/dist/sqlite/cache.d.ts +26 -0
- package/dist/sqlite/cache.d.ts.map +1 -0
- package/dist/sqlite/cache.js +527 -0
- package/dist/sqlite/cache.js.map +1 -0
- package/dist/sqlite/node.d.ts +2 -0
- package/dist/sqlite/node.d.ts.map +1 -0
- package/dist/sqlite/node.js +6 -0
- package/dist/sqlite/node.js.map +1 -0
- package/dist/sqlite/runtime.d.ts +4 -0
- package/dist/sqlite/runtime.d.ts.map +1 -0
- package/dist/sqlite/runtime.js +34 -0
- package/dist/sqlite/runtime.js.map +1 -0
- package/dist/testing.d.ts +2 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +2 -0
- package/dist/testing.js.map +1 -0
- package/dist/transaction/apply.d.ts +8 -0
- package/dist/transaction/apply.d.ts.map +1 -0
- package/dist/transaction/apply.js +273 -0
- package/dist/transaction/apply.js.map +1 -0
- package/dist/transaction/journal.d.ts +17 -0
- package/dist/transaction/journal.d.ts.map +1 -0
- package/dist/transaction/journal.js +207 -0
- package/dist/transaction/journal.js.map +1 -0
- package/dist/transaction/recovery.d.ts +6 -0
- package/dist/transaction/recovery.d.ts.map +1 -0
- package/dist/transaction/recovery.js +138 -0
- package/dist/transaction/recovery.js.map +1 -0
- package/dist/transaction/types.d.ts +45 -0
- package/dist/transaction/types.d.ts.map +1 -0
- package/dist/transaction/types.js +2 -0
- package/dist/transaction/types.js.map +1 -0
- package/native/rename_noreplace.cc +145 -0
- package/package.json +71 -0
- package/scripts/install-native.mjs +10 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lease.js","sourceRoot":"","sources":["../src/lease.ts"],"names":[],"mappings":"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"}
|
package/dist/limits.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface StoreLimits {
|
|
2
|
+
readonly maxFileBytes: number;
|
|
3
|
+
readonly maxFiles: number;
|
|
4
|
+
readonly maxTotalBytes: number;
|
|
5
|
+
readonly maxBatchPaths: number;
|
|
6
|
+
readonly maxBeforeImageBytes: number;
|
|
7
|
+
readonly maxJournalBytes: number;
|
|
8
|
+
readonly maxTemporaryBytes: number;
|
|
9
|
+
readonly maxSqlBytes: number;
|
|
10
|
+
readonly maxStatementParameterBytes: number;
|
|
11
|
+
readonly maxQueryRows: number;
|
|
12
|
+
readonly maxQueryResultBytes: number;
|
|
13
|
+
}
|
|
14
|
+
export declare const DEFAULT_STORE_LIMITS: StoreLimits;
|
|
15
|
+
//# sourceMappingURL=limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.d.ts","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAGD,eAAO,MAAM,oBAAoB,EAAE,WAYlC,CAAC"}
|
package/dist/limits.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export const DEFAULT_STORE_LIMITS = {
|
|
2
|
+
maxFileBytes: 1_048_576,
|
|
3
|
+
maxFiles: 10_000,
|
|
4
|
+
maxTotalBytes: 64 * 1_048_576,
|
|
5
|
+
maxBatchPaths: 1_000,
|
|
6
|
+
maxBeforeImageBytes: 32 * 1_048_576,
|
|
7
|
+
maxJournalBytes: 4 * 1_048_576,
|
|
8
|
+
maxTemporaryBytes: 64 * 1_048_576,
|
|
9
|
+
maxSqlBytes: 1_048_576,
|
|
10
|
+
maxStatementParameterBytes: 1_048_576,
|
|
11
|
+
maxQueryRows: 10_000,
|
|
12
|
+
maxQueryResultBytes: 16 * 1_048_576,
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"limits.js","sourceRoot":"","sources":["../src/limits.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,YAAY,EAAE,SAAS;IACvB,QAAQ,EAAE,MAAM;IAChB,aAAa,EAAE,EAAE,GAAG,SAAS;IAC7B,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE,EAAE,GAAG,SAAS;IACnC,eAAe,EAAE,CAAC,GAAG,SAAS;IAC9B,iBAAiB,EAAE,EAAE,GAAG,SAAS;IACjC,WAAW,EAAE,SAAS;IACtB,0BAA0B,EAAE,SAAS;IACrC,YAAY,EAAE,MAAM;IACpB,mBAAmB,EAAE,EAAE,GAAG,SAAS;CACpC,CAAC"}
|
package/dist/paths.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ManagedPath, type ManagedRoot } from './internal/model.js';
|
|
2
|
+
import { type StoreLimits } from './limits.js';
|
|
3
|
+
export declare const PORTABLE_RELATIVE_PATH_PATTERN: RegExp;
|
|
4
|
+
export interface ManagedRootOptions {
|
|
5
|
+
readonly authorityRoot: string;
|
|
6
|
+
readonly managedPath?: string;
|
|
7
|
+
readonly limits: StoreLimits;
|
|
8
|
+
}
|
|
9
|
+
export declare function resolveManagedRoot(options: ManagedRootOptions): Promise<ManagedRoot>;
|
|
10
|
+
export declare function resolveManagedPath(root: ManagedRoot, relativePath: string): ManagedPath;
|
|
11
|
+
export declare function validateRelativePath(value: string): string;
|
|
12
|
+
export declare function portablePathKey(value: string): string;
|
|
13
|
+
export declare function compareCanonicalPaths(left: string, right: string): number;
|
|
14
|
+
export type { ManagedPath, ManagedRoot } from './internal/model.js';
|
|
15
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAOrE,eAAO,MAAM,8BAA8B,QAE+R,CAAC;AAG3U,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;CAC9B;AAGD,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAa1F;AAGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAUvF;AAGD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI1D;AAGD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzE;AAmBD,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/paths.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { isAbsolute, relative, resolve, sep } from 'node:path';
|
|
3
|
+
import { PathSafetyError, RepositoryStoreConfigError } from './errors.js';
|
|
4
|
+
import { ensurePrivateDirectory } from './internal/filesystem.js';
|
|
5
|
+
import { createManagedPath, createManagedRoot, getRootState, } from './internal/model.js';
|
|
6
|
+
import { DEFAULT_STORE_LIMITS } from './limits.js';
|
|
7
|
+
export const PORTABLE_RELATIVE_PATH_PATTERN = /^(?!\/)(?![A-Za-z]:)(?!.*(?:^|\/)\.{1,2}(?:\/|$))(?!.*(?:^|\/)(?:[cC][oO][nN]|[cC][oO][nN](?:[iI][nN]|[oO][uU][tT])\$|[pP][rR][nN]|[aA][uU][xX]|[nN][uU][lL]|[cC][oO][mM][1-9¹²³]|[lL][pP][tT][1-9¹²³])(?:\.[^/]*)?(?:\/|$))(?!.*(?:^|\/)[^/]*[. ](?:\/|$))[^<>:"|?*\\\u0000-\u001F\u007F/]+(?:\/[^<>:"|?*\\\u0000-\u001F\u007F/]+)*$/u;
|
|
8
|
+
export async function resolveManagedRoot(options) {
|
|
9
|
+
validateLimits(options.limits);
|
|
10
|
+
const authorityRoot = resolve(options.authorityRoot);
|
|
11
|
+
ensurePrivateDirectory(authorityRoot);
|
|
12
|
+
const managedRoot = options.managedPath === undefined ? authorityRoot : resolveWithin(authorityRoot, options.managedPath);
|
|
13
|
+
ensurePrivateDirectory(managedRoot);
|
|
14
|
+
const authorityId = createHash('sha256').update(authorityRoot).digest('hex');
|
|
15
|
+
const managedIdentityPath = managedRoot === authorityRoot ? '.' : relative(authorityRoot, managedRoot).split(sep).join('/');
|
|
16
|
+
const managedRootId = createHash('sha256').update(`${authorityId}\0${managedIdentityPath}`).digest('hex');
|
|
17
|
+
const state = { authorityRoot, managedRoot, authorityId, managedRootId, limits: { ...options.limits } };
|
|
18
|
+
return createManagedRoot(state);
|
|
19
|
+
}
|
|
20
|
+
export function resolveManagedPath(root, relativePath) {
|
|
21
|
+
const state = getRootState(root);
|
|
22
|
+
if (state === undefined)
|
|
23
|
+
throw new RepositoryStoreConfigError('Managed root is not a repository-store handle.');
|
|
24
|
+
const normalized = validateRelativePath(relativePath);
|
|
25
|
+
const absolutePath = resolveWithin(state.managedRoot, normalized);
|
|
26
|
+
return createManagedPath(normalized, {
|
|
27
|
+
authorityId: state.authorityId,
|
|
28
|
+
managedRootId: state.managedRootId,
|
|
29
|
+
absolutePath,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export function validateRelativePath(value) {
|
|
33
|
+
if (!PORTABLE_RELATIVE_PATH_PATTERN.test(value))
|
|
34
|
+
throw new PathSafetyError(`Invalid managed relative path: ${JSON.stringify(value)}`);
|
|
35
|
+
return value;
|
|
36
|
+
}
|
|
37
|
+
export function portablePathKey(value) {
|
|
38
|
+
return value.normalize('NFKC').toLocaleLowerCase('en-US');
|
|
39
|
+
}
|
|
40
|
+
export function compareCanonicalPaths(left, right) {
|
|
41
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
42
|
+
}
|
|
43
|
+
function resolveWithin(root, value) {
|
|
44
|
+
const normalized = validateRelativePath(value.split(sep).join('/'));
|
|
45
|
+
const absolute = resolve(root, normalized);
|
|
46
|
+
const nested = relative(root, absolute);
|
|
47
|
+
if (!nested || isAbsolute(nested) || nested === '..' || nested.startsWith(`..${sep}`))
|
|
48
|
+
throw new PathSafetyError(`Managed path escapes authority: ${value}`);
|
|
49
|
+
return absolute;
|
|
50
|
+
}
|
|
51
|
+
function validateLimits(limits) {
|
|
52
|
+
for (const name of Object.keys(DEFAULT_STORE_LIMITS)) {
|
|
53
|
+
const value = limits[name];
|
|
54
|
+
if (!Number.isSafeInteger(value) || value <= 0)
|
|
55
|
+
throw new RepositoryStoreConfigError(`Store limit ${name} must be a positive safe integer.`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision.d.ts","sourceRoot":"","sources":["../src/revision.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,UAAU,MAAM,EAAE,CAAC;AAG9C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAEnE;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE"}
|
package/dist/revision.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
export function computeByteRevision(bytes) {
|
|
3
|
+
return `sha256:${createHash('sha256').update(bytes).digest('hex')}`;
|
|
4
|
+
}
|
|
5
|
+
export function isByteRevision(value) {
|
|
6
|
+
return typeof value === 'string' && /^sha256:[0-9a-f]{64}$/u.test(value);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=revision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revision.js","sourceRoot":"","sources":["../src/revision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMzC,MAAM,UAAU,mBAAmB,CAAC,KAAiB;IACnD,OAAO,UAAU,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;AACtE,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type SqliteValue = null | string | number | bigint | Uint8Array;
|
|
2
|
+
export type SqliteParameters = readonly SqliteValue[] | Readonly<Record<string, SqliteValue>>;
|
|
3
|
+
export interface SqliteConnectionBounds {
|
|
4
|
+
readonly maxSqlBytes: number;
|
|
5
|
+
readonly maxStatementParameterBytes: number;
|
|
6
|
+
readonly maxQueryRows: number;
|
|
7
|
+
readonly maxQueryResultBytes: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SqliteRunResult {
|
|
10
|
+
readonly changes: number;
|
|
11
|
+
readonly lastInsertRowid: number | bigint;
|
|
12
|
+
}
|
|
13
|
+
export interface SqliteStatement {
|
|
14
|
+
run(parameters?: SqliteParameters): Promise<SqliteRunResult>;
|
|
15
|
+
get<T>(parameters?: SqliteParameters): Promise<T | undefined>;
|
|
16
|
+
all<T>(parameters: SqliteParameters | undefined, bounds: {
|
|
17
|
+
readonly maxRows: number;
|
|
18
|
+
readonly maxBytes: number;
|
|
19
|
+
}): Promise<readonly T[]>;
|
|
20
|
+
}
|
|
21
|
+
export interface SqliteConnection {
|
|
22
|
+
exec(sql: string): Promise<void>;
|
|
23
|
+
prepare(sql: string): Promise<SqliteStatement>;
|
|
24
|
+
close(): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
export interface SqliteAdapter {
|
|
27
|
+
readonly runtime: 'node' | 'bun';
|
|
28
|
+
open(path: string, options: {
|
|
29
|
+
readonly readOnly: boolean;
|
|
30
|
+
readonly busyTimeoutMs: number;
|
|
31
|
+
readonly limits?: SqliteConnectionBounds;
|
|
32
|
+
}): Promise<SqliteConnection>;
|
|
33
|
+
}
|
|
34
|
+
export interface DriverDatabase {
|
|
35
|
+
exec(sql: string): unknown;
|
|
36
|
+
prepare?(sql: string): DriverStatement;
|
|
37
|
+
query?(sql: string): DriverStatement;
|
|
38
|
+
close(): unknown;
|
|
39
|
+
}
|
|
40
|
+
export interface DriverStatement {
|
|
41
|
+
run(...parameters: readonly unknown[]): unknown;
|
|
42
|
+
get(...parameters: readonly unknown[]): unknown;
|
|
43
|
+
all(...parameters: readonly unknown[]): unknown;
|
|
44
|
+
iterate?(...parameters: readonly unknown[]): Iterable<unknown>;
|
|
45
|
+
}
|
|
46
|
+
export declare function createSqliteAdapter(runtime: 'node' | 'bun', openDriver: (path: string, readOnly: boolean) => Promise<DriverDatabase>): SqliteAdapter;
|
|
47
|
+
export declare function wrapDatabase(runtime: 'node' | 'bun', database: DriverDatabase, suppliedBounds?: SqliteConnectionBounds): SqliteConnection;
|
|
48
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/sqlite/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { CacheSyncError, RepositoryStoreError, ResourceLimitError } from '../errors.js';
|
|
2
|
+
import { DEFAULT_STORE_LIMITS } from '../limits.js';
|
|
3
|
+
const DEFAULT_CONNECTION_BOUNDS = {
|
|
4
|
+
maxSqlBytes: DEFAULT_STORE_LIMITS.maxSqlBytes,
|
|
5
|
+
maxStatementParameterBytes: DEFAULT_STORE_LIMITS.maxStatementParameterBytes,
|
|
6
|
+
maxQueryRows: DEFAULT_STORE_LIMITS.maxQueryRows,
|
|
7
|
+
maxQueryResultBytes: DEFAULT_STORE_LIMITS.maxQueryResultBytes,
|
|
8
|
+
};
|
|
9
|
+
export function createSqliteAdapter(runtime, openDriver) {
|
|
10
|
+
return {
|
|
11
|
+
runtime,
|
|
12
|
+
async open(path, options) {
|
|
13
|
+
try {
|
|
14
|
+
if (!Number.isSafeInteger(options.busyTimeoutMs) || options.busyTimeoutMs < 0 || options.busyTimeoutMs > 60_000)
|
|
15
|
+
throw new Error('busyTimeoutMs must be 0..60000.');
|
|
16
|
+
const limits = validateConnectionBounds(options.limits ?? DEFAULT_CONNECTION_BOUNDS);
|
|
17
|
+
const database = await openDriver(path, options.readOnly);
|
|
18
|
+
const connection = wrapDatabase(runtime, database, limits);
|
|
19
|
+
await connection.exec(`PRAGMA busy_timeout = ${options.busyTimeoutMs};`);
|
|
20
|
+
await connection.exec('PRAGMA foreign_keys = ON;');
|
|
21
|
+
return connection;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
throw normalizeDriverError(runtime, 'open', error);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export function wrapDatabase(runtime, database, suppliedBounds = DEFAULT_CONNECTION_BOUNDS) {
|
|
30
|
+
const connectionBounds = validateConnectionBounds(suppliedBounds);
|
|
31
|
+
let closed = false;
|
|
32
|
+
const ensureOpen = () => {
|
|
33
|
+
if (closed)
|
|
34
|
+
throw new Error(`SQLite ${runtime} connection is closed.`);
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
async exec(sql) {
|
|
38
|
+
ensureOpen();
|
|
39
|
+
assertSqlBound(sql, connectionBounds.maxSqlBytes);
|
|
40
|
+
await driverCall(runtime, 'execute SQL', () => database.exec(sql));
|
|
41
|
+
},
|
|
42
|
+
async prepare(sql) {
|
|
43
|
+
ensureOpen();
|
|
44
|
+
assertSqlBound(sql, connectionBounds.maxSqlBytes);
|
|
45
|
+
const statement = await driverCall(runtime, 'prepare SQL', () => database.prepare?.(sql) ?? database.query?.(sql));
|
|
46
|
+
if (statement === undefined)
|
|
47
|
+
throw new CacheSyncError(`SQLite ${runtime} driver cannot prepare statements.`);
|
|
48
|
+
return {
|
|
49
|
+
async run(parameters) {
|
|
50
|
+
ensureOpen();
|
|
51
|
+
assertParameterBound(parameters, connectionBounds.maxStatementParameterBytes);
|
|
52
|
+
const result = (await driverCall(runtime, 'run statement', () => invoke(statement.run.bind(statement), parameters)));
|
|
53
|
+
return { changes: result?.changes ?? 0, lastInsertRowid: result?.lastInsertRowid ?? 0 };
|
|
54
|
+
},
|
|
55
|
+
async get(parameters) {
|
|
56
|
+
ensureOpen();
|
|
57
|
+
assertParameterBound(parameters, connectionBounds.maxStatementParameterBytes);
|
|
58
|
+
const row = await driverCall(runtime, 'read row', () => invoke(statement.get.bind(statement), parameters));
|
|
59
|
+
if (row !== undefined && measureRow(row) > connectionBounds.maxQueryResultBytes)
|
|
60
|
+
throw new ResourceLimitError('SQLite get result exceeded maxQueryResultBytes.');
|
|
61
|
+
return row;
|
|
62
|
+
},
|
|
63
|
+
async all(parameters, bounds) {
|
|
64
|
+
ensureOpen();
|
|
65
|
+
assertParameterBound(parameters, connectionBounds.maxStatementParameterBytes);
|
|
66
|
+
const requested = validateQueryBounds(bounds);
|
|
67
|
+
const effective = {
|
|
68
|
+
maxRows: Math.min(requested.maxRows, connectionBounds.maxQueryRows),
|
|
69
|
+
maxBytes: Math.min(requested.maxBytes, connectionBounds.maxQueryResultBytes),
|
|
70
|
+
};
|
|
71
|
+
if (statement.iterate === undefined)
|
|
72
|
+
throw new CacheSyncError(`SQLite ${runtime} driver does not expose bounded cursor iteration.`);
|
|
73
|
+
const iterable = await driverCall(runtime, 'iterate rows', () => invoke(statement.iterate?.bind(statement), parameters));
|
|
74
|
+
if (iterable === null || typeof iterable !== 'object' || !(Symbol.iterator in iterable))
|
|
75
|
+
throw new CacheSyncError(`SQLite ${runtime} driver returned a non-iterable row cursor.`);
|
|
76
|
+
return boundedRows(iterable, effective);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
async close() {
|
|
81
|
+
if (closed)
|
|
82
|
+
return;
|
|
83
|
+
await driverCall(runtime, 'close database', () => database.close());
|
|
84
|
+
closed = true;
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function boundedRows(rows, bounds) {
|
|
89
|
+
const result = [];
|
|
90
|
+
let bytes = 0;
|
|
91
|
+
for (const row of rows) {
|
|
92
|
+
if (result.length >= bounds.maxRows)
|
|
93
|
+
throw new ResourceLimitError('SQLite query exceeded maxRows.');
|
|
94
|
+
bytes += measureRow(row);
|
|
95
|
+
if (bytes > bounds.maxBytes)
|
|
96
|
+
throw new ResourceLimitError('SQLite query exceeded maxBytes.');
|
|
97
|
+
result.push(row);
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
function measureRow(value, seen = new Set()) {
|
|
102
|
+
if (value === null)
|
|
103
|
+
return 1;
|
|
104
|
+
if (typeof value === 'string')
|
|
105
|
+
return Buffer.byteLength(value);
|
|
106
|
+
if (typeof value === 'number')
|
|
107
|
+
return 8;
|
|
108
|
+
if (typeof value === 'bigint')
|
|
109
|
+
return Buffer.byteLength(value.toString());
|
|
110
|
+
if (value instanceof Uint8Array)
|
|
111
|
+
return value.byteLength;
|
|
112
|
+
if (typeof value !== 'object')
|
|
113
|
+
throw new CacheSyncError('SQLite driver returned an unsupported row value.');
|
|
114
|
+
if (seen.has(value))
|
|
115
|
+
throw new CacheSyncError('SQLite driver returned a cyclic row value.');
|
|
116
|
+
seen.add(value);
|
|
117
|
+
let bytes = 0;
|
|
118
|
+
for (const [key, item] of Object.entries(value))
|
|
119
|
+
bytes += Buffer.byteLength(key) + measureRow(item, seen);
|
|
120
|
+
seen.delete(value);
|
|
121
|
+
return bytes;
|
|
122
|
+
}
|
|
123
|
+
function assertSqlBound(sql, maxBytes) {
|
|
124
|
+
if (Buffer.byteLength(sql, 'utf8') > maxBytes)
|
|
125
|
+
throw new ResourceLimitError('SQLite SQL exceeds maxSqlBytes.');
|
|
126
|
+
}
|
|
127
|
+
function assertParameterBound(parameters, maxBytes) {
|
|
128
|
+
if (parameters === undefined)
|
|
129
|
+
return;
|
|
130
|
+
const values = Array.isArray(parameters) ? parameters : Object.values(parameters);
|
|
131
|
+
let bytes = 0;
|
|
132
|
+
for (const value of values) {
|
|
133
|
+
if (value === null)
|
|
134
|
+
bytes += 1;
|
|
135
|
+
else if (typeof value === 'string')
|
|
136
|
+
bytes += Buffer.byteLength(value, 'utf8');
|
|
137
|
+
else if (typeof value === 'number')
|
|
138
|
+
bytes += 8;
|
|
139
|
+
else if (typeof value === 'bigint')
|
|
140
|
+
bytes += Buffer.byteLength(value.toString(), 'utf8');
|
|
141
|
+
else if (value instanceof Uint8Array)
|
|
142
|
+
bytes += value.byteLength;
|
|
143
|
+
else
|
|
144
|
+
throw new ResourceLimitError('SQLite statement contains an unsupported parameter value.');
|
|
145
|
+
if (bytes > maxBytes)
|
|
146
|
+
throw new ResourceLimitError('SQLite parameters exceed maxStatementParameterBytes.');
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function validateConnectionBounds(bounds) {
|
|
150
|
+
for (const [name, value] of Object.entries(bounds))
|
|
151
|
+
if (!Number.isSafeInteger(value) || value <= 0)
|
|
152
|
+
throw new ResourceLimitError(`SQLite connection bound ${name} must be a positive safe integer.`);
|
|
153
|
+
return { ...bounds };
|
|
154
|
+
}
|
|
155
|
+
function validateQueryBounds(bounds) {
|
|
156
|
+
if (!Number.isSafeInteger(bounds.maxRows) ||
|
|
157
|
+
bounds.maxRows <= 0 ||
|
|
158
|
+
!Number.isSafeInteger(bounds.maxBytes) ||
|
|
159
|
+
bounds.maxBytes <= 0)
|
|
160
|
+
throw new ResourceLimitError('SQLite query bounds must be positive safe integers.');
|
|
161
|
+
return bounds;
|
|
162
|
+
}
|
|
163
|
+
async function driverCall(runtime, action, operation) {
|
|
164
|
+
try {
|
|
165
|
+
return operation();
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
throw normalizeDriverError(runtime, action, error);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
function normalizeDriverError(runtime, action, error) {
|
|
172
|
+
if (error instanceof RepositoryStoreError)
|
|
173
|
+
return error;
|
|
174
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
175
|
+
const code = /busy|locked/iu.test(message) ? 'CACHE_BUSY' : 'CACHE_SYNC_FAILED';
|
|
176
|
+
return new CacheSyncError(`SQLite ${runtime} ${action} failed: ${message}`, code, { cause: error });
|
|
177
|
+
}
|
|
178
|
+
function invoke(call, parameters) {
|
|
179
|
+
if (parameters === undefined)
|
|
180
|
+
return call();
|
|
181
|
+
return Array.isArray(parameters) ? call(...parameters) : call(parameters);
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/sqlite/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun.d.ts","sourceRoot":"","sources":["../../src/sqlite/bun.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,gBAAgB,sCAK3B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createSqliteAdapter } from './adapter.js';
|
|
2
|
+
export const bunSqliteAdapter = createSqliteAdapter('bun', async (path, readOnly) => {
|
|
3
|
+
const moduleName = 'bun:sqlite';
|
|
4
|
+
const sqlite = (await import(moduleName));
|
|
5
|
+
return new sqlite.Database(path, { readonly: readOnly, create: !readOnly });
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=bun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun.js","sourceRoot":"","sources":["../../src/sqlite/bun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAuB,MAAM,cAAc,CAAC;AAOxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IAElF,MAAM,UAAU,GAAG,YAAY,CAAC;IAChC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAoB,CAAC;IAC7D,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ManagedPath, type ManagedRoot, type RepositoryLease } from '../internal/model.js';
|
|
2
|
+
import { type ExpectedRegularFile } from '../internal/publication.js';
|
|
3
|
+
import { type OperationControl } from '../lease.js';
|
|
4
|
+
export declare function recoverCachePublications(root: ManagedRoot, lease: RepositoryLease, options?: OperationControl): void;
|
|
5
|
+
export declare function publishCacheDatabase(root: ManagedRoot, lease: RepositoryLease, path: ManagedPath, bytes: Uint8Array, expected: ExpectedRegularFile | undefined, options?: OperationControl): void;
|
|
6
|
+
//# sourceMappingURL=cache-publication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-publication.d.ts","sourceRoot":"","sources":["../../src/sqlite/cache-publication.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAoD,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACxH,OAAO,EAAiC,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoBnF,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,eAAe,EACtB,OAAO,GAAE,gBAAqB,GAC7B,IAAI,CAsCN;AAGD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,OAAO,GAAE,gBAAqB,GAC7B,IAAI,CA8CN"}
|