@opendatalabs/personal-server-ts-lite 0.0.1-canary.00328bf
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/dist/bridge.d.ts +23 -0
- package/dist/bridge.d.ts.map +1 -0
- package/dist/bridge.js +53 -0
- package/dist/bridge.js.map +1 -0
- package/dist/browser-runtime.d.ts +58 -0
- package/dist/browser-runtime.d.ts.map +1 -0
- package/dist/browser-runtime.js +214 -0
- package/dist/browser-runtime.js.map +1 -0
- package/dist/browser-tls-rustls/browser_tls_rustls.d.ts +49 -0
- package/dist/browser-tls-rustls/browser_tls_rustls.js +401 -0
- package/dist/browser-tls-rustls/browser_tls_rustls_bg.wasm +0 -0
- package/dist/client.d.ts +22 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +408 -0
- package/dist/client.js.map +1 -0
- package/dist/derivatives.d.ts +51 -0
- package/dist/derivatives.d.ts.map +1 -0
- package/dist/derivatives.js +87 -0
- package/dist/derivatives.js.map +1 -0
- package/dist/diagnostics.d.ts +166 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +265 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-store.d.ts +35 -0
- package/dist/mcp-store.d.ts.map +1 -0
- package/dist/mcp-store.js +208 -0
- package/dist/mcp-store.js.map +1 -0
- package/dist/owner-binding.d.ts +7 -0
- package/dist/owner-binding.d.ts.map +1 -0
- package/dist/owner-binding.js +18 -0
- package/dist/owner-binding.js.map +1 -0
- package/dist/persistence.d.ts +69 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +58 -0
- package/dist/persistence.js.map +1 -0
- package/dist/relay-tls.d.ts +61 -0
- package/dist/relay-tls.d.ts.map +1 -0
- package/dist/relay-tls.js +316 -0
- package/dist/relay-tls.js.map +1 -0
- package/dist/relay.d.ts +149 -0
- package/dist/relay.d.ts.map +1 -0
- package/dist/relay.js +646 -0
- package/dist/relay.js.map +1 -0
- package/dist/runtime.d.ts +188 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +1178 -0
- package/dist/runtime.js.map +1 -0
- package/dist/state.d.ts +72 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +366 -0
- package/dist/state.js.map +1 -0
- package/dist/storage-utils.d.ts +8 -0
- package/dist/storage-utils.d.ts.map +1 -0
- package/dist/storage-utils.js +67 -0
- package/dist/storage-utils.js.map +1 -0
- package/dist/storage.d.ts +61 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +718 -0
- package/dist/storage.js.map +1 -0
- package/dist/sync.d.ts +58 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +216 -0
- package/dist/sync.js.map +1 -0
- package/package.json +40 -0
package/dist/bridge.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PsLiteRuntime } from "./runtime.js";
|
|
2
|
+
export interface PsLiteBridgeRequest {
|
|
3
|
+
requestId: string;
|
|
4
|
+
method: string;
|
|
5
|
+
path: string;
|
|
6
|
+
query: string;
|
|
7
|
+
headers: Record<string, string>;
|
|
8
|
+
/** Base64-encoded request body, matching the browser-local relay PoC. */
|
|
9
|
+
body: string;
|
|
10
|
+
}
|
|
11
|
+
export interface PsLiteBridgeResponse {
|
|
12
|
+
requestId: string;
|
|
13
|
+
status: number;
|
|
14
|
+
headers: Record<string, string>;
|
|
15
|
+
/** Base64-encoded response body for relay transport. */
|
|
16
|
+
body: string;
|
|
17
|
+
/** Decoded response body for same-context consumers and tests. */
|
|
18
|
+
textBody: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function handlePsLiteBridgeRequest(runtime: PsLiteRuntime, bridgeRequest: PsLiteBridgeRequest, options?: {
|
|
21
|
+
origin?: string;
|
|
22
|
+
}): Promise<PsLiteBridgeResponse>;
|
|
23
|
+
//# sourceMappingURL=bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAkDD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,aAAa,EACtB,aAAa,EAAE,mBAAmB,EAClC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CAAC,oBAAoB,CAAC,CAe/B"}
|
package/dist/bridge.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
function decodeBase64(input) {
|
|
2
|
+
if (!input)
|
|
3
|
+
return new Uint8Array();
|
|
4
|
+
const binary = typeof globalThis.atob === "function"
|
|
5
|
+
? globalThis.atob(input)
|
|
6
|
+
: Buffer.from(input, "base64").toString("binary");
|
|
7
|
+
return Uint8Array.from(binary, (char) => char.charCodeAt(0));
|
|
8
|
+
}
|
|
9
|
+
function encodeBase64(bytes) {
|
|
10
|
+
let binary = "";
|
|
11
|
+
for (const byte of bytes) {
|
|
12
|
+
binary += String.fromCharCode(byte);
|
|
13
|
+
}
|
|
14
|
+
return typeof globalThis.btoa === "function"
|
|
15
|
+
? globalThis.btoa(binary)
|
|
16
|
+
: Buffer.from(binary, "binary").toString("base64");
|
|
17
|
+
}
|
|
18
|
+
function headersToRecord(headers) {
|
|
19
|
+
const result = {};
|
|
20
|
+
headers.forEach((value, key) => {
|
|
21
|
+
result[key] = value;
|
|
22
|
+
});
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
function buildRequest(origin, bridgeRequest) {
|
|
26
|
+
const query = bridgeRequest.query
|
|
27
|
+
? `?${bridgeRequest.query.replace(/^\?/, "")}`
|
|
28
|
+
: "";
|
|
29
|
+
const url = `${origin.replace(/\/+$/, "")}${bridgeRequest.path}${query}`;
|
|
30
|
+
const method = bridgeRequest.method.toUpperCase();
|
|
31
|
+
const hasBody = method !== "GET" && method !== "HEAD";
|
|
32
|
+
const body = hasBody
|
|
33
|
+
? decodeBase64(bridgeRequest.body).slice().buffer
|
|
34
|
+
: undefined;
|
|
35
|
+
return new Request(url, {
|
|
36
|
+
method,
|
|
37
|
+
headers: bridgeRequest.headers,
|
|
38
|
+
body,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
export async function handlePsLiteBridgeRequest(runtime, bridgeRequest, options = {}) {
|
|
42
|
+
const request = buildRequest(options.origin ?? "https://ps-lite.local", bridgeRequest);
|
|
43
|
+
const response = await runtime.fetch(request);
|
|
44
|
+
const bytes = new Uint8Array(await response.arrayBuffer());
|
|
45
|
+
return {
|
|
46
|
+
requestId: bridgeRequest.requestId,
|
|
47
|
+
status: response.status,
|
|
48
|
+
headers: headersToRecord(response.headers),
|
|
49
|
+
body: encodeBase64(bytes),
|
|
50
|
+
textBody: new TextDecoder().decode(bytes),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ServerConfig } from "@opendatalabs/personal-server-ts-core/schemas";
|
|
2
|
+
import type { Logger } from "@opendatalabs/personal-server-ts-core/logger";
|
|
3
|
+
import type { InferenceProvider } from "@opendatalabs/personal-server-ts-core/derivatives";
|
|
4
|
+
import type { AccessLogReader } from "@opendatalabs/personal-server-ts-core/logging/access-reader";
|
|
5
|
+
import type { AccessLogWriter } from "@opendatalabs/personal-server-ts-core/logging/access-log";
|
|
6
|
+
import type { DataPointFeedPort, DataStoragePort } from "@opendatalabs/personal-server-ts-core/ports";
|
|
7
|
+
import { type PsLiteDataFileStore } from "./storage.js";
|
|
8
|
+
import { type PsLiteStateStore, type PsLiteUnlockedServerIdentity } from "./state.js";
|
|
9
|
+
import { type PsLiteRuntime, type PsLiteRuntimeOptions } from "./runtime.js";
|
|
10
|
+
import { type PsLiteOwnerSyncSigner } from "./sync.js";
|
|
11
|
+
import { type PsLitePersistenceBundle } from "./persistence.js";
|
|
12
|
+
export interface IndexedDbPsLiteRuntimeOptions extends Omit<PsLiteRuntimeOptions, "accessLogReader" | "accessLogWriter" | "config" | "identity" | "saveConfig" | "stateCapabilities" | "storage" | "tokenStore"> {
|
|
13
|
+
ownerAddress?: `0x${string}`;
|
|
14
|
+
/**
|
|
15
|
+
* Inference provider for the derivative compute layer. Defaults to the
|
|
16
|
+
* OpenAI-compatible fetch client on `config.inference`; tests inject a
|
|
17
|
+
* fake. Pass `derivatives` (the runtime option) to bypass this wiring.
|
|
18
|
+
*/
|
|
19
|
+
inferenceProvider?: InferenceProvider;
|
|
20
|
+
ownerSignature: `0x${string}`;
|
|
21
|
+
ownerSyncSigner?: PsLiteOwnerSyncSigner;
|
|
22
|
+
dbName?: string;
|
|
23
|
+
stateStoreName?: string;
|
|
24
|
+
storageDbName?: string;
|
|
25
|
+
storageStoreName?: string;
|
|
26
|
+
storageKey?: string;
|
|
27
|
+
runtimeOrigin?: string;
|
|
28
|
+
configDefaults?: Partial<ServerConfig>;
|
|
29
|
+
dataFileStore?: PsLiteDataFileStore;
|
|
30
|
+
logger?: Logger;
|
|
31
|
+
/**
|
|
32
|
+
* Deletion-aware gateway feed for the sync workers. Defaults to a REST
|
|
33
|
+
* feed on the configured gateway URL; inject with a mock `gateway` in tests.
|
|
34
|
+
*/
|
|
35
|
+
dataPointFeed?: DataPointFeedPort;
|
|
36
|
+
/**
|
|
37
|
+
* Inject host-owned persistence ports (Mobile native SQLite/filesystem) in
|
|
38
|
+
* place of the browser IndexedDB defaults, without giving up this factory's
|
|
39
|
+
* identity/config/sync/auth/signer composition. This is all-or-nothing:
|
|
40
|
+
* either omit it for the default Web IndexedDB/OPFS path, or provide every
|
|
41
|
+
* port for a host-owned persistence implementation.
|
|
42
|
+
*/
|
|
43
|
+
persistence?: PsLitePersistenceBundle;
|
|
44
|
+
}
|
|
45
|
+
export interface IndexedDbPsLiteRuntime {
|
|
46
|
+
runtime: PsLiteRuntime;
|
|
47
|
+
config: ServerConfig;
|
|
48
|
+
identity: PsLiteUnlockedServerIdentity;
|
|
49
|
+
stateStore: PsLiteStateStore;
|
|
50
|
+
storage: DataStoragePort;
|
|
51
|
+
tokenStore: PsLiteRuntimeOptions["tokenStore"];
|
|
52
|
+
accessLogStore: AccessLogReader & AccessLogWriter;
|
|
53
|
+
syncManager: PsLiteRuntimeOptions["syncManager"];
|
|
54
|
+
/** The compute layer; hosts call `scheduler.stop()` on teardown. */
|
|
55
|
+
derivatives: PsLiteRuntimeOptions["derivatives"];
|
|
56
|
+
}
|
|
57
|
+
export declare function createIndexedDbPsLiteRuntime(options: IndexedDbPsLiteRuntimeOptions): Promise<IndexedDbPsLiteRuntime>;
|
|
58
|
+
//# sourceMappingURL=browser-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-runtime.d.ts","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAM3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAChB,MAAM,6CAA6C,CAAC;AAMrD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EAOL,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAQhF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,oBAAoB,EAClB,iBAAiB,GACjB,iBAAiB,GACjB,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,mBAAmB,GACnB,SAAS,GACT,YAAY,CACf;IACC,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,uBAAuB,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,4BAA4B,CAAC;IACvC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC/C,cAAc,EAAE,eAAe,GAAG,eAAe,CAAC;IAClD,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACjD,oEAAoE;IACpE,WAAW,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;CAClD;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,6BAA6B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CA8NjC"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { createRequestSigner, createServerSigner, } from "@opendatalabs/personal-server-ts-core/signing";
|
|
2
|
+
import { createGatewayLineageClient } from "@opendatalabs/personal-server-ts-core/lineage";
|
|
3
|
+
import { createGatewayClient } from "@opendatalabs/vana-sdk/browser";
|
|
4
|
+
import { createInMemoryWriteProofReplayStore, createInMemoryWriteSessionStore, } from "@opendatalabs/personal-server-ts-core/write";
|
|
5
|
+
import { createIndexedDbPsLitePersistence, createPersistentPsLiteStorage, } from "./storage.js";
|
|
6
|
+
import { createIndexedDbPsLiteAccessLogStore, createIndexedDbPsLiteStateStore, createIndexedDbPsLiteTokenStore, loadOrCreatePsLiteConfig, loadOrCreatePsLiteServerIdentity, savePsLiteConfig, } from "./state.js";
|
|
7
|
+
import { createWeb3SignedPsLiteAuth, createPsLiteRuntime, } from "./runtime.js";
|
|
8
|
+
import { createPsLiteSyncManager } from "./sync.js";
|
|
9
|
+
import { createPsLiteDerivativeCompute, createPsLiteQuestionStore, psLiteInferenceConfigured, } from "./derivatives.js";
|
|
10
|
+
import { resolvePsLiteOwner } from "./owner-binding.js";
|
|
11
|
+
import { DiagnosticsRecorder } from "./diagnostics.js";
|
|
12
|
+
import { assertCompletePsLitePersistenceBundle, } from "./persistence.js";
|
|
13
|
+
export async function createIndexedDbPsLiteRuntime(options) {
|
|
14
|
+
const dbName = options.dbName ?? "personal-server-lite";
|
|
15
|
+
const injected = options.persistence;
|
|
16
|
+
if (injected !== undefined)
|
|
17
|
+
assertCompletePsLitePersistenceBundle(injected);
|
|
18
|
+
// No bundle preserves the Web IndexedDB/OPFS path. A supplied bundle has
|
|
19
|
+
// already been validated as complete, so hosts never silently mix native and
|
|
20
|
+
// browser persistence. Config, identity, and sync remain generic over state.
|
|
21
|
+
const stateStore = injected?.state ??
|
|
22
|
+
createIndexedDbPsLiteStateStore({
|
|
23
|
+
dbName,
|
|
24
|
+
storeName: options.stateStoreName ?? "state",
|
|
25
|
+
});
|
|
26
|
+
const config = await loadOrCreatePsLiteConfig(stateStore, options.configDefaults);
|
|
27
|
+
const identity = await loadOrCreatePsLiteServerIdentity({
|
|
28
|
+
store: stateStore,
|
|
29
|
+
ownerSignature: options.ownerSignature,
|
|
30
|
+
});
|
|
31
|
+
const tokenStore = injected?.tokens ??
|
|
32
|
+
createIndexedDbPsLiteTokenStore({
|
|
33
|
+
dbName,
|
|
34
|
+
storeName: "tokens",
|
|
35
|
+
});
|
|
36
|
+
const accessLogStore = injected?.accessLog ??
|
|
37
|
+
createIndexedDbPsLiteAccessLogStore({
|
|
38
|
+
dbName,
|
|
39
|
+
storeName: "accessLogs",
|
|
40
|
+
});
|
|
41
|
+
const storage = injected?.storage ??
|
|
42
|
+
(await createPersistentPsLiteStorage({ kind: "indexeddb" }, createIndexedDbPsLitePersistence({
|
|
43
|
+
dbName: options.storageDbName ?? `${dbName}-storage`,
|
|
44
|
+
storeName: options.storageStoreName ?? "state",
|
|
45
|
+
key: options.storageKey ?? "data-storage-v1",
|
|
46
|
+
}), options.dataFileStore));
|
|
47
|
+
const gateway = options.gateway ?? createGatewayClient(config.gateway.url);
|
|
48
|
+
const serverOwner = await resolvePsLiteOwner({
|
|
49
|
+
ownerAddress: options.ownerAddress,
|
|
50
|
+
ownerSignature: options.ownerSignature,
|
|
51
|
+
});
|
|
52
|
+
const serverSigner = options.serverSigner ??
|
|
53
|
+
createServerSigner(identity.account, {
|
|
54
|
+
chainId: config.gateway.chainId,
|
|
55
|
+
contracts: config.gateway.contracts,
|
|
56
|
+
});
|
|
57
|
+
// Create (or reuse) a shared diagnostics recorder before the sync manager so
|
|
58
|
+
// both share the same recorder instance and events appear in /v1/diagnostics.
|
|
59
|
+
const diagnostics = options.diagnostics ?? new DiagnosticsRecorder();
|
|
60
|
+
// The one browser request signer: the identity key that registered this
|
|
61
|
+
// server with the gateway signs the lineage reads and the inference relay
|
|
62
|
+
// calls with the same Web3Signed scheme.
|
|
63
|
+
const requestSigner = createRequestSigner(identity.account);
|
|
64
|
+
// Derivative data: lineage reads are signed with the server key and
|
|
65
|
+
// derivatives are registered with their lineage (see core/lineage).
|
|
66
|
+
const lineageGateway = createGatewayLineageClient({
|
|
67
|
+
gatewayUrl: config.gateway.url,
|
|
68
|
+
requestSigner,
|
|
69
|
+
});
|
|
70
|
+
let syncManager = options.syncManager ?? null;
|
|
71
|
+
let scopeDeletions = options.scopeDeletions;
|
|
72
|
+
let runtimeRef = null;
|
|
73
|
+
// Derivative compute: built before sync so downloads can mark questions
|
|
74
|
+
// stale; it reaches the sync manager lazily to upload its results.
|
|
75
|
+
// Without a relay URL (or an injected provider) the layer stays off and
|
|
76
|
+
// /v1/derivatives answers 503: the browser never calls a provider
|
|
77
|
+
// directly with no key.
|
|
78
|
+
let derivatives = options.derivatives ?? null;
|
|
79
|
+
if (derivatives === null &&
|
|
80
|
+
options.derivatives === undefined &&
|
|
81
|
+
(options.inferenceProvider || psLiteInferenceConfigured(config))) {
|
|
82
|
+
derivatives = createPsLiteDerivativeCompute({
|
|
83
|
+
config,
|
|
84
|
+
storage,
|
|
85
|
+
store: await createPsLiteQuestionStore(stateStore),
|
|
86
|
+
serverOwner,
|
|
87
|
+
syncManager: () => syncManager,
|
|
88
|
+
scopeDeletions: () => scopeDeletions,
|
|
89
|
+
writePolicyPorts: {
|
|
90
|
+
authSessionVerifier: gateway,
|
|
91
|
+
grantVerifier: gateway,
|
|
92
|
+
},
|
|
93
|
+
runtimeAvailability: {
|
|
94
|
+
isAvailable: () => runtimeRef?.isAvailable() ?? Boolean(options.active),
|
|
95
|
+
},
|
|
96
|
+
provider: options.inferenceProvider,
|
|
97
|
+
// The relay forwards only requests signed as the owner's server.
|
|
98
|
+
requestSigner,
|
|
99
|
+
logger: options.logger,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
else if (derivatives === null && options.derivatives === undefined) {
|
|
103
|
+
options.logger?.warn({ baseUrl: config.inference.baseUrl }, "Derivative compute disabled: inference.baseUrl is the direct-provider default; point it at the Vana inference relay");
|
|
104
|
+
}
|
|
105
|
+
if (!syncManager && config.sync.enabled) {
|
|
106
|
+
const sync = await createPsLiteSyncManager({
|
|
107
|
+
config,
|
|
108
|
+
stateStore,
|
|
109
|
+
storage,
|
|
110
|
+
ownerSignature: options.ownerSignature,
|
|
111
|
+
ownerAddress: options.ownerAddress,
|
|
112
|
+
ownerSyncSigner: options.ownerSyncSigner,
|
|
113
|
+
serverAccount: identity.account,
|
|
114
|
+
gateway,
|
|
115
|
+
dataPointFeed: options.dataPointFeed,
|
|
116
|
+
scopeDeletions,
|
|
117
|
+
diagnostics,
|
|
118
|
+
logger: options.logger,
|
|
119
|
+
lineageGateway,
|
|
120
|
+
onDataPointIndexed: (event) => derivatives?.scheduler.markSourceChanged(event.scope, {
|
|
121
|
+
lineageSources: event.lineageSources,
|
|
122
|
+
}),
|
|
123
|
+
});
|
|
124
|
+
syncManager = sync.syncManager;
|
|
125
|
+
scopeDeletions = sync.scopeDeletions;
|
|
126
|
+
}
|
|
127
|
+
const runtimeAvailability = {
|
|
128
|
+
isAvailable: () => runtimeRef?.isAvailable() ?? Boolean(options.active),
|
|
129
|
+
};
|
|
130
|
+
// Delegated builder writes. One session store is wired into the handshake
|
|
131
|
+
// route AND the auth adapter (the route mints what the adapter redeems),
|
|
132
|
+
// and one replay guard covers the handshake proof and every per-write
|
|
133
|
+
// proof — the same single-store discipline as createApp in the Node build.
|
|
134
|
+
// A caller that brings its OWN auth adapter owns this wiring, so we do not
|
|
135
|
+
// mount a handshake for a store that adapter has never heard of.
|
|
136
|
+
const writeProofReplayStore = options.writeProofReplayStore ?? createInMemoryWriteProofReplayStore();
|
|
137
|
+
const writeSessionStore = options.writeSessionStore ??
|
|
138
|
+
(options.auth ? undefined : createInMemoryWriteSessionStore());
|
|
139
|
+
// One audience for the whole delegated-write flow: the handshake proof and
|
|
140
|
+
// every per-write proof are verified against the same origin.
|
|
141
|
+
const serverOrigin = options.serverOrigin ??
|
|
142
|
+
(() => options.runtimeOrigin ?? config.server.origin);
|
|
143
|
+
const auth = options.auth ??
|
|
144
|
+
createWeb3SignedPsLiteAuth({
|
|
145
|
+
origin: serverOrigin,
|
|
146
|
+
ownerAddress: serverOwner,
|
|
147
|
+
accessToken: options.accessToken,
|
|
148
|
+
tokenStore,
|
|
149
|
+
dataReadPolicyPorts: {
|
|
150
|
+
authSessionVerifier: gateway,
|
|
151
|
+
grantVerifier: gateway,
|
|
152
|
+
runtimeAvailability,
|
|
153
|
+
},
|
|
154
|
+
...(writeSessionStore
|
|
155
|
+
? {
|
|
156
|
+
writeSessions: {
|
|
157
|
+
store: writeSessionStore,
|
|
158
|
+
replayStore: writeProofReplayStore,
|
|
159
|
+
policyPorts: {
|
|
160
|
+
authSessionVerifier: gateway,
|
|
161
|
+
grantVerifier: gateway,
|
|
162
|
+
runtimeAvailability,
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
}
|
|
166
|
+
: {}),
|
|
167
|
+
});
|
|
168
|
+
const runtime = createPsLiteRuntime({
|
|
169
|
+
...options,
|
|
170
|
+
auth,
|
|
171
|
+
serverOrigin,
|
|
172
|
+
writeSessionStore,
|
|
173
|
+
writeProofReplayStore,
|
|
174
|
+
storage,
|
|
175
|
+
config,
|
|
176
|
+
identity: {
|
|
177
|
+
address: identity.account.address,
|
|
178
|
+
publicKey: identity.account.publicKey,
|
|
179
|
+
},
|
|
180
|
+
gateway,
|
|
181
|
+
serverOwner,
|
|
182
|
+
serverSigner,
|
|
183
|
+
syncManager,
|
|
184
|
+
scopeDeletions,
|
|
185
|
+
diagnostics,
|
|
186
|
+
lineageGateway,
|
|
187
|
+
derivatives,
|
|
188
|
+
saveConfig: async (nextConfig) => {
|
|
189
|
+
const saved = await savePsLiteConfig(stateStore, nextConfig);
|
|
190
|
+
Object.assign(config, saved);
|
|
191
|
+
},
|
|
192
|
+
stateCapabilities: { config: injected?.state ? "custom" : "indexeddb" },
|
|
193
|
+
tokenStore,
|
|
194
|
+
accessLogReader: accessLogStore,
|
|
195
|
+
accessLogWriter: accessLogStore,
|
|
196
|
+
// A complete host bundle owns both MCP records too. Direct options remain
|
|
197
|
+
// available only on the default Web path for backwards compatibility.
|
|
198
|
+
mcpConnectionStore: injected?.mcpConnections ?? options.mcpConnectionStore,
|
|
199
|
+
mcpOAuthAuthorizationStore: injected?.mcpOAuthAuthorizations ?? options.mcpOAuthAuthorizationStore,
|
|
200
|
+
});
|
|
201
|
+
runtimeRef = runtime;
|
|
202
|
+
return {
|
|
203
|
+
runtime,
|
|
204
|
+
config,
|
|
205
|
+
identity,
|
|
206
|
+
stateStore,
|
|
207
|
+
storage,
|
|
208
|
+
tokenStore,
|
|
209
|
+
accessLogStore,
|
|
210
|
+
syncManager,
|
|
211
|
+
derivatives,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=browser-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-runtime.js","sourceRoot":"","sources":["../src/browser-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
|
|
4
|
+
export class TlsServer {
|
|
5
|
+
free(): void;
|
|
6
|
+
[Symbol.dispose](): void;
|
|
7
|
+
constructor(cert_pem: string, key_pem: string);
|
|
8
|
+
process_tls(input: Uint8Array): any;
|
|
9
|
+
write_plaintext(plaintext: Uint8Array, close: boolean): any;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
13
|
+
|
|
14
|
+
export interface InitOutput {
|
|
15
|
+
readonly memory: WebAssembly.Memory;
|
|
16
|
+
readonly __wbg_tlsserver_free: (a: number, b: number) => void;
|
|
17
|
+
readonly tlsserver_new: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
18
|
+
readonly tlsserver_process_tls: (a: number, b: number, c: number) => [number, number, number];
|
|
19
|
+
readonly tlsserver_write_plaintext: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
20
|
+
readonly __wbindgen_exn_store: (a: number) => void;
|
|
21
|
+
readonly __externref_table_alloc: () => number;
|
|
22
|
+
readonly __wbindgen_externrefs: WebAssembly.Table;
|
|
23
|
+
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
24
|
+
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
25
|
+
readonly __externref_table_dealloc: (a: number) => void;
|
|
26
|
+
readonly __wbindgen_start: () => void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Instantiates the given `module`, which can either be bytes or
|
|
33
|
+
* a precompiled `WebAssembly.Module`.
|
|
34
|
+
*
|
|
35
|
+
* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated.
|
|
36
|
+
*
|
|
37
|
+
* @returns {InitOutput}
|
|
38
|
+
*/
|
|
39
|
+
export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
|
43
|
+
* for everything else, calls `WebAssembly.instantiate` directly.
|
|
44
|
+
*
|
|
45
|
+
* @param {{ module_or_path: InitInput | Promise<InitInput> }} module_or_path - Passing `InitInput` directly is deprecated.
|
|
46
|
+
*
|
|
47
|
+
* @returns {Promise<InitOutput>}
|
|
48
|
+
*/
|
|
49
|
+
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput> } | InitInput | Promise<InitInput>): Promise<InitOutput>;
|