orez-lite 0.10.2 → 0.10.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/dist/browser/generated/sync_wasm.js +2 -2
- package/dist/browser/generated/sync_wasm_bg.wasm +0 -0
- package/dist/native.d.ts +29 -0
- package/dist/native.d.ts.map +1 -0
- package/dist/native.js +105 -0
- package/dist/native.js.map +1 -0
- package/package.json +11 -4
package/README.md
CHANGED
|
@@ -5,8 +5,42 @@
|
|
|
5
5
|
- `orez-lite` provides the host-neutral mutation executor.
|
|
6
6
|
- `orez-lite/client` connects a stock Zero client to the HTTP sync protocol.
|
|
7
7
|
- `orez-lite/browser` runs the engine with SQLite WASM in a browser worker.
|
|
8
|
+
- `orez-lite/native` runs the prebuilt native engine from an application-owned
|
|
9
|
+
Zero schema, SQLite initializer, and HTTP policy callbacks.
|
|
8
10
|
- `orez-lite/cloudflare` provides the Cloudflare runtime and data-worker factory.
|
|
9
11
|
- `orez-lite/cloudflare/build` provides Node-side worker build and deployment tools.
|
|
10
12
|
|
|
11
13
|
The package derives its database projection from the application’s Zero schema.
|
|
12
14
|
Applications do not maintain separate table or column maps.
|
|
15
|
+
|
|
16
|
+
## Native host
|
|
17
|
+
|
|
18
|
+
The native host is configured entirely by the application:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import { createNativeHost } from 'orez-lite/native'
|
|
22
|
+
|
|
23
|
+
const host = createNativeHost({
|
|
24
|
+
schema,
|
|
25
|
+
initSql,
|
|
26
|
+
dataDir: '.orez/native',
|
|
27
|
+
port: 7849,
|
|
28
|
+
adminTokenEnv: 'OREZ_ADMIN_TOKEN',
|
|
29
|
+
callbacks: {
|
|
30
|
+
authenticate: 'https://localhost:3000/api/zero/auth',
|
|
31
|
+
authorizeWake: 'https://localhost:3000/api/zero/wake-authorize',
|
|
32
|
+
transformQueries: 'https://localhost:3000/api/zero/pull',
|
|
33
|
+
certificateAuthority: '.certs/local-root.pem',
|
|
34
|
+
},
|
|
35
|
+
allowedOrigins: ['https://localhost:3000'],
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
const process = host.start({
|
|
39
|
+
env: { ...globalThis.process.env, OREZ_ADMIN_TOKEN: adminToken },
|
|
40
|
+
})
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Orez owns the sync protocol, namespace databases, query cache, and wake
|
|
44
|
+
delivery. The callbacks keep authentication, authorization, and query policy in
|
|
45
|
+
the application. Storage retention is disabled unless the application
|
|
46
|
+
explicitly supplies `workerRetention`.
|
|
@@ -478,7 +478,7 @@ function __wbg_get_imports() {
|
|
|
478
478
|
const ret = Object.entries(arg0);
|
|
479
479
|
return ret;
|
|
480
480
|
},
|
|
481
|
-
|
|
481
|
+
__wbg_exec_0b4e8f9e7a8c0e02: function() { return handleError(function (arg0, arg1, arg2, arg3) {
|
|
482
482
|
arg0.exec(getStringFromWasm0(arg1, arg2), arg3);
|
|
483
483
|
}, arguments); },
|
|
484
484
|
__wbg_get_507a50627bffa49b: function(arg0, arg1) {
|
|
@@ -588,7 +588,7 @@ function __wbg_get_imports() {
|
|
|
588
588
|
__wbg_prototypesetcall_4770620bbe4688a0: function(arg0, arg1, arg2) {
|
|
589
589
|
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
|
|
590
590
|
},
|
|
591
|
-
|
|
591
|
+
__wbg_query_61b60d4aa0a8eccc: function() { return handleError(function (arg0, arg1, arg2, arg3) {
|
|
592
592
|
const ret = arg0.query(getStringFromWasm0(arg1, arg2), arg3);
|
|
593
593
|
return ret;
|
|
594
594
|
}, arguments); },
|
|
Binary file
|
package/dist/native.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ChildProcess, type SpawnOptions } from 'node:child_process';
|
|
2
|
+
export interface NativeHostCallbacks {
|
|
3
|
+
authenticate: string | URL;
|
|
4
|
+
authorizeWake: string | URL;
|
|
5
|
+
transformQueries: string | URL;
|
|
6
|
+
certificateAuthority?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface NativeHostWorkerRetention {
|
|
9
|
+
idleMs: number;
|
|
10
|
+
sweepIntervalMs: number;
|
|
11
|
+
}
|
|
12
|
+
export interface NativeHostOptions {
|
|
13
|
+
schema: unknown;
|
|
14
|
+
initSql: readonly string[];
|
|
15
|
+
dataDir: string;
|
|
16
|
+
port: number;
|
|
17
|
+
adminTokenEnv: string;
|
|
18
|
+
callbacks: NativeHostCallbacks;
|
|
19
|
+
host?: string;
|
|
20
|
+
allowedOrigins?: readonly string[];
|
|
21
|
+
workerRetention?: NativeHostWorkerRetention;
|
|
22
|
+
changeLogRows?: number;
|
|
23
|
+
maxChangeRows?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface NativeHost {
|
|
26
|
+
start(options?: SpawnOptions): ChildProcess;
|
|
27
|
+
}
|
|
28
|
+
export declare function createNativeHost(options: NativeHostOptions): NativeHost;
|
|
29
|
+
//# sourceMappingURL=native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAMhF,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAA;IAC1B,aAAa,EAAE,MAAM,GAAG,GAAG,CAAA;IAC3B,gBAAgB,EAAE,MAAM,GAAG,GAAG,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,mBAAmB,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,YAAY,CAAA;CAC5C;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,CA2BvE"}
|
package/dist/native.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
import { tmpdir } from 'node:os';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
const load = createRequire(import.meta.url);
|
|
7
|
+
export function createNativeHost(options) {
|
|
8
|
+
validateOptions(options);
|
|
9
|
+
return {
|
|
10
|
+
start(spawnOptions = {}) {
|
|
11
|
+
const configDir = mkdtempSync(join(tmpdir(), 'orez-native-'));
|
|
12
|
+
const schemaPath = join(configDir, 'schema.json');
|
|
13
|
+
const initSqlPath = join(configDir, 'init-sql.json');
|
|
14
|
+
try {
|
|
15
|
+
writeJson(schemaPath, options.schema);
|
|
16
|
+
writeJson(initSqlPath, options.initSql);
|
|
17
|
+
const launcher = load.resolve('orez-sync-native/launcher');
|
|
18
|
+
const child = spawn(process.execPath, [launcher, ...nativeHostArguments(options, schemaPath, initSqlPath)], { stdio: 'inherit', ...spawnOptions });
|
|
19
|
+
const cleanup = () => rmSync(configDir, { force: true, recursive: true });
|
|
20
|
+
child.once('error', cleanup);
|
|
21
|
+
child.once('close', cleanup);
|
|
22
|
+
return child;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
rmSync(configDir, { force: true, recursive: true });
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function nativeHostArguments(options, schemaPath, initSqlPath) {
|
|
32
|
+
const args = [
|
|
33
|
+
'serve',
|
|
34
|
+
'--schema',
|
|
35
|
+
schemaPath,
|
|
36
|
+
'--init-sql',
|
|
37
|
+
initSqlPath,
|
|
38
|
+
'--data-dir',
|
|
39
|
+
options.dataDir,
|
|
40
|
+
'--port',
|
|
41
|
+
String(options.port),
|
|
42
|
+
'--admin-token-env',
|
|
43
|
+
options.adminTokenEnv,
|
|
44
|
+
'--auth-url',
|
|
45
|
+
String(options.callbacks.authenticate),
|
|
46
|
+
'--wake-authorize-url',
|
|
47
|
+
String(options.callbacks.authorizeWake),
|
|
48
|
+
'--query-transform-url',
|
|
49
|
+
String(options.callbacks.transformQueries),
|
|
50
|
+
];
|
|
51
|
+
if (options.host)
|
|
52
|
+
args.push('--host', options.host);
|
|
53
|
+
if (options.callbacks.certificateAuthority) {
|
|
54
|
+
args.push('--callback-ca', options.callbacks.certificateAuthority);
|
|
55
|
+
}
|
|
56
|
+
for (const origin of options.allowedOrigins ?? []) {
|
|
57
|
+
args.push('--allow-origin', origin);
|
|
58
|
+
}
|
|
59
|
+
if (options.workerRetention) {
|
|
60
|
+
args.push('--retention', 'workers', '--worker-idle-ms', String(options.workerRetention.idleMs), '--worker-sweep-ms', String(options.workerRetention.sweepIntervalMs));
|
|
61
|
+
}
|
|
62
|
+
if (options.changeLogRows !== undefined) {
|
|
63
|
+
args.push('--retain-changes', String(options.changeLogRows));
|
|
64
|
+
}
|
|
65
|
+
if (options.maxChangeRows !== undefined) {
|
|
66
|
+
args.push('--max-change-rows', String(options.maxChangeRows));
|
|
67
|
+
}
|
|
68
|
+
return args;
|
|
69
|
+
}
|
|
70
|
+
function validateOptions(options) {
|
|
71
|
+
positiveInteger(options.port, 'port');
|
|
72
|
+
if (!options.adminTokenEnv)
|
|
73
|
+
throw new TypeError('adminTokenEnv must not be empty');
|
|
74
|
+
if (!options.dataDir)
|
|
75
|
+
throw new TypeError('dataDir must not be empty');
|
|
76
|
+
if (!Array.isArray(options.initSql))
|
|
77
|
+
throw new TypeError('initSql must be an array');
|
|
78
|
+
for (const statement of options.initSql) {
|
|
79
|
+
if (typeof statement !== 'string' || !statement.trim()) {
|
|
80
|
+
throw new TypeError('initSql statements must be non-empty strings');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (options.workerRetention) {
|
|
84
|
+
positiveInteger(options.workerRetention.idleMs, 'workerRetention.idleMs');
|
|
85
|
+
positiveInteger(options.workerRetention.sweepIntervalMs, 'workerRetention.sweepIntervalMs');
|
|
86
|
+
}
|
|
87
|
+
if (options.changeLogRows !== undefined) {
|
|
88
|
+
positiveInteger(options.changeLogRows, 'changeLogRows');
|
|
89
|
+
}
|
|
90
|
+
if (options.maxChangeRows !== undefined) {
|
|
91
|
+
positiveInteger(options.maxChangeRows, 'maxChangeRows');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function positiveInteger(value, name) {
|
|
95
|
+
if (!Number.isSafeInteger(value) || value < 1) {
|
|
96
|
+
throw new TypeError(`${name} must be a positive integer`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function writeJson(path, value) {
|
|
100
|
+
const json = JSON.stringify(value);
|
|
101
|
+
if (json === undefined)
|
|
102
|
+
throw new TypeError('native host configuration must be JSON');
|
|
103
|
+
writeFileSync(path, json, { encoding: 'utf8', mode: 0o600 });
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native.js","sourceRoot":"","sources":["../src/native.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orez-lite",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.3",
|
|
4
4
|
"description": "SQLite and Rust sync engine for Zero applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -36,6 +36,10 @@
|
|
|
36
36
|
"types": "./dist/browser/index.d.ts",
|
|
37
37
|
"import": "./dist/browser/index.js"
|
|
38
38
|
},
|
|
39
|
+
"./native": {
|
|
40
|
+
"types": "./dist/native.d.ts",
|
|
41
|
+
"import": "./dist/native.js"
|
|
42
|
+
},
|
|
39
43
|
"./cloudflare": {
|
|
40
44
|
"types": "./dist/cloudflare.d.ts",
|
|
41
45
|
"import": "./dist/cloudflare.js"
|
|
@@ -81,10 +85,10 @@
|
|
|
81
85
|
"@noble/ciphers": "1.3.0",
|
|
82
86
|
"@noble/curves": "1.9.7",
|
|
83
87
|
"@noble/hashes": "1.8.0",
|
|
84
|
-
"bedrock-sqlite": "0.10.
|
|
88
|
+
"bedrock-sqlite": "0.10.3",
|
|
85
89
|
"esbuild": "^0.25.0",
|
|
86
|
-
"orez-sync-cf-host": "0.10.
|
|
87
|
-
"orez-sync-executor": "0.10.
|
|
90
|
+
"orez-sync-cf-host": "0.10.3",
|
|
91
|
+
"orez-sync-executor": "0.10.3"
|
|
88
92
|
},
|
|
89
93
|
"peerDependencies": {
|
|
90
94
|
"@rocicorp/zero": ">=1.7.0",
|
|
@@ -95,6 +99,9 @@
|
|
|
95
99
|
"optional": true
|
|
96
100
|
}
|
|
97
101
|
},
|
|
102
|
+
"optionalDependencies": {
|
|
103
|
+
"orez-sync-native": "0.1.1"
|
|
104
|
+
},
|
|
98
105
|
"devDependencies": {
|
|
99
106
|
"@rocicorp/zero": "1.7.0",
|
|
100
107
|
"@types/node": "^22.0.0",
|