@opendatalabs/personal-server-ts-server 1.6.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/app.d.ts +3 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +1 -0
- 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/routes/data.d.ts +7 -0
- package/dist/routes/data.d.ts.map +1 -1
- package/dist/routes/data.js +1 -0
- package/dist/routes/data.js.map +1 -1
- package/dist/ui/ps-lite-debug.js +695 -125
- package/package.json +3 -3
package/dist/app.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { type WriteProofReplayStore, type WriteSessionStore } from "@opendatalab
|
|
|
11
11
|
import { McpActivityRecorder, type McpConnectionStore, type McpOAuthAuthorizationStore } from "@opendatalabs/personal-server-ts-core/mcp";
|
|
12
12
|
import type { SyncManager } from "@opendatalabs/personal-server-ts-core/sync";
|
|
13
13
|
import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
14
|
+
import type { LineageGatewayPort } from "@opendatalabs/personal-server-ts-core/lineage";
|
|
14
15
|
import type { DataStoragePort, RuntimeAvailabilityPort } from "@opendatalabs/personal-server-ts-core/ports";
|
|
15
16
|
import type { TokenStore } from "./token-store.js";
|
|
16
17
|
import type { Logger } from "pino";
|
|
@@ -58,6 +59,8 @@ export interface AppDeps {
|
|
|
58
59
|
* Off-by-default to keep dev / test setups frictionless.
|
|
59
60
|
*/
|
|
60
61
|
paymentEnabled?: boolean;
|
|
62
|
+
/** Derivative data: gateway lineage access for the data routes. */
|
|
63
|
+
lineageGateway?: LineageGatewayPort;
|
|
61
64
|
getTunnelStatus?: HealthDeps["getTunnelStatus"];
|
|
62
65
|
/**
|
|
63
66
|
* Invoked when the /ui/api registration route confirms the server is
|
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;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EACV,4BAA4B,EAC5B,aAAa,EACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIlE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACvB,MAAM,6CAA6C,CAAC;AAUrD,OAAO,EACL,mBAAmB,EAGnB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAChC,MAAM,2CAA2C,CAAC;AASnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,4BAA4B,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAChD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/app.js
CHANGED
|
@@ -62,6 +62,7 @@ export function createApp(deps) {
|
|
|
62
62
|
gatewayConfig: deps.gatewayConfig,
|
|
63
63
|
gatewayUrl: deps.gatewayUrl ?? deps.config?.gateway.url ?? deps.gatewayConfig?.url,
|
|
64
64
|
paymentEnabled: deps.paymentEnabled,
|
|
65
|
+
lineageGateway: deps.lineageGateway,
|
|
65
66
|
writeSessionStore,
|
|
66
67
|
writeProofReplayStore: deps.writeProofReplayStore,
|
|
67
68
|
mountPath: "/v1/data",
|
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,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAW7E,OAAO,EAAE,WAAW,EAAmB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EACL,+BAA+B,GAGhC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,wCAAwC,GAGzC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
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":"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"}
|
package/dist/routes/data.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { DataStoragePort, RuntimeAvailabilityPort } from "@opendatalabs/per
|
|
|
9
9
|
import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
10
10
|
import type { TokenStore } from "../token-store.js";
|
|
11
11
|
import type { WriteProofReplayStore, WriteSessionStore } from "@opendatalabs/personal-server-ts-core/write";
|
|
12
|
+
import type { LineageGatewayPort } from "@opendatalabs/personal-server-ts-core/lineage";
|
|
12
13
|
import type { Logger } from "pino";
|
|
13
14
|
export interface DataRouteDeps {
|
|
14
15
|
indexManager: IndexManager;
|
|
@@ -64,6 +65,12 @@ export interface DataRouteDeps {
|
|
|
64
65
|
* by this server (not forged by a malicious builder).
|
|
65
66
|
*/
|
|
66
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;
|
|
67
74
|
mountPath?: PersonalServerApiDispatchOptions["basePath"];
|
|
68
75
|
}
|
|
69
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,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,6CAA6C,CAAC;AACrD,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,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
|
@@ -37,6 +37,7 @@ export function dataRoutes(deps) {
|
|
|
37
37
|
gatewayConfig: deps.gatewayConfig,
|
|
38
38
|
gatewayUrl: deps.gatewayUrl,
|
|
39
39
|
paymentEnabled: deps.paymentEnabled,
|
|
40
|
+
lineageGateway: deps.lineageGateway,
|
|
40
41
|
// Network identifier for the 402 challenge body. We use the chain
|
|
41
42
|
// id as the convention since the gateway is chain-scoped; clients
|
|
42
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"}
|
package/dist/ui/ps-lite-debug.js
CHANGED
|
@@ -105536,6 +105536,17 @@ var GENERIC_PAYMENT_TYPES = {
|
|
|
105536
105536
|
]
|
|
105537
105537
|
};
|
|
105538
105538
|
|
|
105539
|
+
// ../core/dist/lineage/attestation.js
|
|
105540
|
+
var LINEAGE_ATTESTATION_TYPES = {
|
|
105541
|
+
LineageAttestation: [
|
|
105542
|
+
{ name: "ownerAddress", type: "address" },
|
|
105543
|
+
{ name: "scope", type: "string" },
|
|
105544
|
+
{ name: "expectedVersion", type: "uint256" },
|
|
105545
|
+
{ name: "dataHash", type: "bytes32" },
|
|
105546
|
+
{ name: "sources", type: "bytes32[]" }
|
|
105547
|
+
]
|
|
105548
|
+
};
|
|
105549
|
+
|
|
105539
105550
|
// ../core/dist/signing/signer.js
|
|
105540
105551
|
function createServerSigner(account, gatewayConfig) {
|
|
105541
105552
|
return {
|
|
@@ -105568,6 +105579,14 @@ function createServerSigner(account, gatewayConfig) {
|
|
|
105568
105579
|
message: msg
|
|
105569
105580
|
});
|
|
105570
105581
|
},
|
|
105582
|
+
async signLineageAttestation(msg) {
|
|
105583
|
+
return account.signTypedData({
|
|
105584
|
+
domain: dataRegistryDomain(gatewayConfig),
|
|
105585
|
+
types: LINEAGE_ATTESTATION_TYPES,
|
|
105586
|
+
primaryType: "LineageAttestation",
|
|
105587
|
+
message: { ...msg, sources: [...msg.sources] }
|
|
105588
|
+
});
|
|
105589
|
+
},
|
|
105571
105590
|
async signRecordDataAccess(msg) {
|
|
105572
105591
|
return account.signTypedData({
|
|
105573
105592
|
domain: dataRegistryDomain(gatewayConfig),
|
|
@@ -105579,6 +105598,488 @@ function createServerSigner(account, gatewayConfig) {
|
|
|
105579
105598
|
};
|
|
105580
105599
|
}
|
|
105581
105600
|
|
|
105601
|
+
// ../core/dist/signing/request-signer.js
|
|
105602
|
+
function createRequestSigner(account) {
|
|
105603
|
+
return {
|
|
105604
|
+
async signRequest(params) {
|
|
105605
|
+
return buildWeb3SignedHeader({
|
|
105606
|
+
signMessage: (message) => account.signMessage(message),
|
|
105607
|
+
aud: params.aud,
|
|
105608
|
+
method: params.method,
|
|
105609
|
+
uri: params.uri,
|
|
105610
|
+
body: params.body,
|
|
105611
|
+
grantId: params.grantId
|
|
105612
|
+
});
|
|
105613
|
+
}
|
|
105614
|
+
};
|
|
105615
|
+
}
|
|
105616
|
+
|
|
105617
|
+
// ../core/dist/errors/catalog.js
|
|
105618
|
+
var ProtocolError = class extends Error {
|
|
105619
|
+
code;
|
|
105620
|
+
errorCode;
|
|
105621
|
+
details;
|
|
105622
|
+
constructor(code, errorCode, message, details) {
|
|
105623
|
+
super(message);
|
|
105624
|
+
this.code = code;
|
|
105625
|
+
this.errorCode = errorCode;
|
|
105626
|
+
this.details = details;
|
|
105627
|
+
this.name = this.constructor.name;
|
|
105628
|
+
}
|
|
105629
|
+
toJSON() {
|
|
105630
|
+
return {
|
|
105631
|
+
error: {
|
|
105632
|
+
code: this.code,
|
|
105633
|
+
errorCode: this.errorCode,
|
|
105634
|
+
message: this.message,
|
|
105635
|
+
...this.details !== void 0 && { details: this.details }
|
|
105636
|
+
}
|
|
105637
|
+
};
|
|
105638
|
+
}
|
|
105639
|
+
};
|
|
105640
|
+
var MissingAuthError2 = class extends ProtocolError {
|
|
105641
|
+
constructor(details) {
|
|
105642
|
+
super(401, "MISSING_AUTH", "Missing authentication", details);
|
|
105643
|
+
}
|
|
105644
|
+
};
|
|
105645
|
+
var InvalidSignatureError3 = class extends ProtocolError {
|
|
105646
|
+
constructor(details) {
|
|
105647
|
+
super(401, "INVALID_SIGNATURE", "Invalid signature", details);
|
|
105648
|
+
}
|
|
105649
|
+
};
|
|
105650
|
+
var UnregisteredBuilderError = class extends ProtocolError {
|
|
105651
|
+
constructor(details) {
|
|
105652
|
+
super(401, "UNREGISTERED_BUILDER", "Unregistered builder", details);
|
|
105653
|
+
}
|
|
105654
|
+
};
|
|
105655
|
+
var NotOwnerError = class extends ProtocolError {
|
|
105656
|
+
constructor(details) {
|
|
105657
|
+
super(401, "NOT_OWNER", "Not the owner", details);
|
|
105658
|
+
}
|
|
105659
|
+
};
|
|
105660
|
+
var ExpiredTokenError2 = class extends ProtocolError {
|
|
105661
|
+
constructor(details) {
|
|
105662
|
+
super(401, "EXPIRED_TOKEN", "Token has expired", details);
|
|
105663
|
+
}
|
|
105664
|
+
};
|
|
105665
|
+
var GrantRequiredError = class extends ProtocolError {
|
|
105666
|
+
constructor(details) {
|
|
105667
|
+
super(403, "GRANT_REQUIRED", "Grant required", details);
|
|
105668
|
+
}
|
|
105669
|
+
};
|
|
105670
|
+
var GrantExpiredError = class extends ProtocolError {
|
|
105671
|
+
constructor(details) {
|
|
105672
|
+
super(403, "GRANT_EXPIRED", "Grant has expired", details);
|
|
105673
|
+
}
|
|
105674
|
+
};
|
|
105675
|
+
var GrantRevokedError = class extends ProtocolError {
|
|
105676
|
+
constructor(details) {
|
|
105677
|
+
super(403, "GRANT_REVOKED", "Grant has been revoked", details);
|
|
105678
|
+
}
|
|
105679
|
+
};
|
|
105680
|
+
var ScopeMismatchError = class extends ProtocolError {
|
|
105681
|
+
constructor(details) {
|
|
105682
|
+
super(403, "SCOPE_MISMATCH", "Scope not granted", details);
|
|
105683
|
+
}
|
|
105684
|
+
};
|
|
105685
|
+
var GrantOwnerMismatchError = class extends ProtocolError {
|
|
105686
|
+
constructor(details) {
|
|
105687
|
+
super(403, "GRANT_OWNER_MISMATCH", "Grant was not issued by this server's owner", details);
|
|
105688
|
+
}
|
|
105689
|
+
};
|
|
105690
|
+
var PsUnavailableError = class extends ProtocolError {
|
|
105691
|
+
constructor(details) {
|
|
105692
|
+
super(503, "PS_UNAVAILABLE", "Personal Server runtime unavailable", details);
|
|
105693
|
+
}
|
|
105694
|
+
};
|
|
105695
|
+
var ServerNotConfiguredError = class extends ProtocolError {
|
|
105696
|
+
constructor(details) {
|
|
105697
|
+
super(500, "SERVER_NOT_CONFIGURED", "Server is not configured", details);
|
|
105698
|
+
}
|
|
105699
|
+
};
|
|
105700
|
+
var LineageInvalidError = class extends ProtocolError {
|
|
105701
|
+
constructor(message, details) {
|
|
105702
|
+
super(400, "LINEAGE_INVALID", message, details);
|
|
105703
|
+
}
|
|
105704
|
+
};
|
|
105705
|
+
var LineageScopeUnderSourcePrefixError = class extends ProtocolError {
|
|
105706
|
+
constructor(details) {
|
|
105707
|
+
super(400, "LINEAGE_SCOPE_UNDER_SOURCE_PREFIX", `Derived scope "${details.scope}" shares its first segment with source scope "${details.sourceScope}"; a wildcard grant on that namespace would read both. Name derivatives under their own namespace.`, details);
|
|
105708
|
+
}
|
|
105709
|
+
};
|
|
105710
|
+
var LineageSourceUnknownError = class extends ProtocolError {
|
|
105711
|
+
constructor(details) {
|
|
105712
|
+
super(422, "LINEAGE_SOURCE_UNKNOWN", "One or more lineage sources are not data points of this owner", details);
|
|
105713
|
+
}
|
|
105714
|
+
};
|
|
105715
|
+
var LineageSourceLookupFailedError = class extends ProtocolError {
|
|
105716
|
+
constructor(details) {
|
|
105717
|
+
super(502, "LINEAGE_SOURCE_LOOKUP_FAILED", "Could not resolve a lineage source at the gateway", details);
|
|
105718
|
+
}
|
|
105719
|
+
};
|
|
105720
|
+
var LineageUnavailableError = class extends ProtocolError {
|
|
105721
|
+
constructor(details) {
|
|
105722
|
+
super(503, "LINEAGE_UNAVAILABLE", "This server is not configured to reach the gateway lineage graph (gateway URL or server signing key missing)", details);
|
|
105723
|
+
}
|
|
105724
|
+
};
|
|
105725
|
+
var LineageGatewayError = class extends ProtocolError {
|
|
105726
|
+
constructor(details) {
|
|
105727
|
+
super(502, "LINEAGE_GATEWAY_ERROR", `Gateway lineage request failed with status ${details.status}`, details);
|
|
105728
|
+
}
|
|
105729
|
+
};
|
|
105730
|
+
var LineageCascadeUnavailableError = class extends ProtocolError {
|
|
105731
|
+
constructor(details) {
|
|
105732
|
+
super(501, "LINEAGE_CASCADE_UNAVAILABLE", "DELETE ?cascade=lineage is specified but not implemented yet: it needs the durable (tombstone) deletion of every derivative at the gateway, which this server cannot perform. Delete scopes one at a time.", details);
|
|
105733
|
+
}
|
|
105734
|
+
};
|
|
105735
|
+
var InvalidCascadeError = class extends ProtocolError {
|
|
105736
|
+
constructor(details) {
|
|
105737
|
+
super(400, "INVALID_CASCADE", 'Unsupported cascade mode; the only supported value is "lineage"', details);
|
|
105738
|
+
}
|
|
105739
|
+
};
|
|
105740
|
+
|
|
105741
|
+
// ../core/dist/sync/data-point-id.js
|
|
105742
|
+
function computeDataPointId(ownerAddress, scope) {
|
|
105743
|
+
return keccak256(encodeAbiParameters([
|
|
105744
|
+
{ name: "ownerAddress", type: "address" },
|
|
105745
|
+
{ name: "scope", type: "string" }
|
|
105746
|
+
], [ownerAddress.toLowerCase(), scope]));
|
|
105747
|
+
}
|
|
105748
|
+
|
|
105749
|
+
// ../core/dist/lineage/lineage.js
|
|
105750
|
+
var LINEAGE_KEY = "$lineage";
|
|
105751
|
+
var LINEAGE_FIELD = "lineage";
|
|
105752
|
+
var MAX_LINEAGE_SOURCES = 256;
|
|
105753
|
+
var LOCAL_SCOPE_SCAN_PAGE = 1e3;
|
|
105754
|
+
var BYTES32_HEX = /^0x[0-9a-fA-F]{64}$/;
|
|
105755
|
+
function isRecord(value) {
|
|
105756
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
105757
|
+
}
|
|
105758
|
+
function hasReservedLineageKey(data) {
|
|
105759
|
+
return Object.prototype.hasOwnProperty.call(data, LINEAGE_KEY);
|
|
105760
|
+
}
|
|
105761
|
+
function stampLineage(data, lineage) {
|
|
105762
|
+
return { ...data, [LINEAGE_KEY]: lineage };
|
|
105763
|
+
}
|
|
105764
|
+
var StoredLineageMalformedError = class extends Error {
|
|
105765
|
+
constructor(detail) {
|
|
105766
|
+
super(`Stored $lineage is malformed: ${detail}`);
|
|
105767
|
+
this.name = "StoredLineageMalformedError";
|
|
105768
|
+
}
|
|
105769
|
+
};
|
|
105770
|
+
function readStoredLineage(data) {
|
|
105771
|
+
if (!isRecord(data) || !(LINEAGE_KEY in data))
|
|
105772
|
+
return null;
|
|
105773
|
+
const value = data[LINEAGE_KEY];
|
|
105774
|
+
if (!isRecord(value)) {
|
|
105775
|
+
throw new StoredLineageMalformedError("not an object");
|
|
105776
|
+
}
|
|
105777
|
+
const sources = value.sources;
|
|
105778
|
+
if (!Array.isArray(sources) || !sources.every((id2) => typeof id2 === "string" && BYTES32_HEX.test(id2))) {
|
|
105779
|
+
throw new StoredLineageMalformedError("sources is not a list of bytes32 ids");
|
|
105780
|
+
}
|
|
105781
|
+
if (typeof value.writtenAt !== "string") {
|
|
105782
|
+
throw new StoredLineageMalformedError("writtenAt is not a string");
|
|
105783
|
+
}
|
|
105784
|
+
return {
|
|
105785
|
+
sources: sources.map((id2) => id2.toLowerCase()),
|
|
105786
|
+
writtenAt: value.writtenAt
|
|
105787
|
+
};
|
|
105788
|
+
}
|
|
105789
|
+
function extractLineageField(container) {
|
|
105790
|
+
if (!isRecord(container))
|
|
105791
|
+
return void 0;
|
|
105792
|
+
return container[LINEAGE_FIELD];
|
|
105793
|
+
}
|
|
105794
|
+
function parseLineageSources(value) {
|
|
105795
|
+
if (!Array.isArray(value)) {
|
|
105796
|
+
throw new LineageInvalidError(`${LINEAGE_FIELD} must be an array of data point ids (0x-prefixed 32-byte hex)`);
|
|
105797
|
+
}
|
|
105798
|
+
if (value.length > MAX_LINEAGE_SOURCES) {
|
|
105799
|
+
throw new LineageInvalidError(`${LINEAGE_FIELD} lists ${value.length} sources; the maximum is ${MAX_LINEAGE_SOURCES}`, { max: MAX_LINEAGE_SOURCES, count: value.length });
|
|
105800
|
+
}
|
|
105801
|
+
const seen = /* @__PURE__ */ new Set();
|
|
105802
|
+
const sources = [];
|
|
105803
|
+
for (const entry of value) {
|
|
105804
|
+
if (typeof entry !== "string" || !BYTES32_HEX.test(entry)) {
|
|
105805
|
+
throw new LineageInvalidError(`${LINEAGE_FIELD} entries must be 0x-prefixed 32-byte hex data point ids`, { entry: typeof entry === "string" ? entry : typeof entry });
|
|
105806
|
+
}
|
|
105807
|
+
const id2 = entry.toLowerCase();
|
|
105808
|
+
if (seen.has(id2)) {
|
|
105809
|
+
throw new LineageInvalidError(`${LINEAGE_FIELD} lists the same source twice`, { duplicate: id2 });
|
|
105810
|
+
}
|
|
105811
|
+
seen.add(id2);
|
|
105812
|
+
sources.push(id2);
|
|
105813
|
+
}
|
|
105814
|
+
return sources;
|
|
105815
|
+
}
|
|
105816
|
+
function scopeNamespace(scope) {
|
|
105817
|
+
const dot = scope.indexOf(".");
|
|
105818
|
+
return dot === -1 ? scope : scope.slice(0, dot);
|
|
105819
|
+
}
|
|
105820
|
+
function derivedScopeViolatesNaming(derivedScope, sourceScope) {
|
|
105821
|
+
return scopeNamespace(derivedScope) === scopeNamespace(sourceScope);
|
|
105822
|
+
}
|
|
105823
|
+
function assertDerivedScopeNaming(derivedScope, sourceScopes) {
|
|
105824
|
+
for (const sourceScope of sourceScopes) {
|
|
105825
|
+
if (derivedScopeViolatesNaming(derivedScope, sourceScope)) {
|
|
105826
|
+
throw new LineageScopeUnderSourcePrefixError({
|
|
105827
|
+
scope: derivedScope,
|
|
105828
|
+
sourceScope
|
|
105829
|
+
});
|
|
105830
|
+
}
|
|
105831
|
+
}
|
|
105832
|
+
}
|
|
105833
|
+
async function resolveLineageSources(input) {
|
|
105834
|
+
const ownId = computeDataPointId(input.serverOwner, input.scope);
|
|
105835
|
+
const self2 = input.sources.find((id2) => id2 === ownId);
|
|
105836
|
+
if (self2) {
|
|
105837
|
+
throw new LineageInvalidError("A record cannot list its own data point as a lineage source", { dataPointId: self2 });
|
|
105838
|
+
}
|
|
105839
|
+
const local = localScopesById(input.storage, input.serverOwner, new Set(input.sources));
|
|
105840
|
+
const resolved = [];
|
|
105841
|
+
const unknown2 = [];
|
|
105842
|
+
for (const dataPointId of input.sources) {
|
|
105843
|
+
const localScope = local.get(dataPointId);
|
|
105844
|
+
if (localScope !== void 0) {
|
|
105845
|
+
resolved.push({
|
|
105846
|
+
dataPointId,
|
|
105847
|
+
scope: localScope,
|
|
105848
|
+
version: null,
|
|
105849
|
+
deletedAt: null
|
|
105850
|
+
});
|
|
105851
|
+
continue;
|
|
105852
|
+
}
|
|
105853
|
+
if (!input.gateway) {
|
|
105854
|
+
unknown2.push(dataPointId);
|
|
105855
|
+
continue;
|
|
105856
|
+
}
|
|
105857
|
+
let record2;
|
|
105858
|
+
try {
|
|
105859
|
+
record2 = await input.gateway.getDataPoint(dataPointId);
|
|
105860
|
+
} catch (err2) {
|
|
105861
|
+
throw new LineageSourceLookupFailedError({
|
|
105862
|
+
dataPointId,
|
|
105863
|
+
error: err2 instanceof Error ? err2.message : String(err2)
|
|
105864
|
+
});
|
|
105865
|
+
}
|
|
105866
|
+
if (!record2 || record2.ownerAddress.toLowerCase() !== input.serverOwner.toLowerCase()) {
|
|
105867
|
+
unknown2.push(dataPointId);
|
|
105868
|
+
continue;
|
|
105869
|
+
}
|
|
105870
|
+
resolved.push({
|
|
105871
|
+
dataPointId,
|
|
105872
|
+
scope: record2.scope,
|
|
105873
|
+
version: record2.version,
|
|
105874
|
+
deletedAt: record2.deletedAt
|
|
105875
|
+
});
|
|
105876
|
+
}
|
|
105877
|
+
if (unknown2.length > 0) {
|
|
105878
|
+
throw new LineageSourceUnknownError({ unknown: unknown2 });
|
|
105879
|
+
}
|
|
105880
|
+
return resolved;
|
|
105881
|
+
}
|
|
105882
|
+
function localScopesById(storage, serverOwner, wanted) {
|
|
105883
|
+
const byId = /* @__PURE__ */ new Map();
|
|
105884
|
+
for (let offset = 0; ; offset += LOCAL_SCOPE_SCAN_PAGE) {
|
|
105885
|
+
const { scopes, total } = storage.listScopes({
|
|
105886
|
+
limit: LOCAL_SCOPE_SCAN_PAGE,
|
|
105887
|
+
offset
|
|
105888
|
+
});
|
|
105889
|
+
for (const summary of scopes) {
|
|
105890
|
+
const id2 = computeDataPointId(serverOwner, summary.scope);
|
|
105891
|
+
if (wanted.has(id2))
|
|
105892
|
+
byId.set(id2, summary.scope);
|
|
105893
|
+
}
|
|
105894
|
+
if (byId.size === wanted.size || scopes.length === 0 || offset + scopes.length >= total) {
|
|
105895
|
+
break;
|
|
105896
|
+
}
|
|
105897
|
+
}
|
|
105898
|
+
return byId;
|
|
105899
|
+
}
|
|
105900
|
+
async function prepareLineage(input) {
|
|
105901
|
+
const sources = parseLineageSources(input.field);
|
|
105902
|
+
if (!input.serverOwner) {
|
|
105903
|
+
throw new ServerNotConfiguredError({
|
|
105904
|
+
reason: "serverOwner is required to validate lineage sources"
|
|
105905
|
+
});
|
|
105906
|
+
}
|
|
105907
|
+
const resolved = await resolveLineageSources({
|
|
105908
|
+
scope: input.scope,
|
|
105909
|
+
sources,
|
|
105910
|
+
serverOwner: input.serverOwner,
|
|
105911
|
+
storage: input.storage,
|
|
105912
|
+
gateway: input.gateway
|
|
105913
|
+
});
|
|
105914
|
+
assertDerivedScopeNaming(input.scope, resolved.map((source) => source.scope));
|
|
105915
|
+
return { sources, writtenAt: input.now().toISOString() };
|
|
105916
|
+
}
|
|
105917
|
+
|
|
105918
|
+
// ../core/dist/lineage/gateway.js
|
|
105919
|
+
function isRecord2(value) {
|
|
105920
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
105921
|
+
}
|
|
105922
|
+
function isLineageNode(value) {
|
|
105923
|
+
if (!isRecord2(value))
|
|
105924
|
+
return false;
|
|
105925
|
+
if (value.redacted === true) {
|
|
105926
|
+
return Object.keys(value).length === 1;
|
|
105927
|
+
}
|
|
105928
|
+
if (typeof value.dataPointId !== "string")
|
|
105929
|
+
return false;
|
|
105930
|
+
return typeof value.scope === "string" && typeof value.version === "string" && (value.deletedAt === null || typeof value.deletedAt === "string");
|
|
105931
|
+
}
|
|
105932
|
+
function isGatewayProof(value) {
|
|
105933
|
+
return isRecord2(value) && typeof value.userSignature === "string" && typeof value.gatewaySignature === "string" && typeof value.timestamp === "number" && typeof value.status === "string" && (value.estimatedConfirmation === null || typeof value.estimatedConfirmation === "string") && (value.chainBlockHeight === null || typeof value.chainBlockHeight === "number");
|
|
105934
|
+
}
|
|
105935
|
+
function derivesDataPointId(id2, ownerAddress, scope) {
|
|
105936
|
+
try {
|
|
105937
|
+
return computeDataPointId(ownerAddress, scope).toLowerCase() === id2.toLowerCase();
|
|
105938
|
+
} catch {
|
|
105939
|
+
return false;
|
|
105940
|
+
}
|
|
105941
|
+
}
|
|
105942
|
+
function parseLineageView(value) {
|
|
105943
|
+
if (!isRecord2(value) || typeof value.dataPointId !== "string" || typeof value.ownerAddress !== "string" || typeof value.scope !== "string" || typeof value.version !== "string" || !(value.deletedAt === null || typeof value.deletedAt === "string") || !Array.isArray(value.sources) || !value.sources.every(isLineageNode) || !Array.isArray(value.derivatives) || !value.derivatives.every(isLineageNode) || !(value.grantId === void 0 || typeof value.grantId === "string") || !(value.derivativesTruncated === void 0 || value.derivativesTruncated === true)) {
|
|
105944
|
+
return null;
|
|
105945
|
+
}
|
|
105946
|
+
return value;
|
|
105947
|
+
}
|
|
105948
|
+
function createGatewayLineageClient(options) {
|
|
105949
|
+
const base = options.gatewayUrl.replace(/\/+$/, "");
|
|
105950
|
+
const origin = new URL(base).origin;
|
|
105951
|
+
const doFetch = options.fetch ?? fetch;
|
|
105952
|
+
async function readJson(res) {
|
|
105953
|
+
try {
|
|
105954
|
+
return await res.json();
|
|
105955
|
+
} catch {
|
|
105956
|
+
return null;
|
|
105957
|
+
}
|
|
105958
|
+
}
|
|
105959
|
+
return {
|
|
105960
|
+
async getDataPoint(dataPointId) {
|
|
105961
|
+
const res = await doFetch(`${base}/v1/data/${encodeURIComponent(dataPointId)}?includeDeleted=true`);
|
|
105962
|
+
if (res.status === 404)
|
|
105963
|
+
return null;
|
|
105964
|
+
if (!res.ok) {
|
|
105965
|
+
throw new Error(`Gateway error: ${res.status} ${res.statusText}`);
|
|
105966
|
+
}
|
|
105967
|
+
const body = await readJson(res);
|
|
105968
|
+
const data = isRecord2(body) ? body.data : void 0;
|
|
105969
|
+
if (!isRecord2(data) || typeof data.id !== "string" || typeof data.ownerAddress !== "string" || typeof data.scope !== "string" || typeof data.expectedVersion !== "string") {
|
|
105970
|
+
throw new Error("Gateway error: malformed data point response");
|
|
105971
|
+
}
|
|
105972
|
+
if (data.id.toLowerCase() !== dataPointId.toLowerCase()) {
|
|
105973
|
+
throw new Error(`Gateway error: data point response is for ${data.id}, requested ${dataPointId}`);
|
|
105974
|
+
}
|
|
105975
|
+
if (!derivesDataPointId(data.id, data.ownerAddress, data.scope)) {
|
|
105976
|
+
throw new Error(`Gateway error: data point ${data.id} does not derive from its owner and scope`);
|
|
105977
|
+
}
|
|
105978
|
+
return {
|
|
105979
|
+
dataPointId: data.id,
|
|
105980
|
+
ownerAddress: data.ownerAddress,
|
|
105981
|
+
scope: data.scope,
|
|
105982
|
+
version: data.expectedVersion,
|
|
105983
|
+
deletedAt: typeof data.deletedAt === "string" ? data.deletedAt : null
|
|
105984
|
+
};
|
|
105985
|
+
},
|
|
105986
|
+
async getLineage(input) {
|
|
105987
|
+
if (!options.requestSigner) {
|
|
105988
|
+
throw new LineageUnavailableError({ reason: "no request signer" });
|
|
105989
|
+
}
|
|
105990
|
+
const uri = `/v1/data/${input.dataPointId.toLowerCase()}/lineage` + (input.version !== void 0 ? `/${input.version}` : "");
|
|
105991
|
+
const authorization = await options.requestSigner.signRequest({
|
|
105992
|
+
aud: origin,
|
|
105993
|
+
method: "GET",
|
|
105994
|
+
uri,
|
|
105995
|
+
grantId: input.grantId?.toLowerCase()
|
|
105996
|
+
});
|
|
105997
|
+
const res = await doFetch(`${base}${uri}`, {
|
|
105998
|
+
headers: { Authorization: authorization }
|
|
105999
|
+
});
|
|
106000
|
+
const body = await readJson(res);
|
|
106001
|
+
if (!res.ok)
|
|
106002
|
+
return { ok: false, status: res.status, body };
|
|
106003
|
+
const data = parseLineageView(isRecord2(body) ? body.data : void 0);
|
|
106004
|
+
const proof = isRecord2(body) ? body.proof : void 0;
|
|
106005
|
+
if (!data || !isGatewayProof(proof)) {
|
|
106006
|
+
return {
|
|
106007
|
+
ok: false,
|
|
106008
|
+
status: res.status,
|
|
106009
|
+
body: { error: "malformed lineage response", received: body }
|
|
106010
|
+
};
|
|
106011
|
+
}
|
|
106012
|
+
const requestedId = input.dataPointId.toLowerCase();
|
|
106013
|
+
const requestedGrant = input.grantId?.toLowerCase();
|
|
106014
|
+
const servedGrant = data.grantId?.toLowerCase();
|
|
106015
|
+
const viewMismatch = data.dataPointId.toLowerCase() !== requestedId || input.version !== void 0 && data.version !== input.version || requestedGrant !== servedGrant;
|
|
106016
|
+
if (viewMismatch) {
|
|
106017
|
+
return {
|
|
106018
|
+
ok: false,
|
|
106019
|
+
status: res.status,
|
|
106020
|
+
body: {
|
|
106021
|
+
error: "lineage response does not match the requested view",
|
|
106022
|
+
requested: {
|
|
106023
|
+
dataPointId: requestedId,
|
|
106024
|
+
version: input.version,
|
|
106025
|
+
grantId: requestedGrant
|
|
106026
|
+
},
|
|
106027
|
+
received: {
|
|
106028
|
+
dataPointId: data.dataPointId,
|
|
106029
|
+
version: data.version,
|
|
106030
|
+
grantId: servedGrant
|
|
106031
|
+
}
|
|
106032
|
+
}
|
|
106033
|
+
};
|
|
106034
|
+
}
|
|
106035
|
+
if (!derivesDataPointId(data.dataPointId, data.ownerAddress, data.scope)) {
|
|
106036
|
+
return {
|
|
106037
|
+
ok: false,
|
|
106038
|
+
status: res.status,
|
|
106039
|
+
body: {
|
|
106040
|
+
error: "lineage view does not derive from its owner and scope",
|
|
106041
|
+
received: {
|
|
106042
|
+
dataPointId: data.dataPointId,
|
|
106043
|
+
ownerAddress: data.ownerAddress,
|
|
106044
|
+
scope: data.scope
|
|
106045
|
+
}
|
|
106046
|
+
}
|
|
106047
|
+
};
|
|
106048
|
+
}
|
|
106049
|
+
return { ok: true, data, proof };
|
|
106050
|
+
},
|
|
106051
|
+
async registerDataPoint(params) {
|
|
106052
|
+
const res = await doFetch(`${base}/v1/data`, {
|
|
106053
|
+
method: "POST",
|
|
106054
|
+
headers: {
|
|
106055
|
+
"Content-Type": "application/json",
|
|
106056
|
+
Authorization: `Web3Signed ${params.signature}`
|
|
106057
|
+
},
|
|
106058
|
+
body: JSON.stringify({
|
|
106059
|
+
ownerAddress: params.ownerAddress,
|
|
106060
|
+
scope: params.scope,
|
|
106061
|
+
dataHash: params.dataHash,
|
|
106062
|
+
metadataHash: params.metadataHash,
|
|
106063
|
+
expectedVersion: params.expectedVersion,
|
|
106064
|
+
lineage: [...params.lineage],
|
|
106065
|
+
lineageSignature: params.lineageSignature
|
|
106066
|
+
})
|
|
106067
|
+
});
|
|
106068
|
+
if (!res.ok) {
|
|
106069
|
+
const body2 = await readJson(res);
|
|
106070
|
+
const detail = isRecord2(body2) && typeof body2.error === "string" && body2.error || res.statusText;
|
|
106071
|
+
throw new Error(`Gateway error: ${res.status} ${detail}`);
|
|
106072
|
+
}
|
|
106073
|
+
const body = await readJson(res);
|
|
106074
|
+
const record2 = isRecord2(body) ? body : {};
|
|
106075
|
+
return {
|
|
106076
|
+
dataPointId: typeof record2.dataPointId === "string" ? record2.dataPointId : typeof record2.id === "string" ? record2.id : void 0,
|
|
106077
|
+
expectedVersion: typeof record2.expectedVersion === "string" ? record2.expectedVersion : void 0
|
|
106078
|
+
};
|
|
106079
|
+
}
|
|
106080
|
+
};
|
|
106081
|
+
}
|
|
106082
|
+
|
|
105582
106083
|
// ../lite/node_modules/@opendatalabs/vana-sdk/dist/index.browser.js
|
|
105583
106084
|
init_hmac();
|
|
105584
106085
|
init_sha2();
|
|
@@ -109588,90 +110089,6 @@ async function loadOrCreatePsLiteServerIdentity(params) {
|
|
|
109588
110089
|
return { persisted, account };
|
|
109589
110090
|
}
|
|
109590
110091
|
|
|
109591
|
-
// ../core/dist/errors/catalog.js
|
|
109592
|
-
var ProtocolError = class extends Error {
|
|
109593
|
-
code;
|
|
109594
|
-
errorCode;
|
|
109595
|
-
details;
|
|
109596
|
-
constructor(code, errorCode, message, details) {
|
|
109597
|
-
super(message);
|
|
109598
|
-
this.code = code;
|
|
109599
|
-
this.errorCode = errorCode;
|
|
109600
|
-
this.details = details;
|
|
109601
|
-
this.name = this.constructor.name;
|
|
109602
|
-
}
|
|
109603
|
-
toJSON() {
|
|
109604
|
-
return {
|
|
109605
|
-
error: {
|
|
109606
|
-
code: this.code,
|
|
109607
|
-
errorCode: this.errorCode,
|
|
109608
|
-
message: this.message,
|
|
109609
|
-
...this.details !== void 0 && { details: this.details }
|
|
109610
|
-
}
|
|
109611
|
-
};
|
|
109612
|
-
}
|
|
109613
|
-
};
|
|
109614
|
-
var MissingAuthError2 = class extends ProtocolError {
|
|
109615
|
-
constructor(details) {
|
|
109616
|
-
super(401, "MISSING_AUTH", "Missing authentication", details);
|
|
109617
|
-
}
|
|
109618
|
-
};
|
|
109619
|
-
var InvalidSignatureError3 = class extends ProtocolError {
|
|
109620
|
-
constructor(details) {
|
|
109621
|
-
super(401, "INVALID_SIGNATURE", "Invalid signature", details);
|
|
109622
|
-
}
|
|
109623
|
-
};
|
|
109624
|
-
var UnregisteredBuilderError = class extends ProtocolError {
|
|
109625
|
-
constructor(details) {
|
|
109626
|
-
super(401, "UNREGISTERED_BUILDER", "Unregistered builder", details);
|
|
109627
|
-
}
|
|
109628
|
-
};
|
|
109629
|
-
var NotOwnerError = class extends ProtocolError {
|
|
109630
|
-
constructor(details) {
|
|
109631
|
-
super(401, "NOT_OWNER", "Not the owner", details);
|
|
109632
|
-
}
|
|
109633
|
-
};
|
|
109634
|
-
var ExpiredTokenError2 = class extends ProtocolError {
|
|
109635
|
-
constructor(details) {
|
|
109636
|
-
super(401, "EXPIRED_TOKEN", "Token has expired", details);
|
|
109637
|
-
}
|
|
109638
|
-
};
|
|
109639
|
-
var GrantRequiredError = class extends ProtocolError {
|
|
109640
|
-
constructor(details) {
|
|
109641
|
-
super(403, "GRANT_REQUIRED", "Grant required", details);
|
|
109642
|
-
}
|
|
109643
|
-
};
|
|
109644
|
-
var GrantExpiredError = class extends ProtocolError {
|
|
109645
|
-
constructor(details) {
|
|
109646
|
-
super(403, "GRANT_EXPIRED", "Grant has expired", details);
|
|
109647
|
-
}
|
|
109648
|
-
};
|
|
109649
|
-
var GrantRevokedError = class extends ProtocolError {
|
|
109650
|
-
constructor(details) {
|
|
109651
|
-
super(403, "GRANT_REVOKED", "Grant has been revoked", details);
|
|
109652
|
-
}
|
|
109653
|
-
};
|
|
109654
|
-
var ScopeMismatchError = class extends ProtocolError {
|
|
109655
|
-
constructor(details) {
|
|
109656
|
-
super(403, "SCOPE_MISMATCH", "Scope not granted", details);
|
|
109657
|
-
}
|
|
109658
|
-
};
|
|
109659
|
-
var GrantOwnerMismatchError = class extends ProtocolError {
|
|
109660
|
-
constructor(details) {
|
|
109661
|
-
super(403, "GRANT_OWNER_MISMATCH", "Grant was not issued by this server's owner", details);
|
|
109662
|
-
}
|
|
109663
|
-
};
|
|
109664
|
-
var PsUnavailableError = class extends ProtocolError {
|
|
109665
|
-
constructor(details) {
|
|
109666
|
-
super(503, "PS_UNAVAILABLE", "Personal Server runtime unavailable", details);
|
|
109667
|
-
}
|
|
109668
|
-
};
|
|
109669
|
-
var ServerNotConfiguredError = class extends ProtocolError {
|
|
109670
|
-
constructor(details) {
|
|
109671
|
-
super(500, "SERVER_NOT_CONFIGURED", "Server is not configured", details);
|
|
109672
|
-
}
|
|
109673
|
-
};
|
|
109674
|
-
|
|
109675
110092
|
// ../core/dist/auth/request.js
|
|
109676
110093
|
function resolveOrigin(origin) {
|
|
109677
110094
|
return typeof origin === "function" ? origin() : origin;
|
|
@@ -110323,7 +110740,7 @@ function normalizeLimit(value) {
|
|
|
110323
110740
|
function normalizeOffset(value) {
|
|
110324
110741
|
return value ?? 0;
|
|
110325
110742
|
}
|
|
110326
|
-
function
|
|
110743
|
+
function isRecord3(value) {
|
|
110327
110744
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
110328
110745
|
}
|
|
110329
110746
|
async function listDataScopesContract(input) {
|
|
@@ -110414,7 +110831,7 @@ async function ingestDataContract(input) {
|
|
|
110414
110831
|
const scopeResult = parseDataScopeContract(input.scopeParam);
|
|
110415
110832
|
if (!scopeResult.ok)
|
|
110416
110833
|
return scopeResult;
|
|
110417
|
-
if (!
|
|
110834
|
+
if (!isRecord3(input.body)) {
|
|
110418
110835
|
return {
|
|
110419
110836
|
ok: false,
|
|
110420
110837
|
status: 400,
|
|
@@ -110434,7 +110851,17 @@ async function ingestDataContract(input) {
|
|
|
110434
110851
|
}
|
|
110435
110852
|
};
|
|
110436
110853
|
}
|
|
110437
|
-
|
|
110854
|
+
if (hasReservedLineageKey(input.body)) {
|
|
110855
|
+
return {
|
|
110856
|
+
ok: false,
|
|
110857
|
+
status: 400,
|
|
110858
|
+
body: {
|
|
110859
|
+
error: "INVALID_BODY",
|
|
110860
|
+
message: "Request body must not contain the reserved $lineage key"
|
|
110861
|
+
}
|
|
110862
|
+
};
|
|
110863
|
+
}
|
|
110864
|
+
const envelope = createDataFileEnvelope(scopeResult.scope, input.collectedAt, stampServerKeys(input.body, input));
|
|
110438
110865
|
const writeResult = await input.storage.writeEnvelope(envelope);
|
|
110439
110866
|
try {
|
|
110440
110867
|
await writeBlockSidecars(input.storage, envelope);
|
|
@@ -110452,14 +110879,27 @@ async function ingestDataContract(input) {
|
|
|
110452
110879
|
ok: true,
|
|
110453
110880
|
scope: scopeResult.scope,
|
|
110454
110881
|
collectedAt: input.collectedAt,
|
|
110455
|
-
response:
|
|
110456
|
-
scope: scopeResult.scope,
|
|
110457
|
-
collectedAt: input.collectedAt,
|
|
110458
|
-
status: input.status
|
|
110459
|
-
},
|
|
110882
|
+
response: ingestResponse(scopeResult.scope, input),
|
|
110460
110883
|
writeResult
|
|
110461
110884
|
};
|
|
110462
110885
|
}
|
|
110886
|
+
function stampServerKeys(data, input) {
|
|
110887
|
+
let stamped = data;
|
|
110888
|
+
if (input.lineage)
|
|
110889
|
+
stamped = stampLineage(stamped, input.lineage);
|
|
110890
|
+
if (input.attribution) {
|
|
110891
|
+
stamped = stampWriterAttribution(stamped, input.attribution);
|
|
110892
|
+
}
|
|
110893
|
+
return stamped;
|
|
110894
|
+
}
|
|
110895
|
+
function ingestResponse(scope, input) {
|
|
110896
|
+
return {
|
|
110897
|
+
scope,
|
|
110898
|
+
collectedAt: input.collectedAt,
|
|
110899
|
+
status: input.status,
|
|
110900
|
+
...input.lineage ? { lineage: { sources: input.lineage.sources } } : {}
|
|
110901
|
+
};
|
|
110902
|
+
}
|
|
110463
110903
|
async function ingestBinaryDataContract(input) {
|
|
110464
110904
|
const scopeResult = parseDataScopeContract(input.scopeParam);
|
|
110465
110905
|
if (!scopeResult.ok)
|
|
@@ -110474,6 +110914,16 @@ async function ingestBinaryDataContract(input) {
|
|
|
110474
110914
|
}
|
|
110475
110915
|
};
|
|
110476
110916
|
}
|
|
110917
|
+
if (isRecord3(input.metadata) && (hasReservedWriterKey(input.metadata) || hasReservedLineageKey(input.metadata))) {
|
|
110918
|
+
return {
|
|
110919
|
+
ok: false,
|
|
110920
|
+
status: 400,
|
|
110921
|
+
body: {
|
|
110922
|
+
error: "INVALID_BODY",
|
|
110923
|
+
message: "X-Vana-Metadata must not contain the reserved $lineage or $writtenBy keys"
|
|
110924
|
+
}
|
|
110925
|
+
};
|
|
110926
|
+
}
|
|
110477
110927
|
const contentHash = await sha256Hex(input.bytes);
|
|
110478
110928
|
const data = buildBinaryEnvelopeData({
|
|
110479
110929
|
bytes: input.bytes,
|
|
@@ -110482,7 +110932,7 @@ async function ingestBinaryDataContract(input) {
|
|
|
110482
110932
|
contentHash,
|
|
110483
110933
|
metadata: input.metadata
|
|
110484
110934
|
});
|
|
110485
|
-
const envelope = createDataFileEnvelope(scopeResult.scope, input.collectedAt,
|
|
110935
|
+
const envelope = createDataFileEnvelope(scopeResult.scope, input.collectedAt, stampServerKeys(data, input));
|
|
110486
110936
|
const writeResult = await input.storage.writeEnvelope(envelope);
|
|
110487
110937
|
try {
|
|
110488
110938
|
await writeBlockSidecars(input.storage, envelope);
|
|
@@ -110500,11 +110950,7 @@ async function ingestBinaryDataContract(input) {
|
|
|
110500
110950
|
ok: true,
|
|
110501
110951
|
scope: scopeResult.scope,
|
|
110502
110952
|
collectedAt: input.collectedAt,
|
|
110503
|
-
response:
|
|
110504
|
-
scope: scopeResult.scope,
|
|
110505
|
-
collectedAt: input.collectedAt,
|
|
110506
|
-
status: input.status
|
|
110507
|
-
},
|
|
110953
|
+
response: ingestResponse(scopeResult.scope, input),
|
|
110508
110954
|
writeResult
|
|
110509
110955
|
};
|
|
110510
110956
|
}
|
|
@@ -111613,6 +112059,48 @@ function reportPersonalServerReadFulfillment(deps, event) {
|
|
|
111613
112059
|
warnReadFulfillmentReporterFailed(deps, event, err2);
|
|
111614
112060
|
}
|
|
111615
112061
|
}
|
|
112062
|
+
async function prepareWriteLineage(deps, scope, field) {
|
|
112063
|
+
if (field === void 0 || field === null)
|
|
112064
|
+
return void 0;
|
|
112065
|
+
return prepareLineage({
|
|
112066
|
+
scope,
|
|
112067
|
+
field,
|
|
112068
|
+
serverOwner: deps.serverOwner,
|
|
112069
|
+
storage: deps.storage,
|
|
112070
|
+
gateway: deps.lineageGateway,
|
|
112071
|
+
now: deps.now ?? (() => /* @__PURE__ */ new Date())
|
|
112072
|
+
});
|
|
112073
|
+
}
|
|
112074
|
+
function resolveLineageGrantView(authResult) {
|
|
112075
|
+
if (authResult === void 0 || authResult.grantId === "owner" || authResult.grantId === "policy-bypass") {
|
|
112076
|
+
return { grantId: void 0 };
|
|
112077
|
+
}
|
|
112078
|
+
const grantId = authResult.grantId;
|
|
112079
|
+
if (typeof grantId !== "string" || grantId === "" || grantId === "unknown") {
|
|
112080
|
+
throw new GrantRequiredError({
|
|
112081
|
+
reason: "a lineage read by a builder needs a resolved grant"
|
|
112082
|
+
});
|
|
112083
|
+
}
|
|
112084
|
+
return { grantId };
|
|
112085
|
+
}
|
|
112086
|
+
async function deleteOneScope(deps, scope) {
|
|
112087
|
+
if (deps.syncManager?.deleteScopeRemote) {
|
|
112088
|
+
try {
|
|
112089
|
+
await deps.syncManager.deleteScopeRemote(scope);
|
|
112090
|
+
} catch (err2) {
|
|
112091
|
+
deps.logger?.info?.({ scope, error: err2.message }, "Remote scope deletion failed; proceeding with local delete");
|
|
112092
|
+
}
|
|
112093
|
+
}
|
|
112094
|
+
const result = await deleteDataScopeContract({
|
|
112095
|
+
storage: deps.storage,
|
|
112096
|
+
scopeParam: scope
|
|
112097
|
+
});
|
|
112098
|
+
if (!result.ok) {
|
|
112099
|
+
throw new ProtocolError(result.status, result.body.error, result.body.message);
|
|
112100
|
+
}
|
|
112101
|
+
deps.logger?.info?.({ scope, deletedCount: result.deletedCount }, "Scope deleted");
|
|
112102
|
+
return result.deletedCount;
|
|
112103
|
+
}
|
|
111616
112104
|
async function handlePersonalServerDataRequest(request2, deps, options = {}) {
|
|
111617
112105
|
return withApiErrors(async () => {
|
|
111618
112106
|
const url2 = new URL(request2.url);
|
|
@@ -111644,6 +112132,64 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
|
|
|
111644
112132
|
return contractErrorResponse(result);
|
|
111645
112133
|
return jsonResponse(result.response);
|
|
111646
112134
|
}
|
|
112135
|
+
if ((parts.length === 2 || parts.length === 3) && parts[1] === "lineage") {
|
|
112136
|
+
if (request2.method !== "GET")
|
|
112137
|
+
return methodNotAllowed();
|
|
112138
|
+
const scopeResult = parseDataScopeContract(decodePathPart(parts[0]));
|
|
112139
|
+
if (!scopeResult.ok)
|
|
112140
|
+
return contractErrorResponse(scopeResult);
|
|
112141
|
+
if (url2.searchParams.has("version")) {
|
|
112142
|
+
return errorResponse(400, "INVALID_VERSION", "version is a path segment (/v1/data/:scope/lineage/:version), not a query parameter");
|
|
112143
|
+
}
|
|
112144
|
+
if (url2.search.length > 0) {
|
|
112145
|
+
return errorResponse(400, "INVALID_QUERY", "lineage reads take no query parameters; the version is a path segment and the grant view is the signed grantId claim");
|
|
112146
|
+
}
|
|
112147
|
+
const version4 = parts.length === 3 ? decodePathPart(parts[2]) : void 0;
|
|
112148
|
+
if (version4 !== void 0 && !/^[1-9]\d*$/.test(version4)) {
|
|
112149
|
+
return errorResponse(400, "INVALID_VERSION", "version must be a positive decimal integer");
|
|
112150
|
+
}
|
|
112151
|
+
const authResult = await deps.auth.authorizeBuilderRead({
|
|
112152
|
+
request: request2,
|
|
112153
|
+
scope: scopeResult.scope,
|
|
112154
|
+
grantId: selectedGrantId(request2, url2)
|
|
112155
|
+
});
|
|
112156
|
+
if (!deps.serverOwner) {
|
|
112157
|
+
throw new ServerNotConfiguredError({
|
|
112158
|
+
reason: "serverOwner is required to resolve the data point id"
|
|
112159
|
+
});
|
|
112160
|
+
}
|
|
112161
|
+
if (!deps.lineageGateway)
|
|
112162
|
+
throw new LineageUnavailableError();
|
|
112163
|
+
const { grantId } = resolveLineageGrantView(authResult);
|
|
112164
|
+
let result;
|
|
112165
|
+
try {
|
|
112166
|
+
result = await deps.lineageGateway.getLineage({
|
|
112167
|
+
dataPointId: computeDataPointId(deps.serverOwner, scopeResult.scope),
|
|
112168
|
+
version: version4,
|
|
112169
|
+
grantId
|
|
112170
|
+
});
|
|
112171
|
+
} catch (err2) {
|
|
112172
|
+
if (err2 instanceof ProtocolError)
|
|
112173
|
+
throw err2;
|
|
112174
|
+
throw new LineageGatewayError({
|
|
112175
|
+
status: 0,
|
|
112176
|
+
body: { error: err2 instanceof Error ? err2.message : String(err2) }
|
|
112177
|
+
});
|
|
112178
|
+
}
|
|
112179
|
+
if (!result.ok) {
|
|
112180
|
+
if (result.status === 404) {
|
|
112181
|
+
return errorResponse(404, "NOT_FOUND", version4 ? `Scope "${scopeResult.scope}" has no registered version ${version4}` : `Scope "${scopeResult.scope}" is not registered at the gateway`);
|
|
112182
|
+
}
|
|
112183
|
+
if (result.status === 403) {
|
|
112184
|
+
throw new ProtocolError(403, "LINEAGE_FORBIDDEN", "The gateway refused the lineage view for this grant", { gateway: result.body });
|
|
112185
|
+
}
|
|
112186
|
+
throw new LineageGatewayError({
|
|
112187
|
+
status: result.status,
|
|
112188
|
+
body: result.body
|
|
112189
|
+
});
|
|
112190
|
+
}
|
|
112191
|
+
return jsonResponse({ data: result.data, proof: result.proof });
|
|
112192
|
+
}
|
|
111647
112193
|
if (parts.length !== 1)
|
|
111648
112194
|
return notFound();
|
|
111649
112195
|
const scopeParam = decodePathPart(parts[0]);
|
|
@@ -111825,16 +112371,19 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
|
|
|
111825
112371
|
};
|
|
111826
112372
|
if (!isJsonContentType(request2)) {
|
|
111827
112373
|
const bytes2 = new Uint8Array(await request2.arrayBuffer());
|
|
112374
|
+
const metadata = parseMetadataHeader(request2.headers.get("x-vana-metadata"));
|
|
112375
|
+
const lineage2 = await prepareWriteLineage(deps, scopeResult.scope, extractLineageField(metadata));
|
|
111828
112376
|
const result2 = await ingestBinaryDataContract({
|
|
111829
112377
|
storage: deps.storage,
|
|
111830
112378
|
scopeParam: scopeResult.scope,
|
|
111831
112379
|
bytes: bytes2,
|
|
111832
112380
|
mimeType: binaryMimeType(request2),
|
|
111833
112381
|
filename: binaryFilename(request2),
|
|
111834
|
-
metadata
|
|
112382
|
+
metadata,
|
|
111835
112383
|
collectedAt: collectedAtValue,
|
|
111836
112384
|
status: status2,
|
|
111837
|
-
attribution: writeAuth?.attribution
|
|
112385
|
+
attribution: writeAuth?.attribution,
|
|
112386
|
+
lineage: lineage2
|
|
111838
112387
|
});
|
|
111839
112388
|
if (!result2.ok)
|
|
111840
112389
|
return failWrite(contractErrorResponse(result2));
|
|
@@ -111854,13 +112403,15 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
|
|
|
111854
112403
|
const parsed = await parseJsonObjectBody(request2, "Request body must be valid JSON");
|
|
111855
112404
|
if (!parsed.ok)
|
|
111856
112405
|
return failWrite(contractResponse(parsed.result));
|
|
112406
|
+
const lineage = await prepareWriteLineage(deps, scopeResult.scope, extractLineageField(parsed.body));
|
|
111857
112407
|
const result = await ingestDataContract({
|
|
111858
112408
|
storage: deps.storage,
|
|
111859
112409
|
scopeParam: scopeResult.scope,
|
|
111860
112410
|
body: parsed.body,
|
|
111861
112411
|
collectedAt: collectedAtValue,
|
|
111862
112412
|
status: status2,
|
|
111863
|
-
attribution: writeAuth?.attribution
|
|
112413
|
+
attribution: writeAuth?.attribution,
|
|
112414
|
+
lineage
|
|
111864
112415
|
});
|
|
111865
112416
|
if (!result.ok)
|
|
111866
112417
|
return failWrite(contractErrorResponse(result));
|
|
@@ -111889,21 +112440,17 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
|
|
|
111889
112440
|
}
|
|
111890
112441
|
if (request2.method === "DELETE") {
|
|
111891
112442
|
await deps.auth.authorizeOwner(request2);
|
|
112443
|
+
const cascade = url2.searchParams.get("cascade");
|
|
112444
|
+
if (cascade !== null && cascade !== "lineage") {
|
|
112445
|
+
throw new InvalidCascadeError({ cascade });
|
|
112446
|
+
}
|
|
111892
112447
|
const parsed = parseDataScopeContract(scopeParam);
|
|
111893
|
-
if (parsed.ok
|
|
111894
|
-
|
|
111895
|
-
|
|
111896
|
-
|
|
111897
|
-
deps.logger?.info?.({ scope: scopeParam, error: err2.message }, "Remote scope deletion failed; proceeding with local delete");
|
|
111898
|
-
}
|
|
112448
|
+
if (!parsed.ok)
|
|
112449
|
+
return contractErrorResponse(parsed);
|
|
112450
|
+
if (cascade === "lineage") {
|
|
112451
|
+
throw new LineageCascadeUnavailableError({ scope: parsed.scope });
|
|
111899
112452
|
}
|
|
111900
|
-
|
|
111901
|
-
storage: deps.storage,
|
|
111902
|
-
scopeParam
|
|
111903
|
-
});
|
|
111904
|
-
if (!result.ok)
|
|
111905
|
-
return contractErrorResponse(result);
|
|
111906
|
-
deps.logger?.info?.({ scope: scopeParam, deletedCount: result.deletedCount }, "Scope deleted");
|
|
112453
|
+
await deleteOneScope(deps, parsed.scope);
|
|
111907
112454
|
return new Response(null, { status: 204 });
|
|
111908
112455
|
}
|
|
111909
112456
|
return methodNotAllowed();
|
|
@@ -127070,7 +127617,8 @@ function createPsLiteRuntime(options) {
|
|
|
127070
127617
|
// recordDataAccess attributes the read to the correct owner; if
|
|
127071
127618
|
// serverOwner is absent the accessRecord is safely omitted.
|
|
127072
127619
|
serverOwner: options.serverOwner,
|
|
127073
|
-
serverSigner: x402ServerSigner
|
|
127620
|
+
serverSigner: x402ServerSigner,
|
|
127621
|
+
lineageGateway: options.lineageGateway
|
|
127074
127622
|
}, { basePath: dataPrefix });
|
|
127075
127623
|
}
|
|
127076
127624
|
if (url2.pathname.startsWith("/auth/device")) {
|
|
@@ -127568,14 +128116,35 @@ async function uploadOne(deps, entry) {
|
|
|
127568
128116
|
metadataHash,
|
|
127569
128117
|
expectedVersion: version4
|
|
127570
128118
|
});
|
|
127571
|
-
const
|
|
128119
|
+
const registration = {
|
|
127572
128120
|
ownerAddress: serverOwner,
|
|
127573
128121
|
scope: entry.scope,
|
|
127574
128122
|
dataHash,
|
|
127575
128123
|
metadataHash,
|
|
127576
128124
|
expectedVersion: String(version4),
|
|
127577
128125
|
signature: addDataSignature
|
|
127578
|
-
}
|
|
128126
|
+
};
|
|
128127
|
+
const lineage = readStoredLineage(envelope.data);
|
|
128128
|
+
let dataPointResult;
|
|
128129
|
+
if (lineage) {
|
|
128130
|
+
if (!deps.lineageGateway) {
|
|
128131
|
+
throw new Error(`Cannot register derivative ${entry.path} (scope=${entry.scope}): lineage registration needs a gateway URL (lineageGateway is not configured)`);
|
|
128132
|
+
}
|
|
128133
|
+
const lineageSignature = await signer.signLineageAttestation({
|
|
128134
|
+
ownerAddress: serverOwner,
|
|
128135
|
+
scope: entry.scope,
|
|
128136
|
+
expectedVersion: version4,
|
|
128137
|
+
dataHash,
|
|
128138
|
+
sources: lineage.sources
|
|
128139
|
+
});
|
|
128140
|
+
dataPointResult = await deps.lineageGateway.registerDataPoint({
|
|
128141
|
+
...registration,
|
|
128142
|
+
lineage: lineage.sources,
|
|
128143
|
+
lineageSignature
|
|
128144
|
+
});
|
|
128145
|
+
} else {
|
|
128146
|
+
dataPointResult = await gateway.registerDataPoint(registration);
|
|
128147
|
+
}
|
|
127579
128148
|
const id2 = dataPointResult.dataPointId ?? null;
|
|
127580
128149
|
if (!id2) {
|
|
127581
128150
|
throw new Error(`Gateway registerDataPoint did not return a dataPointId for ${entry.path} (scope=${entry.scope}, version=${version4})`);
|
|
@@ -127660,12 +128229,6 @@ function parseGatewayNextVersion(message) {
|
|
|
127660
128229
|
return Number(storedValue[1]) + 1;
|
|
127661
128230
|
return null;
|
|
127662
128231
|
}
|
|
127663
|
-
function computeDataPointId(ownerAddress, scope) {
|
|
127664
|
-
return keccak256(encodeAbiParameters([
|
|
127665
|
-
{ name: "ownerAddress", type: "address" },
|
|
127666
|
-
{ name: "scope", type: "string" }
|
|
127667
|
-
], [ownerAddress.toLowerCase(), scope]));
|
|
127668
|
-
}
|
|
127669
128232
|
|
|
127670
128233
|
// ../core/dist/sync/issues.js
|
|
127671
128234
|
var DETERMINISTIC_STAGES = /* @__PURE__ */ new Set([
|
|
@@ -128657,7 +129220,8 @@ async function createPsLiteSyncManager(options) {
|
|
|
128657
129220
|
signer,
|
|
128658
129221
|
masterKey,
|
|
128659
129222
|
serverOwner,
|
|
128660
|
-
logger
|
|
129223
|
+
logger,
|
|
129224
|
+
lineageGateway: options.lineageGateway
|
|
128661
129225
|
}, {
|
|
128662
129226
|
storage: options.storage,
|
|
128663
129227
|
storageAdapter,
|
|
@@ -128750,6 +129314,10 @@ async function createIndexedDbPsLiteRuntime(options) {
|
|
|
128750
129314
|
contracts: config2.gateway.contracts
|
|
128751
129315
|
});
|
|
128752
129316
|
const diagnostics = options.diagnostics ?? new DiagnosticsRecorder();
|
|
129317
|
+
const lineageGateway = createGatewayLineageClient({
|
|
129318
|
+
gatewayUrl: config2.gateway.url,
|
|
129319
|
+
requestSigner: createRequestSigner(identity.account)
|
|
129320
|
+
});
|
|
128753
129321
|
let syncManager = options.syncManager ?? null;
|
|
128754
129322
|
if (!syncManager && config2.sync.enabled) {
|
|
128755
129323
|
syncManager = (await createPsLiteSyncManager({
|
|
@@ -128761,7 +129329,8 @@ async function createIndexedDbPsLiteRuntime(options) {
|
|
|
128761
129329
|
serverAccount: identity.account,
|
|
128762
129330
|
gateway,
|
|
128763
129331
|
diagnostics,
|
|
128764
|
-
logger: options.logger
|
|
129332
|
+
logger: options.logger,
|
|
129333
|
+
lineageGateway
|
|
128765
129334
|
})).syncManager;
|
|
128766
129335
|
}
|
|
128767
129336
|
let runtimeRef = null;
|
|
@@ -128792,6 +129361,7 @@ async function createIndexedDbPsLiteRuntime(options) {
|
|
|
128792
129361
|
serverSigner,
|
|
128793
129362
|
syncManager,
|
|
128794
129363
|
diagnostics,
|
|
129364
|
+
lineageGateway,
|
|
128795
129365
|
saveConfig: async (nextConfig) => {
|
|
128796
129366
|
const saved = await savePsLiteConfig(stateStore, nextConfig);
|
|
128797
129367
|
Object.assign(config2, saved);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendatalabs/personal-server-ts-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Hono HTTP server for the Vana Personal Server — routes, middleware, composition root",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@hono/node-server": "^1.19.13",
|
|
47
|
-
"@opendatalabs/personal-server-ts-core": "1.
|
|
48
|
-
"@opendatalabs/personal-server-ts-lite": "1.
|
|
47
|
+
"@opendatalabs/personal-server-ts-core": "1.7.0",
|
|
48
|
+
"@opendatalabs/personal-server-ts-lite": "1.7.0",
|
|
49
49
|
"@opendatalabs/vana-sdk": "3.14.0",
|
|
50
50
|
"better-sqlite3": "^12.11.1",
|
|
51
51
|
"hono": "^4.12.27",
|