@opendatalabs/personal-server-ts-server 1.5.0 → 1.7.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/dist/api-auth.d.ts +15 -0
- package/dist/api-auth.d.ts.map +1 -1
- package/dist/api-auth.js +70 -13
- package/dist/api-auth.js.map +1 -1
- package/dist/app.d.ts +15 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +23 -8
- package/dist/app.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +13 -1
- package/dist/bootstrap.js.map +1 -1
- package/dist/logging/access-log.d.ts +1 -1
- package/dist/logging/access-log.d.ts.map +1 -1
- package/dist/middleware/cors.d.ts +18 -0
- package/dist/middleware/cors.d.ts.map +1 -0
- package/dist/middleware/cors.js +51 -0
- package/dist/middleware/cors.js.map +1 -0
- package/dist/routes/data.d.ts +16 -0
- package/dist/routes/data.d.ts.map +1 -1
- package/dist/routes/data.js +3 -0
- package/dist/routes/data.js.map +1 -1
- package/dist/routes/write-session.d.ts +33 -0
- package/dist/routes/write-session.d.ts.map +1 -0
- package/dist/routes/write-session.js +108 -0
- package/dist/routes/write-session.js.map +1 -0
- package/dist/ui/ps-lite-debug.js +16127 -15465
- package/package.json +3 -3
package/dist/api-auth.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type SessionTokenVerifierPort } from "@opendatalabs/personal-server-ts-core/auth";
|
|
2
2
|
import type { PersonalServerApiAuthPort } from "@opendatalabs/personal-server-ts-core/api";
|
|
3
|
+
import { type WriteProofReplayStore, type WriteSessionStore } from "@opendatalabs/personal-server-ts-core/write";
|
|
3
4
|
import type { DataStoragePort, RuntimeAvailabilityPort } from "@opendatalabs/personal-server-ts-core/ports";
|
|
4
5
|
import type { GatewayClient } from "@opendatalabs/vana-sdk/node";
|
|
5
6
|
export interface ServerApiAuthDeps {
|
|
@@ -11,6 +12,20 @@ export interface ServerApiAuthDeps {
|
|
|
11
12
|
tokenStore?: SessionTokenVerifierPort;
|
|
12
13
|
dataStorage?: Pick<DataStoragePort, "findEntry">;
|
|
13
14
|
runtimeAvailability?: RuntimeAvailabilityPort;
|
|
15
|
+
/**
|
|
16
|
+
* Write API sessions. When present, POST /v1/data/:scope accepts a bearer
|
|
17
|
+
* write-session token (minted by POST /v1/write/session) and authorizes the
|
|
18
|
+
* write as the session's builder via verifyDataWritePolicy + the
|
|
19
|
+
* X-Vana-Write-Signature attribution proof. Absent = owner-only ingest,
|
|
20
|
+
* exactly as before.
|
|
21
|
+
*/
|
|
22
|
+
writeSessionStore?: WriteSessionStore;
|
|
23
|
+
/**
|
|
24
|
+
* Replay guard for per-write proofs (X-Vana-Write-Signature). Defaults to
|
|
25
|
+
* an in-memory store so replay protection is always on when write sessions
|
|
26
|
+
* are enabled; hosts may supply a shared store.
|
|
27
|
+
*/
|
|
28
|
+
writeProofReplayStore?: WriteProofReplayStore;
|
|
14
29
|
}
|
|
15
30
|
export declare function createServerApiAuth(deps: ServerApiAuthDeps): PersonalServerApiAuthPort;
|
|
16
31
|
//# sourceMappingURL=api-auth.d.ts.map
|
package/dist/api-auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-auth.d.ts","sourceRoot":"","sources":["../src/api-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,yBAAyB,
|
|
1
|
+
{"version":3,"file":"api-auth.d.ts","sourceRoot":"","sources":["../src/api-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EACV,yBAAyB,EAI1B,MAAM,2CAA2C,CAAC;AAKnD,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,6CAA6C,CAAC;AAMrD,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,WAAW,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACjD,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAmDD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,iBAAiB,GACtB,yBAAyB,CA2I3B"}
|
package/dist/api-auth.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { authenticateRequest, } from "@opendatalabs/personal-server-ts-core/auth";
|
|
2
|
-
import { verifyDataReadPolicy } from "@opendatalabs/personal-server-ts-core/policy";
|
|
2
|
+
import { verifyDataReadPolicy, verifyDataWritePolicy, } from "@opendatalabs/personal-server-ts-core/policy";
|
|
3
|
+
import { createInMemoryWriteProofReplayStore, hashWriteSessionToken, verifyWriterAttribution, } from "@opendatalabs/personal-server-ts-core/write";
|
|
3
4
|
import { NotOwnerError, ProtocolError, UnregisteredBuilderError, } from "@opendatalabs/personal-server-ts-core/errors";
|
|
4
5
|
function serverNotConfigured() {
|
|
5
6
|
return new ProtocolError(500, "SERVER_NOT_CONFIGURED", "Server owner address not configured. Set VANA_MASTER_KEY_SIGNATURE environment variable.");
|
|
@@ -26,21 +27,77 @@ async function assertRegisteredBuilder(gateway, signer) {
|
|
|
26
27
|
return;
|
|
27
28
|
throw new UnregisteredBuilderError();
|
|
28
29
|
}
|
|
30
|
+
function bearerToken(request) {
|
|
31
|
+
const header = request.headers.get("authorization");
|
|
32
|
+
if (!header?.startsWith("Bearer "))
|
|
33
|
+
return null;
|
|
34
|
+
return header.slice(7);
|
|
35
|
+
}
|
|
29
36
|
export function createServerApiAuth(deps) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
const writeProofReplayStore = deps.writeProofReplayStore ?? createInMemoryWriteProofReplayStore();
|
|
38
|
+
async function authorizeOwner(request) {
|
|
39
|
+
const result = await authenticate(request, deps);
|
|
40
|
+
if (result.isPolicyBypass)
|
|
41
|
+
return;
|
|
42
|
+
if (!deps.serverOwner)
|
|
43
|
+
throw serverNotConfigured();
|
|
44
|
+
if (!isOwner(result.auth.signer, deps.serverOwner)) {
|
|
45
|
+
throw new NotOwnerError({
|
|
46
|
+
signer: result.auth.signer,
|
|
47
|
+
expected: deps.serverOwner,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Delegated ingest. A bearer token that resolves to a live write session
|
|
53
|
+
* authorizes as the session builder: the write policy re-runs against the
|
|
54
|
+
* LIVE grant (revocation / expiry / scope coverage stay authoritative per
|
|
55
|
+
* write), and the builder's X-Vana-Write-Signature payload proof is
|
|
56
|
+
* verified and returned for the handler to store with the record. Any
|
|
57
|
+
* other credential (owner Web3Signed, dev token, control-plane token,
|
|
58
|
+
* unknown bearer) falls through to the owner path unchanged.
|
|
59
|
+
*/
|
|
60
|
+
async function authorizeWrite(input) {
|
|
61
|
+
const token = bearerToken(input.request);
|
|
62
|
+
if (token && deps.writeSessionStore) {
|
|
63
|
+
const session = await deps.writeSessionStore.getByTokenHash(await hashWriteSessionToken(token));
|
|
64
|
+
if (session) {
|
|
65
|
+
if (!deps.serverOwner)
|
|
66
|
+
throw serverNotConfigured();
|
|
67
|
+
const grant = await verifyDataWritePolicy({
|
|
68
|
+
signer: session.builderAddress,
|
|
69
|
+
grantId: session.grantId,
|
|
70
|
+
requestedScope: input.scope,
|
|
71
|
+
serverOwner: deps.serverOwner,
|
|
72
|
+
}, {
|
|
73
|
+
authSessionVerifier: deps.gateway,
|
|
74
|
+
grantVerifier: deps.gateway,
|
|
75
|
+
runtimeAvailability: deps.runtimeAvailability,
|
|
76
|
+
// Fee seam intentionally not wired: builder writes are free in
|
|
77
|
+
// the demo slice (write fee mechanics undecided).
|
|
78
|
+
});
|
|
79
|
+
// releaseProof is a rollback hook for the handler, never part of the
|
|
80
|
+
// stored attribution record.
|
|
81
|
+
const { releaseProof, ...attribution } = await verifyWriterAttribution({
|
|
82
|
+
request: input.request,
|
|
83
|
+
builderAddress: session.builderAddress,
|
|
84
|
+
grantId: grant.id,
|
|
85
|
+
serverOrigin: deps.serverOrigin,
|
|
86
|
+
replayStore: writeProofReplayStore,
|
|
41
87
|
});
|
|
88
|
+
return {
|
|
89
|
+
builder: session.builderAddress,
|
|
90
|
+
grantId: grant.id,
|
|
91
|
+
attribution,
|
|
92
|
+
releaseProof,
|
|
93
|
+
};
|
|
42
94
|
}
|
|
43
|
-
}
|
|
95
|
+
}
|
|
96
|
+
await authorizeOwner(input.request);
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
authorizeOwner,
|
|
100
|
+
authorizeWrite,
|
|
44
101
|
async authorizeBuilderList(request) {
|
|
45
102
|
const result = await authenticate(request, deps);
|
|
46
103
|
if (result.isPolicyBypass ||
|
package/dist/api-auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-auth.js","sourceRoot":"","sources":["../src/api-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"api-auth.js","sourceRoot":"","sources":["../src/api-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/app.d.ts
CHANGED
|
@@ -7,9 +7,11 @@ import type { AccessLogWriter } from "@opendatalabs/personal-server-ts-core/logg
|
|
|
7
7
|
import type { AccessLogReader } from "@opendatalabs/personal-server-ts-core/logging/access-reader";
|
|
8
8
|
import type { PersonalServerReadFulfillmentReporter } from "@opendatalabs/personal-server-ts-core/api";
|
|
9
9
|
import { type HealthDeps } from "./routes/health.js";
|
|
10
|
+
import { type WriteProofReplayStore, type WriteSessionStore } from "@opendatalabs/personal-server-ts-core/write";
|
|
10
11
|
import { McpActivityRecorder, type McpConnectionStore, type McpOAuthAuthorizationStore } from "@opendatalabs/personal-server-ts-core/mcp";
|
|
11
12
|
import type { SyncManager } from "@opendatalabs/personal-server-ts-core/sync";
|
|
12
13
|
import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
14
|
+
import type { LineageGatewayPort } from "@opendatalabs/personal-server-ts-core/lineage";
|
|
13
15
|
import type { DataStoragePort, RuntimeAvailabilityPort } from "@opendatalabs/personal-server-ts-core/ports";
|
|
14
16
|
import type { TokenStore } from "./token-store.js";
|
|
15
17
|
import type { Logger } from "pino";
|
|
@@ -57,6 +59,8 @@ export interface AppDeps {
|
|
|
57
59
|
* Off-by-default to keep dev / test setups frictionless.
|
|
58
60
|
*/
|
|
59
61
|
paymentEnabled?: boolean;
|
|
62
|
+
/** Derivative data: gateway lineage access for the data routes. */
|
|
63
|
+
lineageGateway?: LineageGatewayPort;
|
|
60
64
|
getTunnelStatus?: HealthDeps["getTunnelStatus"];
|
|
61
65
|
/**
|
|
62
66
|
* Invoked when the /ui/api registration route confirms the server is
|
|
@@ -75,6 +79,17 @@ export interface AppDeps {
|
|
|
75
79
|
mcpOAuthAuthorizationStore?: McpOAuthAuthorizationStore;
|
|
76
80
|
mcpOAuthApprovalUrl?: string | (() => string);
|
|
77
81
|
mcpActivityRecorder?: McpActivityRecorder;
|
|
82
|
+
/**
|
|
83
|
+
* Write API session store shared between POST /v1/write/session (which
|
|
84
|
+
* mints tokens) and the ingest endpoint (which redeems them). Defaults to
|
|
85
|
+
* an in-memory store, mirroring the MCP connection store default.
|
|
86
|
+
*/
|
|
87
|
+
writeSessionStore?: WriteSessionStore;
|
|
88
|
+
/**
|
|
89
|
+
* Replay guard for per-write proofs on delegated ingest. Defaults to an
|
|
90
|
+
* in-memory store (api-auth); hosts may supply a shared one.
|
|
91
|
+
*/
|
|
92
|
+
writeProofReplayStore?: WriteProofReplayStore;
|
|
78
93
|
}
|
|
79
94
|
export declare function createApp(deps: AppDeps): Hono;
|
|
80
95
|
//# sourceMappingURL=app.d.ts.map
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/app.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Hono } from "hono";
|
|
2
|
-
import { cors } from "hono/cors";
|
|
3
2
|
import { ProtocolError } from "@opendatalabs/personal-server-ts-core/errors";
|
|
4
3
|
import { healthRoute } from "./routes/health.js";
|
|
4
|
+
import { corsMiddleware } from "./middleware/cors.js";
|
|
5
5
|
import { dataRoutes } from "./routes/data.js";
|
|
6
|
+
import { writeSessionRoutes } from "./routes/write-session.js";
|
|
7
|
+
import { createInMemoryWriteSessionStore, } from "@opendatalabs/personal-server-ts-core/write";
|
|
6
8
|
import { grantsRoutes } from "./routes/grants.js";
|
|
7
9
|
import { accessLogsRoutes } from "./routes/access-logs.js";
|
|
8
10
|
import { syncRoutes } from "./routes/sync.js";
|
|
@@ -15,13 +17,12 @@ import { authDeviceRoutes, createDeviceSessionLookup, } from "./routes/auth-devi
|
|
|
15
17
|
import { oauthTokenRoutes } from "./routes/oauth-token.js";
|
|
16
18
|
export function createApp(deps) {
|
|
17
19
|
const app = new Hono();
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}));
|
|
20
|
+
// One store for mint (POST /v1/write/session) and redeem (data ingest).
|
|
21
|
+
const writeSessionStore = deps.writeSessionStore ?? createInMemoryWriteSessionStore();
|
|
22
|
+
// CORS — allow all origins for browser-based clients. Registered first so
|
|
23
|
+
// OPTIONS preflights are answered before any route or auth code runs
|
|
24
|
+
// (route sub-apps only register their real methods).
|
|
25
|
+
app.use("*", corsMiddleware());
|
|
25
26
|
// Mount health route
|
|
26
27
|
app.route("/", healthRoute({
|
|
27
28
|
version: deps.version,
|
|
@@ -61,8 +62,22 @@ export function createApp(deps) {
|
|
|
61
62
|
gatewayConfig: deps.gatewayConfig,
|
|
62
63
|
gatewayUrl: deps.gatewayUrl ?? deps.config?.gateway.url ?? deps.gatewayConfig?.url,
|
|
63
64
|
paymentEnabled: deps.paymentEnabled,
|
|
65
|
+
lineageGateway: deps.lineageGateway,
|
|
66
|
+
writeSessionStore,
|
|
67
|
+
writeProofReplayStore: deps.writeProofReplayStore,
|
|
64
68
|
mountPath: "/v1/data",
|
|
65
69
|
}));
|
|
70
|
+
// Mount the Write API session handshake (delegated builder writes).
|
|
71
|
+
app.route("/v1/write", writeSessionRoutes({
|
|
72
|
+
logger: deps.logger,
|
|
73
|
+
serverOrigin: deps.serverOrigin,
|
|
74
|
+
serverOwner: deps.serverOwner,
|
|
75
|
+
gateway: deps.gateway,
|
|
76
|
+
devToken: deps.devToken,
|
|
77
|
+
accessToken: deps.accessToken,
|
|
78
|
+
tokenStore: deps.tokenStore,
|
|
79
|
+
sessionStore: writeSessionStore,
|
|
80
|
+
}));
|
|
66
81
|
// Mount grants routes (POST /verify is public, GET / and POST / need owner auth)
|
|
67
82
|
app.route("/v1/grants", grantsRoutes({
|
|
68
83
|
logger: deps.logger,
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,2CAA2C,CAAC;AAEvG,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAMnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,2CAA2C,CAAC;AAEvG,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAMnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAKhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAMlF,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAKjC,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAGpE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,OAAO,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACjD,sBAAsB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;IAChE;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CAC/C;AA0BD,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAogBxB"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -14,7 +14,8 @@ import { createAccessLogWriter } from "./logging/access-log.js";
|
|
|
14
14
|
import { createAccessLogReader } from "./logging/access-reader.js";
|
|
15
15
|
import { deriveMasterKey, recoverServerOwner, } from "@opendatalabs/vana-sdk/node";
|
|
16
16
|
import { loadOrCreateServerAccount } from "./keys/server-account.js";
|
|
17
|
-
import { createServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
17
|
+
import { createRequestSigner, createServerSigner, } from "@opendatalabs/personal-server-ts-core/signing";
|
|
18
|
+
import { createGatewayLineageClient, } from "@opendatalabs/personal-server-ts-core/lineage";
|
|
18
19
|
import { createSyncCursor } from "./sync-cursor.js";
|
|
19
20
|
import { createSyncManager, } from "@opendatalabs/personal-server-ts-core/sync";
|
|
20
21
|
import { createVanaSyncStorageAdapter } from "@opendatalabs/personal-server-ts-core/storage/adapters";
|
|
@@ -152,6 +153,15 @@ export async function createServer(config, options) {
|
|
|
152
153
|
logger.warn({ err }, "Failed to download frpc binary - tunnel disabled");
|
|
153
154
|
}
|
|
154
155
|
}
|
|
156
|
+
// Derivative data: the gateway lineage client signs lineage reads with the
|
|
157
|
+
// server key (the gateway treats a registered server as the owner's) and
|
|
158
|
+
// registers derivatives with their lineage. Needs the server account.
|
|
159
|
+
const lineageGateway = serverAccount
|
|
160
|
+
? createGatewayLineageClient({
|
|
161
|
+
gatewayUrl: config.gateway.url,
|
|
162
|
+
requestSigner: createRequestSigner(serverAccount),
|
|
163
|
+
})
|
|
164
|
+
: undefined;
|
|
155
165
|
// --- Sync engine setup ---
|
|
156
166
|
let syncManager = null;
|
|
157
167
|
if (config.sync.enabled &&
|
|
@@ -176,6 +186,7 @@ export async function createServer(config, options) {
|
|
|
176
186
|
masterKey,
|
|
177
187
|
serverOwner,
|
|
178
188
|
logger,
|
|
189
|
+
lineageGateway,
|
|
179
190
|
};
|
|
180
191
|
const downloadDeps = {
|
|
181
192
|
storage: dataStorage,
|
|
@@ -263,6 +274,7 @@ export async function createServer(config, options) {
|
|
|
263
274
|
gatewayConfig: config.gateway,
|
|
264
275
|
paymentEnabled: config.payment.enabled,
|
|
265
276
|
gatewayUrl: config.gateway.url,
|
|
277
|
+
lineageGateway,
|
|
266
278
|
config,
|
|
267
279
|
accessLogWriter,
|
|
268
280
|
accessLogReader,
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,kBAAkB,GAEnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,+CAA+C,CAAC;AAEvD,OAAO,EACL,0BAA0B,GAE3B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,iBAAiB,GAElB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,EAAE,SAAS,EAAqB,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AA0CvE,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C,SAAS,wBAAwB,CAAC,UAAkB;IAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IACE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YACxB,MAAM,IAAI,CAAC;YACX,MAAM,IAAI,KAAK;YACf,MAAM,KAAK,UAAU,EACrB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;IACpC,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAoB,EACpB,OAA6B;IAE7B,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAE7B,MAAM,WAAW,GAAG,eAAe,CACjC,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,SAAS,IAAI,iBAAiB,CAC7D,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEpD,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,iBAAiB,CAAC;QACtB,WAAW;QACX,OAAO;QACP,UAAU;QACV,cAAc;QACd,UAAU;QACV,EAAE;QACF,MAAM;KACP,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAA4B,EAAE,OAAO,EAAE,CAAC;IAC9D,MAAM,WAAW,GAAG,qBAAqB,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAE9E,MAAM,aAAa,GACjB,OAAO,EAAE,aAAa,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpE,yEAAyE;IACzE,2EAA2E;IAC3E,wEAAwE;IACxE,wEAAwE;IACxE,8DAA8D;IAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,6DAA6D;IAC7D,MAAM,kBAAkB,GACtB,OAAO,EAAE,cAAc;QACtB,OAAO,CAAC,GAAG,CAAC,yBAAuD,CAAC;IACvE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,sBACT,CAAC;IAC5B,MAAM,iBAAiB,GAAG,eAAe;QACvC,CAAC,CAAC,mBAAmB,CACjB,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAE,KAAK,eAAe,EAAoB,CAC9C;QACH,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,WAAsC,CAAC;IAE3C,IAAI,aAAwC,CAAC;IAC7C,IAAI,YAAsC,CAAC;IAC3C,IAAI,QAAkC,CAAC;IAEvC,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,oBAAoB,GAAG,MAAM,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAC1E,WAAW,GAAG,oBAAoB,CAAC;QACnC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,4BAA4B;QACjE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,sCAAsC,CAAC,CAAC;QAC5E,IACE,iBAAiB;YACjB,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE;gBACrC,oBAAoB,CAAC,WAAW,EAAE,EACpC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9C,aAAa,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,EAC5D,+BAA+B,CAChC,CAAC;QAEF,YAAY,GAAG,kBAAkB,CAAC,aAAa,EAAE;YAC/C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;YAC/B,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;SACpC,CAAC,CAAC;QAEH,2EAA2E;QAC3E,QAAQ,GAAG;YACT,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;YAClC,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CACT,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,iEAAiE;IACjE,IAAI,WAAW,GAAuB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAClE,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,KAAK,CAC7B,wFAAwF,EACxF;gBACE,OAAO,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE;gBACxC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CACF,CAAC;YACF,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,WAAW,GAAG,KAAK,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,KAAK,CACV,8DAA8D,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,uFAAuF;IACvF,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,gBAAgB,CAAC,WAAW,EAAE;gBACnD,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,kDAAkD,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,cAAc,GAAmC,aAAa;QAClE,CAAC,CAAC,0BAA0B,CAAC;YACzB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;YAC9B,aAAa,EAAE,mBAAmB,CAAC,aAAa,CAAC;SAClD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEd,4BAA4B;IAC5B,IAAI,WAAW,GAAuB,IAAI,CAAC;IAE3C,IACE,MAAM,CAAC,IAAI,CAAC,OAAO;QACnB,kBAAkB;QAClB,WAAW;QACX,aAAa;QACb,YAAY,EACZ,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,cAAc,GAAG,4BAA4B,CAAC;YAClD,MAAM;YACN,WAAW;YACX,aAAa;SACd,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE;YAC9C,gBAAgB,EAAE,UAAU;SAC7B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,WAAW;YACpB,cAAc;YACd,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,YAAY;YACpB,SAAS;YACT,WAAW;YACX,MAAM;YACN,cAAc;SACf,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,WAAW;YACpB,cAAc;YACd,OAAO,EAAE,aAAa;YACtB,MAAM;YACN,SAAS;YACT,WAAW;YACX,MAAM;SACP,CAAC;QAEF,WAAW,GAAG,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE;YACxD,KAAK,CAAC,OAAO;gBACX,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAC9C,aAAa,CAAC,OAAO,CACtB,CAAC;oBACF,QAAS,CAAC,QAAQ,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;oBAC5C,IAAI,UAAU,EAAE,EAAE;wBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;oBACxC,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,cAAc;wBACtB,OAAO,EAAE,+CAA+C;qBACzD,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,+CAA+C,CAAC,CAAC;oBACtE,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,2BAA2B;wBACnC,OAAO,EAAE,sDAAsD;qBAChE,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QACH,WAAW,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAC1C,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEvD,qDAAqD;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,2DAA2D;IAC3D,MAAM,UAAU,GAAe,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC;IACpD,MAAM,iBAAiB,GAAG,SAAS;QACjC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEjD,0EAA0E;IAC1E,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,IAAI,4BAAgD,CAAC;IAErD,+DAA+D;IAC/D,IAAI,aAAwC,CAAC;IAE7C,oEAAoE;IACpE,yEAAyE;IACzE,qEAAqE;IACrE,uDAAuD;IACvD,IAAI,sBAAsB,GAAsC,GAAG,EAAE,GAAE,CAAC,CAAC;IACzE,IAAI,qBAAqB,GAAyC,IAAI,CAAC;IACvE,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,qBAAqB,GAAG,GAAG,EAAE;QACjC,IAAI,qBAAqB,EAAE,CAAC;YAC1B,YAAY,CAAC,qBAAqB,CAAC,CAAC;YACpC,qBAAqB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,GAAG,SAAS,CAAC;QACpB,MAAM;QACN,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,SAAS;QACT,YAAY;QACZ,gBAAgB;QAChB,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe;QACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC,4BAA4B;QACvD,WAAW;QACX,QAAQ;QACR,OAAO,EAAE,aAAa;QACtB,aAAa,EAAE,MAAM,CAAC,OAAO;QAC7B,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;QACtC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG;QAC9B,cAAc;QACd,MAAM;QACN,eAAe;QACf,eAAe;QACf,uBAAuB,EAAE,OAAO,EAAE,uBAAuB;QACzD,WAAW;QACX,SAAS;QACT,QAAQ;QACR,cAAc,EAAE,kBAAkB;QAClC,eAAe;QACf,WAAW;QACX,UAAU;QACV,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,IAAI;QACzD,mBAAmB,EAAE,OAAO,EAAE,mBAAmB;QACjD,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC;KACnE,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,gBAAgB,GAAG,IAAI,CAAC;QACxB,qBAAqB,EAAE,CAAC;QACxB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QACD,YAAY,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAkB;QAC7B,GAAG;QACH,MAAM;QACN,MAAM;QACN,SAAS;QACT,YAAY;QACZ,aAAa;QACb,eAAe;QACf,aAAa;QACb,YAAY;QACZ,WAAW;QACX,aAAa;QACb,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACrD,iBAAiB;QACjB,sBAAsB,EAAE,GAAG,EAAE,CAAC,4BAA4B;QAC1D,sBAAsB,EAAE,CAAC,MAAe,EAAE,EAAE;YAC1C,4BAA4B,GAAG,MAAM,CAAC;QACxC,CAAC;QACD,QAAQ;QACR,uBAAuB,EAAE,KAAK,IAAI,EAAE;YAClC,uDAAuD;YACvD,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAC9C,aAAa,CAAC,OAAO,CACtB,CAAC;oBACF,QAAQ,CAAC,QAAQ,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;gBAChD,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,CACT,4DAA4D,CAC7D,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CACT;wBACE,aAAa,EAAE,aAAa,CAAC,OAAO;wBACpC,SAAS,EAAE,aAAa,CAAC,SAAS;qBACnC,EACD,wFAAwF,CACzF,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,+CAA+C;YAC/C,IACE,MAAM,CAAC,MAAM,CAAC,OAAO;gBACrB,WAAW;gBACX,aAAa;gBACb,cAAc,EACd,CAAC;gBACD,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC/C,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;gBAEtC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;gBAE3B,IAAI,oBAAoB,GAAG,KAAK,CAAC;gBACjC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;oBAC/B,MAAM,OAAO,GAAG,aAAa,CAAC;oBAC9B,IAAI,CAAC,OAAO,IAAI,oBAAoB,IAAI,gBAAgB,EAAE,CAAC;wBACzD,OAAO;oBACT,CAAC;oBACD,oBAAoB,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;wBACpC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;wBACzC,IAAI,YAAY,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;4BACxC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;wBACxD,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,EACjD,oDAAoD,CACrD,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,EACP,8DAA8D,CAC/D,CAAC;wBACF,aAAa,GAAG,SAAS,CAAC;wBAC1B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;wBAClC,gEAAgE;wBAChE,8DAA8D;wBAC9D,mDAAmD;wBACnD,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;wBACvC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;oBAChC,CAAC;gBACH,CAAC,CAAC;gBAEF,+DAA+D;gBAC/D,oEAAoE;gBACpE,0CAA0C;gBAC1C,MAAM,wBAAwB,GAAG,GAAG,EAAE;oBACpC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;wBACtB,qBAAqB,GAAG,IAAI,CAAC;wBAC7B,IAAI,gBAAgB,EAAE,CAAC;4BACrB,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAC9C,aAAa,CAAC,OAAO,CACtB,CAAC;4BACF,IAAI,UAAU,EAAE,EAAE,EAAE,CAAC;gCACnB,IAAI,QAAQ,EAAE,CAAC;oCACb,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;gCACpC,CAAC;gCACD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gCAC9D,MAAM,aAAa,EAAE,CAAC;gCACtB,OAAO;4BACT,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,sCAAsC;wBACxC,CAAC;wBACD,IAAI,gBAAgB,EAAE,CAAC;4BACrB,OAAO;wBACT,CAAC;wBACD,MAAM,QAAQ,GACZ,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC3D,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;wBAChE,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;oBAClC,CAAC,CAAC;oBACF,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;oBAC7D,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;gBAClC,CAAC,CAAC;gBAEF,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE;oBACpC,IAAI,gBAAgB,EAAE,CAAC;wBACrB,OAAO;oBACT,CAAC;oBACD,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,QAAQ,EAAE,CAAC;4BACb,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;wBAC/B,CAAC;wBACD,iEAAiE;wBACjE,0DAA0D;wBAC1D,wCAAwC;wBACxC,qBAAqB,EAAE,CAAC;oBAC1B,CAAC;oBACD,KAAK,aAAa,EAAE,CAAC;gBACvB,CAAC,CAAC;gBAEF,IAAI,CAAC;oBACH,+DAA+D;oBAC/D,+DAA+D;oBAC/D,wDAAwD;oBACxD,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAC/B;wBACE,aAAa,EAAE,aAAa,CAAC,OAAO;wBACpC,YAAY,EAAE,WAAW;wBACzB,aAAa,EAAE,aAAa;wBAC5B,YAAY,EAAE,iBAAiB;4BAC7B,CAAC,CAAC;gCACE,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,iBAAiB,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;6BAC7C;4BACH,CAAC,CAAC,SAAS;wBACb,KAAK;wBACL,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;wBACpC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU;wBACpC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;qBAC9B,EACD,cAAc,CACf,CAAC;oBACF,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;oBACxB,mEAAmE;oBACnE,6DAA6D;oBAC7D,sCAAsC;oBACtC,eAAe,GAAG,GAAG,CAAC;oBAEtB,IAAI,QAAQ,EAAE,QAAQ,EAAE,CAAC;wBACvB,MAAM,aAAa,EAAE,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,GAAG,EAAE,EAClB,8EAA8E,CAC/E,CAAC;wBACF,wBAAwB,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CACT,EAAE,GAAG,EAAE,EACP,4DAA4D,CAC7D,CAAC;oBACF,aAAa,GAAG,SAAS,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CACT,kFAAkF,CACnF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO;KACR,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-log.d.ts","sourceRoot":"","sources":["../../src/logging/access-log.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"access-log.d.ts","sourceRoot":"","sources":["../../src/logging/access-log.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAUD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAiBtE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CORS for browser-based clients (allow all origins).
|
|
3
|
+
*
|
|
4
|
+
* A browser preflight only passes when every non-safelisted request header is
|
|
5
|
+
* listed in Access-Control-Allow-Headers, and a browser can only read a
|
|
6
|
+
* non-safelisted response header that is listed in
|
|
7
|
+
* Access-Control-Expose-Headers. Both lists therefore have to track every
|
|
8
|
+
* custom header the API reads or writes on a browser-reachable route; the
|
|
9
|
+
* Write API (delegated ingest) is the first path a builder app calls straight
|
|
10
|
+
* from the browser. Header names are case-insensitive (Fetch).
|
|
11
|
+
*/
|
|
12
|
+
/** Request headers the API reads that are not CORS-safelisted. */
|
|
13
|
+
export declare const CORS_ALLOW_HEADERS: readonly string[];
|
|
14
|
+
/** Response headers a browser client must be able to read back. */
|
|
15
|
+
export declare const CORS_EXPOSE_HEADERS: readonly string[];
|
|
16
|
+
export declare const CORS_ALLOW_METHODS: readonly string[];
|
|
17
|
+
export declare function corsMiddleware(): import("hono").MiddlewareHandler;
|
|
18
|
+
//# sourceMappingURL=cors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../src/middleware/cors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAa/C,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAIhD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF,wBAAgB,cAAc,qCAQ7B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CORS for browser-based clients (allow all origins).
|
|
3
|
+
*
|
|
4
|
+
* A browser preflight only passes when every non-safelisted request header is
|
|
5
|
+
* listed in Access-Control-Allow-Headers, and a browser can only read a
|
|
6
|
+
* non-safelisted response header that is listed in
|
|
7
|
+
* Access-Control-Expose-Headers. Both lists therefore have to track every
|
|
8
|
+
* custom header the API reads or writes on a browser-reachable route; the
|
|
9
|
+
* Write API (delegated ingest) is the first path a builder app calls straight
|
|
10
|
+
* from the browser. Header names are case-insensitive (Fetch).
|
|
11
|
+
*/
|
|
12
|
+
import { cors } from "hono/cors";
|
|
13
|
+
import { WRITE_SIGNATURE_HEADER } from "@opendatalabs/personal-server-ts-core/write";
|
|
14
|
+
/** Request headers the API reads that are not CORS-safelisted. */
|
|
15
|
+
export const CORS_ALLOW_HEADERS = [
|
|
16
|
+
"Content-Type",
|
|
17
|
+
"Authorization",
|
|
18
|
+
// Write API: builder-signed payload proof on delegated ingest
|
|
19
|
+
// (api-auth authorizeWrite -> verifyWriterAttribution).
|
|
20
|
+
WRITE_SIGNATURE_HEADER,
|
|
21
|
+
// Ingest hints (core handlePersonalServerDataRequest).
|
|
22
|
+
"X-Vana-Metadata",
|
|
23
|
+
"X-Filename",
|
|
24
|
+
"Content-Disposition",
|
|
25
|
+
// Granted / paid reads.
|
|
26
|
+
"X-PS-Grant-Id",
|
|
27
|
+
"X-PAYMENT",
|
|
28
|
+
];
|
|
29
|
+
/** Response headers a browser client must be able to read back. */
|
|
30
|
+
export const CORS_EXPOSE_HEADERS = [
|
|
31
|
+
"X-Vana-Metadata",
|
|
32
|
+
"X-PAYMENT-RESPONSE",
|
|
33
|
+
"Content-Disposition",
|
|
34
|
+
];
|
|
35
|
+
export const CORS_ALLOW_METHODS = [
|
|
36
|
+
"GET",
|
|
37
|
+
"POST",
|
|
38
|
+
"PUT",
|
|
39
|
+
"DELETE",
|
|
40
|
+
"OPTIONS",
|
|
41
|
+
];
|
|
42
|
+
export function corsMiddleware() {
|
|
43
|
+
return cors({
|
|
44
|
+
origin: "*",
|
|
45
|
+
allowHeaders: [...CORS_ALLOW_HEADERS],
|
|
46
|
+
exposeHeaders: [...CORS_EXPOSE_HEADERS],
|
|
47
|
+
allowMethods: [...CORS_ALLOW_METHODS],
|
|
48
|
+
maxAge: 86400,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=cors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../src/middleware/cors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAErF,kEAAkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,cAAc;IACd,eAAe;IACf,8DAA8D;IAC9D,wDAAwD;IACxD,sBAAsB;IACtB,uDAAuD;IACvD,iBAAiB;IACjB,YAAY;IACZ,qBAAqB;IACrB,wBAAwB;IACxB,eAAe;IACf,WAAW;CACZ,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,KAAK;IACL,MAAM;IACN,KAAK;IACL,QAAQ;IACR,SAAS;CACV,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC;QACV,MAAM,EAAE,GAAG;QACX,YAAY,EAAE,CAAC,GAAG,kBAAkB,CAAC;QACrC,aAAa,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACvC,YAAY,EAAE,CAAC,GAAG,kBAAkB,CAAC;QACrC,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC"}
|
package/dist/routes/data.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ import type { SyncManager } from "@opendatalabs/personal-server-ts-core/sync";
|
|
|
8
8
|
import type { DataStoragePort, RuntimeAvailabilityPort } from "@opendatalabs/personal-server-ts-core/ports";
|
|
9
9
|
import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
10
10
|
import type { TokenStore } from "../token-store.js";
|
|
11
|
+
import type { WriteProofReplayStore, WriteSessionStore } from "@opendatalabs/personal-server-ts-core/write";
|
|
12
|
+
import type { LineageGatewayPort } from "@opendatalabs/personal-server-ts-core/lineage";
|
|
11
13
|
import type { Logger } from "pino";
|
|
12
14
|
export interface DataRouteDeps {
|
|
13
15
|
indexManager: IndexManager;
|
|
@@ -42,6 +44,14 @@ export interface DataRouteDeps {
|
|
|
42
44
|
tokenStore?: TokenStore;
|
|
43
45
|
dataStorage?: DataStoragePort;
|
|
44
46
|
runtimeAvailability?: RuntimeAvailabilityPort;
|
|
47
|
+
/**
|
|
48
|
+
* Write API sessions (POST /v1/write/session). When present, the ingest
|
|
49
|
+
* endpoint accepts write-session bearer tokens for delegated builder
|
|
50
|
+
* writes; absent = owner-only ingest, unchanged.
|
|
51
|
+
*/
|
|
52
|
+
writeSessionStore?: WriteSessionStore;
|
|
53
|
+
/** Replay guard for per-write proofs; defaults to in-memory (api-auth). */
|
|
54
|
+
writeProofReplayStore?: WriteProofReplayStore;
|
|
45
55
|
/**
|
|
46
56
|
* Powers the RECORD_DATA_ACCESS attestation embedded in 402 challenges.
|
|
47
57
|
* When supplied alongside serverOwner + paymentEnabled, every challenge
|
|
@@ -55,6 +65,12 @@ export interface DataRouteDeps {
|
|
|
55
65
|
* by this server (not forged by a malicious builder).
|
|
56
66
|
*/
|
|
57
67
|
serverAddress?: `0x${string}`;
|
|
68
|
+
/**
|
|
69
|
+
* Gateway access for derivative data: lineage source lookups on write, the
|
|
70
|
+
* signed lineage read and the cascade delete walk. Absent = lineage writes
|
|
71
|
+
* can only cite local scopes; lineage read / cascade answer 503 / 501.
|
|
72
|
+
*/
|
|
73
|
+
lineageGateway?: LineageGatewayPort;
|
|
58
74
|
mountPath?: PersonalServerApiDispatchOptions["basePath"];
|
|
59
75
|
}
|
|
60
76
|
export declare function dataRoutes(deps: DataRouteDeps): Hono;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/routes/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC3C,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EACV,4BAA4B,EAC5B,aAAa,EACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAC7C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;IAChE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,gCAAgC,CAAC,UAAU,CAAC,CAAC;CAC1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/routes/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC3C,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EACV,4BAA4B,EAC5B,aAAa,EACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAQnC,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAC7C;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;IAChE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,SAAS,CAAC,EAAE,gCAAgC,CAAC,UAAU,CAAC,CAAC;CAC1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAsDpD"}
|
package/dist/routes/data.js
CHANGED
|
@@ -19,6 +19,8 @@ export function dataRoutes(deps) {
|
|
|
19
19
|
tokenStore: deps.tokenStore,
|
|
20
20
|
dataStorage,
|
|
21
21
|
runtimeAvailability: deps.runtimeAvailability,
|
|
22
|
+
writeSessionStore: deps.writeSessionStore,
|
|
23
|
+
writeProofReplayStore: deps.writeProofReplayStore,
|
|
22
24
|
});
|
|
23
25
|
app.use("/:scope", createBodyLimit(DATA_INGEST_MAX_SIZE));
|
|
24
26
|
app.all("*", (c) => handlePersonalServerDataRequest(c.req.raw, {
|
|
@@ -35,6 +37,7 @@ export function dataRoutes(deps) {
|
|
|
35
37
|
gatewayConfig: deps.gatewayConfig,
|
|
36
38
|
gatewayUrl: deps.gatewayUrl,
|
|
37
39
|
paymentEnabled: deps.paymentEnabled,
|
|
40
|
+
lineageGateway: deps.lineageGateway,
|
|
38
41
|
// Network identifier for the 402 challenge body. We use the chain
|
|
39
42
|
// id as the convention since the gateway is chain-scoped; clients
|
|
40
43
|
// dispatch on the (scheme, chainId) pair, not the human name.
|
package/dist/routes/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/routes/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,+BAA+B,GAGhC,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/routes/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,+BAA+B,GAGhC,MAAM,2CAA2C,CAAC;AAqBnD,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAiErD,MAAM,UAAU,UAAU,CAAC,IAAmB;IAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,MAAM,WAAW,GACf,IAAI,CAAC,WAAW;QAChB,qBAAqB,CAAC;YACpB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC,CAAC;IACL,MAAM,IAAI,GAAG,mBAAmB,CAAC;QAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW;QACX,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;KAClD,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CACjB,+BAA+B,CAC7B,CAAC,CAAC,GAAG,CAAC,GAAG,EACT;QACE,OAAO,EAAE,WAAW;QACpB,IAAI;QACJ,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI;QACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,kEAAkE;QAClE,kEAAkE;QAClE,8DAA8D;QAC9D,OAAO,EAAE,IAAI,CAAC,aAAa;YACzB,CAAC,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;YACtC,CAAC,CAAC,SAAS;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,EACD,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAC7B,CACF,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC"}
|