@opendatalabs/personal-server-ts-core 1.33.8 → 1.34.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/additions/budget.d.ts +28 -0
- package/dist/additions/budget.d.ts.map +1 -0
- package/dist/additions/budget.js +119 -0
- package/dist/additions/budget.js.map +1 -0
- package/dist/additions/durable.d.ts +64 -0
- package/dist/additions/durable.d.ts.map +1 -0
- package/dist/additions/durable.js +591 -0
- package/dist/additions/durable.js.map +1 -0
- package/dist/additions/first-added.d.ts +32 -48
- package/dist/additions/first-added.d.ts.map +1 -1
- package/dist/additions/first-added.js +68 -123
- package/dist/additions/first-added.js.map +1 -1
- package/dist/additions/index.d.ts +3 -0
- package/dist/additions/index.d.ts.map +1 -1
- package/dist/additions/index.js +3 -0
- package/dist/additions/index.js.map +1 -1
- package/dist/additions/ledger-store.js +1 -1
- package/dist/additions/record-rules.d.ts.map +1 -1
- package/dist/additions/record-rules.js +7 -0
- package/dist/additions/record-rules.js.map +1 -1
- package/dist/additions/summary.d.ts +88 -1
- package/dist/additions/summary.d.ts.map +1 -1
- package/dist/additions/summary.js +173 -8
- package/dist/additions/summary.js.map +1 -1
- package/dist/additions/version-inventory.d.ts +80 -0
- package/dist/additions/version-inventory.d.ts.map +1 -0
- package/dist/additions/version-inventory.js +232 -0
- package/dist/additions/version-inventory.js.map +1 -0
- package/dist/api/index.d.ts +70 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +506 -79
- package/dist/api/index.js.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/request.d.ts +6 -0
- package/dist/auth/request.d.ts.map +1 -1
- package/dist/auth/request.js +66 -4
- package/dist/auth/request.js.map +1 -1
- package/dist/contracts/data.d.ts +54 -8
- package/dist/contracts/data.d.ts.map +1 -1
- package/dist/contracts/data.js +178 -35
- package/dist/contracts/data.js.map +1 -1
- package/dist/contracts/index.d.ts +1 -1
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/derivatives/registration.d.ts +0 -5
- package/dist/derivatives/registration.d.ts.map +1 -1
- package/dist/derivatives/registration.js +2 -1
- package/dist/derivatives/registration.js.map +1 -1
- package/dist/errors/pdpp-catalog.d.ts +36 -0
- package/dist/errors/pdpp-catalog.d.ts.map +1 -0
- package/dist/errors/pdpp-catalog.js +86 -0
- package/dist/errors/pdpp-catalog.js.map +1 -0
- package/dist/grants/index.d.ts +2 -0
- package/dist/grants/index.d.ts.map +1 -1
- package/dist/grants/index.js +4 -0
- package/dist/grants/index.js.map +1 -1
- package/dist/grants/pdpp-binding-store.d.ts +89 -0
- package/dist/grants/pdpp-binding-store.d.ts.map +1 -0
- package/dist/grants/pdpp-binding-store.js +112 -0
- package/dist/grants/pdpp-binding-store.js.map +1 -0
- package/dist/grants/pdpp-binding.d.ts +169 -0
- package/dist/grants/pdpp-binding.d.ts.map +1 -0
- package/dist/grants/pdpp-binding.js +236 -0
- package/dist/grants/pdpp-binding.js.map +1 -0
- package/dist/legacy-projection/bindings.d.ts +28 -1
- package/dist/legacy-projection/bindings.d.ts.map +1 -1
- package/dist/legacy-projection/bindings.js +622 -189
- package/dist/legacy-projection/bindings.js.map +1 -1
- package/dist/legacy-projection/claude-source-record.d.ts +22 -0
- package/dist/legacy-projection/claude-source-record.d.ts.map +1 -0
- package/dist/legacy-projection/claude-source-record.js +360 -0
- package/dist/legacy-projection/claude-source-record.js.map +1 -0
- package/dist/legacy-projection/declared-text.d.ts +41 -0
- package/dist/legacy-projection/declared-text.d.ts.map +1 -0
- package/dist/legacy-projection/declared-text.js +199 -0
- package/dist/legacy-projection/declared-text.js.map +1 -0
- package/dist/legacy-projection/github-browser-bindings.d.ts.map +1 -1
- package/dist/legacy-projection/github-browser-bindings.js +89 -5
- package/dist/legacy-projection/github-browser-bindings.js.map +1 -1
- package/dist/legacy-projection/github-legacy-fields.d.ts +6 -0
- package/dist/legacy-projection/github-legacy-fields.d.ts.map +1 -0
- package/dist/legacy-projection/github-legacy-fields.js +202 -0
- package/dist/legacy-projection/github-legacy-fields.js.map +1 -0
- package/dist/legacy-projection/index.d.ts +3 -1
- package/dist/legacy-projection/index.d.ts.map +1 -1
- package/dist/legacy-projection/index.js +49 -1
- package/dist/legacy-projection/index.js.map +1 -1
- package/dist/legacy-projection/oura-browser-bindings.d.ts.map +1 -1
- package/dist/legacy-projection/oura-browser-bindings.js +43 -41
- package/dist/legacy-projection/oura-browser-bindings.js.map +1 -1
- package/dist/legacy-projection/types.d.ts +38 -2
- package/dist/legacy-projection/types.d.ts.map +1 -1
- package/dist/mcp/resources.d.ts.map +1 -1
- package/dist/mcp/resources.js +3 -0
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +11 -2
- package/dist/mcp/tools.js.map +1 -1
- package/dist/pdpp/approval.d.ts +271 -0
- package/dist/pdpp/approval.d.ts.map +1 -0
- package/dist/pdpp/approval.js +467 -0
- package/dist/pdpp/approval.js.map +1 -0
- package/dist/pdpp/client-identity.d.ts +88 -0
- package/dist/pdpp/client-identity.d.ts.map +1 -0
- package/dist/pdpp/client-identity.js +196 -0
- package/dist/pdpp/client-identity.js.map +1 -0
- package/dist/pdpp/client-metadata.d.ts +95 -0
- package/dist/pdpp/client-metadata.d.ts.map +1 -0
- package/dist/pdpp/client-metadata.js +96 -0
- package/dist/pdpp/client-metadata.js.map +1 -0
- package/dist/pdpp/commitments.d.ts +75 -0
- package/dist/pdpp/commitments.d.ts.map +1 -0
- package/dist/pdpp/commitments.js +113 -0
- package/dist/pdpp/commitments.js.map +1 -0
- package/dist/pdpp/declaration.d.ts +118 -0
- package/dist/pdpp/declaration.d.ts.map +1 -0
- package/dist/pdpp/declaration.js +836 -0
- package/dist/pdpp/declaration.js.map +1 -0
- package/dist/pdpp/index.d.ts +37 -0
- package/dist/pdpp/index.d.ts.map +1 -0
- package/dist/pdpp/index.js +23 -0
- package/dist/pdpp/index.js.map +1 -0
- package/dist/pdpp/issuance.d.ts +126 -0
- package/dist/pdpp/issuance.d.ts.map +1 -0
- package/dist/pdpp/issuance.js +180 -0
- package/dist/pdpp/issuance.js.map +1 -0
- package/dist/pdpp/pkce.d.ts +53 -0
- package/dist/pdpp/pkce.d.ts.map +1 -0
- package/dist/pdpp/pkce.js +109 -0
- package/dist/pdpp/pkce.js.map +1 -0
- package/dist/pdpp/redirect.d.ts +60 -0
- package/dist/pdpp/redirect.d.ts.map +1 -0
- package/dist/pdpp/redirect.js +125 -0
- package/dist/pdpp/redirect.js.map +1 -0
- package/dist/pdpp/resolve.d.ts +109 -0
- package/dist/pdpp/resolve.d.ts.map +1 -0
- package/dist/pdpp/resolve.js +393 -0
- package/dist/pdpp/resolve.js.map +1 -0
- package/dist/pdpp/review.d.ts +280 -0
- package/dist/pdpp/review.d.ts.map +1 -0
- package/dist/pdpp/review.js +205 -0
- package/dist/pdpp/review.js.map +1 -0
- package/dist/pdpp/selection.d.ts +50 -0
- package/dist/pdpp/selection.d.ts.map +1 -0
- package/dist/pdpp/selection.js +442 -0
- package/dist/pdpp/selection.js.map +1 -0
- package/dist/pdpp/store.d.ts +228 -0
- package/dist/pdpp/store.d.ts.map +1 -0
- package/dist/pdpp/store.js +542 -0
- package/dist/pdpp/store.js.map +1 -0
- package/dist/pdpp/tokens.d.ts +181 -0
- package/dist/pdpp/tokens.d.ts.map +1 -0
- package/dist/pdpp/tokens.js +419 -0
- package/dist/pdpp/tokens.js.map +1 -0
- package/dist/pdpp/types.d.ts +441 -0
- package/dist/pdpp/types.d.ts.map +1 -0
- package/dist/pdpp/types.js +61 -0
- package/dist/pdpp/types.js.map +1 -0
- package/dist/pdpp-version.d.ts +28 -0
- package/dist/pdpp-version.d.ts.map +1 -0
- package/dist/pdpp-version.js +28 -0
- package/dist/pdpp-version.js.map +1 -0
- package/dist/policy/data-read.d.ts +24 -0
- package/dist/policy/data-read.d.ts.map +1 -1
- package/dist/policy/data-read.js +60 -3
- package/dist/policy/data-read.js.map +1 -1
- package/dist/policy/data-write.d.ts.map +1 -1
- package/dist/policy/data-write.js +3 -0
- package/dist/policy/data-write.js.map +1 -1
- package/dist/policy/index.d.ts +1 -0
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +1 -0
- package/dist/policy/index.js.map +1 -1
- package/dist/policy/reserved-scopes.d.ts +3 -0
- package/dist/policy/reserved-scopes.d.ts.map +1 -0
- package/dist/policy/reserved-scopes.js +5 -0
- package/dist/policy/reserved-scopes.js.map +1 -0
- package/dist/ports/index.d.ts +63 -0
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/pdpp-auth.d.ts +129 -0
- package/dist/ports/pdpp-auth.d.ts.map +1 -0
- package/dist/ports/pdpp-auth.js +60 -0
- package/dist/ports/pdpp-auth.js.map +1 -0
- package/dist/ports/pdpp-auth.test-utils.d.ts +9 -0
- package/dist/ports/pdpp-auth.test-utils.d.ts.map +1 -0
- package/dist/ports/pdpp-auth.test-utils.js +18 -0
- package/dist/ports/pdpp-auth.test-utils.js.map +1 -0
- package/dist/schemas/server-config.d.ts +44 -0
- package/dist/schemas/server-config.d.ts.map +1 -1
- package/dist/schemas/server-config.js +91 -0
- package/dist/schemas/server-config.js.map +1 -1
- package/dist/signing/request-signer.d.ts +2 -0
- package/dist/signing/request-signer.d.ts.map +1 -1
- package/dist/signing/request-signer.js +1 -0
- package/dist/signing/request-signer.js.map +1 -1
- package/dist/storage/adapters/interface.d.ts +3 -0
- package/dist/storage/adapters/interface.d.ts.map +1 -1
- package/dist/storage/adapters/vana-audience.d.ts +12 -0
- package/dist/storage/adapters/vana-audience.d.ts.map +1 -0
- package/dist/storage/adapters/vana-audience.js +72 -0
- package/dist/storage/adapters/vana-audience.js.map +1 -0
- package/dist/storage/adapters/vana.d.ts +2 -0
- package/dist/storage/adapters/vana.d.ts.map +1 -1
- package/dist/storage/adapters/vana.js +53 -20
- package/dist/storage/adapters/vana.js.map +1 -1
- package/dist/storage/canonical-legacy-projection.d.ts +262 -0
- package/dist/storage/canonical-legacy-projection.d.ts.map +1 -0
- package/dist/storage/canonical-legacy-projection.js +761 -0
- package/dist/storage/canonical-legacy-projection.js.map +1 -0
- package/dist/storage/index/manager.d.ts +29 -2
- package/dist/storage/index/manager.d.ts.map +1 -1
- package/dist/storage/index/schema.d.ts +1 -1
- package/dist/storage/index/schema.js +1 -1
- package/dist/storage/index/types.d.ts +7 -1
- package/dist/storage/index/types.d.ts.map +1 -1
- package/dist/storage/legacy-projection.d.ts +4 -3
- package/dist/storage/legacy-projection.d.ts.map +1 -1
- package/dist/storage/legacy-projection.js +145 -42
- package/dist/storage/legacy-projection.js.map +1 -1
- package/dist/storage/legacy-scope-coverage-exceptions.d.ts +8 -0
- package/dist/storage/legacy-scope-coverage-exceptions.d.ts.map +1 -0
- package/dist/storage/legacy-scope-coverage-exceptions.js +10 -0
- package/dist/storage/legacy-scope-coverage-exceptions.js.map +1 -0
- package/dist/storage/legacy-scope-coverage.d.ts +53 -0
- package/dist/storage/legacy-scope-coverage.d.ts.map +1 -0
- package/dist/storage/legacy-scope-coverage.js +403 -0
- package/dist/storage/legacy-scope-coverage.js.map +1 -0
- package/dist/storage/legacy-scope-entity-keys.d.ts +4 -0
- package/dist/storage/legacy-scope-entity-keys.d.ts.map +1 -0
- package/dist/storage/legacy-scope-entity-keys.js +92 -0
- package/dist/storage/legacy-scope-entity-keys.js.map +1 -0
- package/dist/storage/legacy-scope-view.d.ts +154 -0
- package/dist/storage/legacy-scope-view.d.ts.map +1 -0
- package/dist/storage/legacy-scope-view.js +735 -0
- package/dist/storage/legacy-scope-view.js.map +1 -0
- package/dist/storage/pdpp-records/completion.d.ts +91 -0
- package/dist/storage/pdpp-records/completion.d.ts.map +1 -0
- package/dist/storage/pdpp-records/completion.js +170 -0
- package/dist/storage/pdpp-records/completion.js.map +1 -0
- package/dist/storage/pdpp-records/cursor.d.ts +41 -0
- package/dist/storage/pdpp-records/cursor.d.ts.map +1 -0
- package/dist/storage/pdpp-records/cursor.js +49 -0
- package/dist/storage/pdpp-records/cursor.js.map +1 -0
- package/dist/storage/pdpp-records/declaration-witness.d.ts +58 -0
- package/dist/storage/pdpp-records/declaration-witness.d.ts.map +1 -0
- package/dist/storage/pdpp-records/declaration-witness.js +230 -0
- package/dist/storage/pdpp-records/declaration-witness.js.map +1 -0
- package/dist/storage/pdpp-records/enforcement.d.ts +52 -0
- package/dist/storage/pdpp-records/enforcement.d.ts.map +1 -0
- package/dist/storage/pdpp-records/enforcement.js +116 -0
- package/dist/storage/pdpp-records/enforcement.js.map +1 -0
- package/dist/storage/pdpp-records/index.d.ts +5 -0
- package/dist/storage/pdpp-records/index.d.ts.map +1 -0
- package/dist/storage/pdpp-records/index.js +5 -0
- package/dist/storage/pdpp-records/index.js.map +1 -0
- package/dist/storage/pdpp-records/ingest-plan.d.ts +39 -0
- package/dist/storage/pdpp-records/ingest-plan.d.ts.map +1 -0
- package/dist/storage/pdpp-records/ingest-plan.js +103 -0
- package/dist/storage/pdpp-records/ingest-plan.js.map +1 -0
- package/dist/storage/pdpp-records/interface.d.ts +104 -0
- package/dist/storage/pdpp-records/interface.d.ts.map +1 -0
- package/dist/storage/pdpp-records/interface.js +2 -0
- package/dist/storage/pdpp-records/interface.js.map +1 -0
- package/dist/storage/pdpp-records/memory-store.d.ts +9 -0
- package/dist/storage/pdpp-records/memory-store.d.ts.map +1 -0
- package/dist/storage/pdpp-records/memory-store.js +466 -0
- package/dist/storage/pdpp-records/memory-store.js.map +1 -0
- package/dist/storage/pdpp-records/portable.d.ts +9 -0
- package/dist/storage/pdpp-records/portable.d.ts.map +1 -0
- package/dist/storage/pdpp-records/portable.js +8 -0
- package/dist/storage/pdpp-records/portable.js.map +1 -0
- package/dist/storage/pdpp-records/read-port.d.ts +44 -0
- package/dist/storage/pdpp-records/read-port.d.ts.map +1 -0
- package/dist/storage/pdpp-records/read-port.js +22 -0
- package/dist/storage/pdpp-records/read-port.js.map +1 -0
- package/dist/storage/pdpp-records/record-key.d.ts +52 -0
- package/dist/storage/pdpp-records/record-key.d.ts.map +1 -0
- package/dist/storage/pdpp-records/record-key.js +97 -0
- package/dist/storage/pdpp-records/record-key.js.map +1 -0
- package/dist/storage/pdpp-records/schema.d.ts +41 -0
- package/dist/storage/pdpp-records/schema.d.ts.map +1 -0
- package/dist/storage/pdpp-records/schema.js +153 -0
- package/dist/storage/pdpp-records/schema.js.map +1 -0
- package/dist/storage/pdpp-records/stream-declaration.d.ts +88 -0
- package/dist/storage/pdpp-records/stream-declaration.d.ts.map +1 -0
- package/dist/storage/pdpp-records/stream-declaration.js +57 -0
- package/dist/storage/pdpp-records/stream-declaration.js.map +1 -0
- package/dist/storage/pdpp-records/types.d.ts +138 -0
- package/dist/storage/pdpp-records/types.d.ts.map +1 -0
- package/dist/storage/pdpp-records/types.js +38 -0
- package/dist/storage/pdpp-records/types.js.map +1 -0
- package/dist/sync/data-point-feed.d.ts +3 -0
- package/dist/sync/data-point-feed.d.ts.map +1 -1
- package/dist/sync/data-point-feed.js +17 -1
- package/dist/sync/data-point-feed.js.map +1 -1
- package/dist/sync/delete-data-port.d.ts +2 -0
- package/dist/sync/delete-data-port.d.ts.map +1 -1
- package/dist/sync/delete-data-port.js +1 -1
- package/dist/sync/delete-data-port.js.map +1 -1
- package/dist/sync/engine/sync-manager.d.ts.map +1 -1
- package/dist/sync/engine/sync-manager.js +5 -2
- package/dist/sync/engine/sync-manager.js.map +1 -1
- package/dist/sync/index.d.ts +3 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +4 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/pdpp-import.d.ts +192 -0
- package/dist/sync/pdpp-import.d.ts.map +1 -0
- package/dist/sync/pdpp-import.js +441 -0
- package/dist/sync/pdpp-import.js.map +1 -0
- package/dist/sync/scope-deletions.d.ts +10 -0
- package/dist/sync/scope-deletions.d.ts.map +1 -1
- package/dist/sync/scope-deletions.js +40 -7
- package/dist/sync/scope-deletions.js.map +1 -1
- package/dist/sync/workers/download.d.ts +14 -0
- package/dist/sync/workers/download.d.ts.map +1 -1
- package/dist/sync/workers/download.js +149 -13
- package/dist/sync/workers/download.js.map +1 -1
- package/dist/sync/workers/upload.d.ts +2 -0
- package/dist/sync/workers/upload.d.ts.map +1 -1
- package/dist/sync/workers/upload.js +7 -0
- package/dist/sync/workers/upload.js.map +1 -1
- package/dist/test-utils/memory-storage.d.ts +1 -1
- package/dist/test-utils/memory-storage.d.ts.map +1 -1
- package/dist/test-utils/memory-storage.js +11 -5
- package/dist/test-utils/memory-storage.js.map +1 -1
- package/package.json +54 -4
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { readBoundedJson } from "./budget.js";
|
|
2
|
+
import { encodeAbiParameters, getAddress, keccak256, stringToBytes, stringToHex, } from "viem";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
// Gateway contract: data-gateway/docs/version-inventory.md at 228bbf1cd6893a5b34da248832d8861f245d6d3d.
|
|
5
|
+
const uint256 = z
|
|
6
|
+
.string()
|
|
7
|
+
.regex(/^(0|[1-9][0-9]{0,77})$/)
|
|
8
|
+
.refine((value) => BigInt(value) < 2n ** 256n);
|
|
9
|
+
const hash = z
|
|
10
|
+
.string()
|
|
11
|
+
.regex(/^0x[0-9a-fA-F]{64}$/)
|
|
12
|
+
.transform((value) => value.toLowerCase());
|
|
13
|
+
const address = z.string().regex(/^0x[0-9a-fA-F]{40}$/);
|
|
14
|
+
const timestamp = z.iso.datetime();
|
|
15
|
+
const scopeSchema = z.string().refine((value) => {
|
|
16
|
+
const length = new TextEncoder().encode(value).length;
|
|
17
|
+
return length > 0 && length <= 256;
|
|
18
|
+
});
|
|
19
|
+
const commitments = z.object({
|
|
20
|
+
expectedVersion: uint256,
|
|
21
|
+
dataHash: hash,
|
|
22
|
+
metadataHash: hash,
|
|
23
|
+
status: z.string().min(1),
|
|
24
|
+
});
|
|
25
|
+
const headSchema = commitments.extend({ deletedAt: timestamp.nullable() });
|
|
26
|
+
const versionSchema = commitments.extend({
|
|
27
|
+
addedAt: timestamp,
|
|
28
|
+
isTombstone: z.boolean(),
|
|
29
|
+
});
|
|
30
|
+
const pageSchema = z.object({
|
|
31
|
+
data: z.object({
|
|
32
|
+
dataPointId: hash,
|
|
33
|
+
ownerAddress: address,
|
|
34
|
+
scope: scopeSchema,
|
|
35
|
+
head: headSchema.nullable(),
|
|
36
|
+
versions: z.array(versionSchema),
|
|
37
|
+
}),
|
|
38
|
+
pagination: z.object({
|
|
39
|
+
limit: z.number().int().min(1).max(1000),
|
|
40
|
+
hasMore: z.boolean(),
|
|
41
|
+
nextAfter: uint256.nullable(),
|
|
42
|
+
}),
|
|
43
|
+
});
|
|
44
|
+
const scopesSchema = z.object({
|
|
45
|
+
data: z.object({
|
|
46
|
+
dataPoints: z.array(z.object({
|
|
47
|
+
id: hash,
|
|
48
|
+
ownerAddress: address,
|
|
49
|
+
scope: scopeSchema,
|
|
50
|
+
deletedAt: timestamp.nullable(),
|
|
51
|
+
})),
|
|
52
|
+
}),
|
|
53
|
+
pagination: z.object({
|
|
54
|
+
limit: z.number().int().min(1).max(1000),
|
|
55
|
+
hasMore: z.boolean(),
|
|
56
|
+
nextCursor: z.string().min(1).nullable(),
|
|
57
|
+
}),
|
|
58
|
+
});
|
|
59
|
+
const tombstoneData = keccak256(stringToBytes("vana.data-point.tombstone.v1"));
|
|
60
|
+
const tombstoneMetadata = keccak256(stringToBytes("vana.data-point.tombstone.metadata.v1"));
|
|
61
|
+
/** Compact provenance for the authoritative history at a head. Failed slots
|
|
62
|
+
* above a rolled-back head are not source data; confirmation→finality does not
|
|
63
|
+
* change counts. Earlier same-version replacements do change this digest. */
|
|
64
|
+
export function fingerprintVersionInventory(snapshot) {
|
|
65
|
+
const normalize = (row) => ({
|
|
66
|
+
expectedVersion: row.expectedVersion,
|
|
67
|
+
dataHash: row.dataHash,
|
|
68
|
+
metadataHash: row.metadataHash,
|
|
69
|
+
status: ["confirmed", "finalized"].includes(row.status)
|
|
70
|
+
? "settled"
|
|
71
|
+
: row.status,
|
|
72
|
+
});
|
|
73
|
+
const head = snapshot.head;
|
|
74
|
+
return keccak256(stringToHex(JSON.stringify({
|
|
75
|
+
head: head ? { ...normalize(head), deletedAt: head.deletedAt } : null,
|
|
76
|
+
versions: snapshot.versions
|
|
77
|
+
.filter((row) => head &&
|
|
78
|
+
BigInt(row.expectedVersion) <= BigInt(head.expectedVersion))
|
|
79
|
+
.map((row) => ({ ...normalize(row), isTombstone: row.isTombstone })),
|
|
80
|
+
})));
|
|
81
|
+
}
|
|
82
|
+
/** Inventory reads accept the owner or a currently registered same-owner server. */
|
|
83
|
+
export function createVersionInventoryClient(options) {
|
|
84
|
+
const origin = new URL(options.gatewayUrl).origin;
|
|
85
|
+
const owner = getAddress(options.ownerAddress).toLowerCase();
|
|
86
|
+
const fetcher = options.fetch ?? globalThis.fetch;
|
|
87
|
+
const idFor = (scope) => keccak256(encodeAbiParameters([{ type: "address" }, { type: "string" }], [getAddress(owner), scope]));
|
|
88
|
+
async function read(uri, signal, authenticated = true, budget) {
|
|
89
|
+
signal =
|
|
90
|
+
signal && budget?.signal
|
|
91
|
+
? AbortSignal.any([signal, budget.signal])
|
|
92
|
+
: (signal ?? budget?.signal);
|
|
93
|
+
signal?.throwIfAborted();
|
|
94
|
+
budget?.charge();
|
|
95
|
+
if (authenticated && budget && !options.boundedOwnerSigner)
|
|
96
|
+
throw new Error("Bounded inventory signing capability unavailable");
|
|
97
|
+
const signing = {
|
|
98
|
+
aud: origin,
|
|
99
|
+
method: "GET",
|
|
100
|
+
uri,
|
|
101
|
+
nonce: crypto.randomUUID(),
|
|
102
|
+
};
|
|
103
|
+
const authorization = authenticated
|
|
104
|
+
? budget && options.boundedOwnerSigner
|
|
105
|
+
? await options.boundedOwnerSigner(signing, signal)
|
|
106
|
+
: await options.ownerSigner.signRequest(signing)
|
|
107
|
+
: undefined;
|
|
108
|
+
signal?.throwIfAborted();
|
|
109
|
+
const response = await fetcher(`${origin}${uri}`, {
|
|
110
|
+
method: "GET",
|
|
111
|
+
headers: authorization ? { Authorization: authorization } : {},
|
|
112
|
+
signal,
|
|
113
|
+
cache: "no-store",
|
|
114
|
+
});
|
|
115
|
+
if (!response.ok) {
|
|
116
|
+
await response.body?.cancel();
|
|
117
|
+
throw new Error(`Gateway inventory request failed (${response.status})`);
|
|
118
|
+
}
|
|
119
|
+
return readBoundedJson(response, budget);
|
|
120
|
+
}
|
|
121
|
+
async function page(scope, paging = {}) {
|
|
122
|
+
scopeSchema.parse(scope);
|
|
123
|
+
const after = uint256.parse(paging.after ?? "0");
|
|
124
|
+
const limit = z
|
|
125
|
+
.number()
|
|
126
|
+
.int()
|
|
127
|
+
.min(1)
|
|
128
|
+
.max(1000)
|
|
129
|
+
.parse(paging.limit ?? 100);
|
|
130
|
+
const id = idFor(scope);
|
|
131
|
+
const uri = `/v1/data/${id}/versions?${new URLSearchParams({ user: owner, scope, after, limit: String(limit) })}`;
|
|
132
|
+
const result = pageSchema.parse(await read(uri, paging.signal, true, paging.budget));
|
|
133
|
+
if (result.data.dataPointId !== id ||
|
|
134
|
+
result.data.ownerAddress.toLowerCase() !== owner ||
|
|
135
|
+
result.data.scope !== scope ||
|
|
136
|
+
result.pagination.limit !== limit)
|
|
137
|
+
throw new Error("Gateway inventory response does not match request");
|
|
138
|
+
let previous = BigInt(after);
|
|
139
|
+
for (const version of result.data.versions) {
|
|
140
|
+
if (BigInt(version.expectedVersion) <= previous)
|
|
141
|
+
throw new Error("Gateway inventory versions are not strictly increasing");
|
|
142
|
+
previous = BigInt(version.expectedVersion);
|
|
143
|
+
const tombstone = version.dataHash === tombstoneData &&
|
|
144
|
+
version.metadataHash === tombstoneMetadata;
|
|
145
|
+
if (version.isTombstone !== tombstone)
|
|
146
|
+
throw new Error("Gateway inventory tombstone commitments do not match");
|
|
147
|
+
}
|
|
148
|
+
const last = result.data.versions.at(-1)?.expectedVersion ?? null;
|
|
149
|
+
if (result.data.versions.length > limit ||
|
|
150
|
+
(result.pagination.hasMore
|
|
151
|
+
? last === null || result.pagination.nextAfter !== last
|
|
152
|
+
: result.pagination.nextAfter !== null))
|
|
153
|
+
throw new Error("Gateway inventory cursor does not match page");
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
156
|
+
/** One bounded traversal, not a completeness certificate. Re-read and compare before certifying coverage. */
|
|
157
|
+
async function list(scope, readOptions = {}) {
|
|
158
|
+
const maxPages = z
|
|
159
|
+
.number()
|
|
160
|
+
.int()
|
|
161
|
+
.positive()
|
|
162
|
+
.parse(readOptions.maxPages ?? 1000);
|
|
163
|
+
let after = "0";
|
|
164
|
+
let head = null;
|
|
165
|
+
const versions = [];
|
|
166
|
+
for (let count = 0; count < maxPages; count++) {
|
|
167
|
+
const result = await page(scope, {
|
|
168
|
+
after,
|
|
169
|
+
signal: readOptions.signal,
|
|
170
|
+
budget: readOptions.budget,
|
|
171
|
+
});
|
|
172
|
+
if (count > 0 &&
|
|
173
|
+
JSON.stringify(head) !== JSON.stringify(result.data.head))
|
|
174
|
+
throw new Error("Gateway inventory head changed during traversal");
|
|
175
|
+
head = result.data.head;
|
|
176
|
+
versions.push(...result.data.versions);
|
|
177
|
+
if (!result.pagination.hasMore)
|
|
178
|
+
return { head, versions };
|
|
179
|
+
const next = result.pagination.nextAfter;
|
|
180
|
+
if (next === null)
|
|
181
|
+
throw new Error("Gateway inventory missing next cursor");
|
|
182
|
+
after = next;
|
|
183
|
+
}
|
|
184
|
+
throw new Error("Gateway inventory page budget exceeded");
|
|
185
|
+
}
|
|
186
|
+
/** Public owner scope feed includes deleted rows; reserved system scopes are excluded by Gateway. */
|
|
187
|
+
async function listScopes(readOptions = {}) {
|
|
188
|
+
const maxPages = z
|
|
189
|
+
.number()
|
|
190
|
+
.int()
|
|
191
|
+
.positive()
|
|
192
|
+
.parse(readOptions.maxPages ?? 1000);
|
|
193
|
+
const scopes = new Set();
|
|
194
|
+
const cursors = new Set();
|
|
195
|
+
let cursor = null;
|
|
196
|
+
for (let count = 0; count < maxPages; count++) {
|
|
197
|
+
const query = new URLSearchParams({
|
|
198
|
+
user: owner,
|
|
199
|
+
includeDeleted: "true",
|
|
200
|
+
limit: "100",
|
|
201
|
+
});
|
|
202
|
+
if (cursor !== null)
|
|
203
|
+
query.set("cursor", cursor);
|
|
204
|
+
const result = scopesSchema.parse(await read(`/v1/data?${query}`, readOptions.signal, false, readOptions.budget));
|
|
205
|
+
if (result.pagination.limit !== 100 ||
|
|
206
|
+
result.data.dataPoints.length > 100)
|
|
207
|
+
throw new Error("Gateway scope page does not match request");
|
|
208
|
+
for (const row of result.data.dataPoints) {
|
|
209
|
+
if (row.ownerAddress.toLowerCase() !== owner ||
|
|
210
|
+
row.id !== idFor(row.scope) ||
|
|
211
|
+
row.scope.startsWith("vana.system."))
|
|
212
|
+
throw new Error("Gateway scope response does not match owner scope");
|
|
213
|
+
scopes.add(row.scope);
|
|
214
|
+
}
|
|
215
|
+
if (!result.pagination.hasMore) {
|
|
216
|
+
if (result.pagination.nextCursor !== null)
|
|
217
|
+
throw new Error("Gateway scope cursor contradicts final page");
|
|
218
|
+
return [...scopes].sort();
|
|
219
|
+
}
|
|
220
|
+
const next = result.pagination.nextCursor;
|
|
221
|
+
if (next === null ||
|
|
222
|
+
cursors.has(next) ||
|
|
223
|
+
result.data.dataPoints.length === 0)
|
|
224
|
+
throw new Error("Gateway scope cursor did not advance");
|
|
225
|
+
cursors.add(next);
|
|
226
|
+
cursor = next;
|
|
227
|
+
}
|
|
228
|
+
throw new Error("Gateway scope page budget exceeded");
|
|
229
|
+
}
|
|
230
|
+
return { page, list, listScopes };
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=version-inventory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version-inventory.js","sourceRoot":"","sources":["../../src/additions/version-inventory.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { DurableAdditionsService } from "../additions/durable.js";
|
|
1
2
|
import type { AccessLogWriter } from "../logging/access-log.js";
|
|
2
3
|
import type { AccessLogReader } from "../logging/access-reader.js";
|
|
3
4
|
import { type DataStoragePort, type RuntimeAvailabilityPort } from "../ports/index.js";
|
|
@@ -5,12 +6,14 @@ import type { DataReadPolicyPorts } from "../policy/index.js";
|
|
|
5
6
|
import type { SyncManager } from "../sync/index.js";
|
|
6
7
|
import { type ScopeDeletionTracker } from "../sync/scope-deletions.js";
|
|
7
8
|
import type { IndexEntry } from "../storage/index/types.js";
|
|
9
|
+
import { type PdppImporter } from "../sync/pdpp-import.js";
|
|
8
10
|
import { type DeleteScopeResult } from "../sync/workers/delete.js";
|
|
9
11
|
import { type OAuthDeviceSessionLookup, type OAuthTokenStorePort } from "../contracts/index.js";
|
|
10
12
|
import type { DataFileEnvelope, DataPortabilityGatewayConfig, GatewayClient } from "@opendatalabs/vana-sdk/browser";
|
|
11
13
|
import type { ServerSigner } from "../signing/index.js";
|
|
12
14
|
import { type WriterAttribution } from "../write/attribution.js";
|
|
13
15
|
import type { LineageGatewayPort } from "../lineage/gateway.js";
|
|
16
|
+
import type { LegacyScopeViewPort } from "../storage/legacy-scope-view.js";
|
|
14
17
|
import { type X402Challenge } from "../payment/index.js";
|
|
15
18
|
export interface PersonalServerReadAuthInput {
|
|
16
19
|
request: Request;
|
|
@@ -40,6 +43,13 @@ export interface PersonalServerWriteAuthInput {
|
|
|
40
43
|
* same precedence as the owner write path). */
|
|
41
44
|
scope: string;
|
|
42
45
|
}
|
|
46
|
+
export interface PersonalServerScopeAuthInput {
|
|
47
|
+
request: Request;
|
|
48
|
+
/** Raw scope path param; auth ports that need scope binding validate it. */
|
|
49
|
+
scope: string;
|
|
50
|
+
/** The unsigned grant hint a read also takes; see `authorizeBuilderList`. */
|
|
51
|
+
grantId?: string;
|
|
52
|
+
}
|
|
43
53
|
/**
|
|
44
54
|
* Result of authorizing a DELEGATED (write-session) write. A void return
|
|
45
55
|
* means the request was authorized as the owner instead — the ingest then
|
|
@@ -140,6 +150,13 @@ export interface PersonalServerApiAuthPort {
|
|
|
140
150
|
authorizeBuilderList(request: Request, options?: {
|
|
141
151
|
grantId?: string;
|
|
142
152
|
}): Promise<PersonalServerListAuthResult | void>;
|
|
153
|
+
/**
|
|
154
|
+
* Authorize listing versions for one legacy scope. Optional so auth ports
|
|
155
|
+
* without scoped owner-token support keep the `authorizeBuilderList` gate.
|
|
156
|
+
* Returns what `authorizeBuilderList` does: void is a full listing, a
|
|
157
|
+
* result names the scopes a non-owner may see.
|
|
158
|
+
*/
|
|
159
|
+
authorizeScopeVersions?(input: PersonalServerScopeAuthInput): Promise<PersonalServerListAuthResult | void>;
|
|
143
160
|
authorizeBuilderRead(input: PersonalServerReadAuthInput): Promise<PersonalServerReadAuthResult | void>;
|
|
144
161
|
/**
|
|
145
162
|
* Authorize a data ingest (POST /v1/data/:scope). Optional — auth ports
|
|
@@ -179,7 +196,14 @@ export interface PersonalServerIngestSyncManager {
|
|
|
179
196
|
deleteScope?(scope: string): Promise<DeleteScopeResult>;
|
|
180
197
|
}
|
|
181
198
|
export interface PersonalServerDataApiDeps {
|
|
199
|
+
additions?: DurableAdditionsService;
|
|
182
200
|
storage: DataStoragePort;
|
|
201
|
+
/**
|
|
202
|
+
* Latest bodies of connector scopes the owner collects into the canonical
|
|
203
|
+
* record store. Absent = every scope is read from `storage`, as before.
|
|
204
|
+
* Explicit versions (`fileId`, `at`) always read from `storage`.
|
|
205
|
+
*/
|
|
206
|
+
legacyScopeView?: LegacyScopeViewPort;
|
|
183
207
|
auth: PersonalServerApiAuthPort;
|
|
184
208
|
accessLogWriter: AccessLogWriter;
|
|
185
209
|
syncManager?: PersonalServerIngestSyncManager | null;
|
|
@@ -275,6 +299,25 @@ export interface PersonalServerDataApiDeps {
|
|
|
275
299
|
/** The stamped `$lineage.sources` of the written record, if any. */
|
|
276
300
|
lineageSources?: string[];
|
|
277
301
|
}) => void;
|
|
302
|
+
/**
|
|
303
|
+
* Import a locally-ingested envelope into the PDPP record store, when the
|
|
304
|
+
* deployment mounted one.
|
|
305
|
+
*
|
|
306
|
+
* The same importer, the same envelope shape and the same best-effort
|
|
307
|
+
* contract as the download worker's (`sync/workers/download.ts`). It is
|
|
308
|
+
* here because a `$pdpp`-annotated envelope can reach this server two ways
|
|
309
|
+
* — pulled from the gateway by sync, or POSTed to `/v1/data/:scope` by a
|
|
310
|
+
* local owner-authenticated producer — and only the first offered it to the
|
|
311
|
+
* importer. A record that arrived by the second route was stored and
|
|
312
|
+
* indexed but never became readable over the PDPP resource surface, which
|
|
313
|
+
* made a local producer's write silently half-land.
|
|
314
|
+
*
|
|
315
|
+
* Runs AFTER the legacy write and index, never in place of them, and a
|
|
316
|
+
* failure is logged and swallowed: the record is already durable by the
|
|
317
|
+
* time this runs, so throwing would turn a committed write into a 500 and
|
|
318
|
+
* invite a duplicate on retry.
|
|
319
|
+
*/
|
|
320
|
+
pdppImporter?: PdppImporter;
|
|
278
321
|
/**
|
|
279
322
|
* Called on GET /v1/data/:scope once the read is authorized (a live grant
|
|
280
323
|
* covering the scope, or the owner) and the scope is not tombstoned, and
|
|
@@ -322,6 +365,31 @@ export interface PersonalServerOauthTokenApiDeps {
|
|
|
322
365
|
export interface PersonalServerApiDispatchOptions {
|
|
323
366
|
basePath?: string;
|
|
324
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* What a 500 out of this layer must leave behind.
|
|
370
|
+
*
|
|
371
|
+
* These handlers run INSIDE the Hono app, so an error they catch never
|
|
372
|
+
* reaches the framework's `onError` — which is the one place that used to
|
|
373
|
+
* log. The result was that any unexpected fault on `/v1/data` answered a
|
|
374
|
+
* bare `INTERNAL_ERROR` and left nothing in stdout, nothing in the access
|
|
375
|
+
* log, and nothing for an operator to work from. Diagnosing one meant
|
|
376
|
+
* patching the server.
|
|
377
|
+
*
|
|
378
|
+
* Deliberately no request body, no headers, no query string and no
|
|
379
|
+
* authorization material: the route and method are the diagnostic value, and
|
|
380
|
+
* a grant id or signed header in a log file is a credential at rest. The
|
|
381
|
+
* request id is minted here when the caller did not supply one so the log
|
|
382
|
+
* line and the response can always be correlated.
|
|
383
|
+
*/
|
|
384
|
+
export interface ApiErrorLogContext {
|
|
385
|
+
logger?: PersonalServerApiLogger;
|
|
386
|
+
/** Stable route label, e.g. `GET /v1/data/:scope`. Never the raw path. */
|
|
387
|
+
route: string;
|
|
388
|
+
/** Correlates the log line with the response. Minted if absent. */
|
|
389
|
+
requestId?: string;
|
|
390
|
+
/** Non-secret route parameters worth having in the line (e.g. scope). */
|
|
391
|
+
detail?: Record<string, string | undefined>;
|
|
392
|
+
}
|
|
325
393
|
/**
|
|
326
394
|
* The grant the caller nominates for a read: `?grantId=` or the
|
|
327
395
|
* `x-ps-grant-id` header, the SDK's shape on every read route. Exported so
|
|
@@ -384,7 +452,7 @@ export declare function handleX402Cycle(input: X402CycleInput): Promise<X402Cycl
|
|
|
384
452
|
* Gateway unreachability never fails the read: the tracker answers from its
|
|
385
453
|
* last known state, which is the documented offline behaviour.
|
|
386
454
|
*/
|
|
387
|
-
export declare function resolveReadDeletion(deps: Pick<PersonalServerDataApiDeps, "scopeDeletions" | "serverOwner">, scope: string, entry: ReadDeletionEntry | null | undefined): Promise<{
|
|
455
|
+
export declare function resolveReadDeletion(deps: Pick<PersonalServerDataApiDeps, "scopeDeletions" | "serverOwner">, scope: string, entry: ReadDeletionEntry | null | undefined, body?: "file" | "canonical"): Promise<{
|
|
388
456
|
scope: string;
|
|
389
457
|
dataPointId: string | null;
|
|
390
458
|
deletedAt: string;
|
|
@@ -394,7 +462,7 @@ export declare function resolveReadDeletion(deps: Pick<PersonalServerDataApiDeps
|
|
|
394
462
|
* served. Call it before any payment step: a builder must never be charged
|
|
395
463
|
* for a scope the owner deleted.
|
|
396
464
|
*/
|
|
397
|
-
export declare function assertScopeNotDeleted(deps: Pick<PersonalServerDataApiDeps, "scopeDeletions" | "serverOwner">, scope: string, entry: ReadDeletionEntry | null | undefined): Promise<void>;
|
|
465
|
+
export declare function assertScopeNotDeleted(deps: Pick<PersonalServerDataApiDeps, "scopeDeletions" | "serverOwner">, scope: string, entry: ReadDeletionEntry | null | undefined, body?: "file" | "canonical"): Promise<void>;
|
|
398
466
|
/** The index fields the deletion gate needs from the entry a read would serve. */
|
|
399
467
|
export type ReadDeletionEntry = Pick<IndexEntry, "version" | "dataPointId" | "afterTombstoneVersion">;
|
|
400
468
|
/** Everything the fulfillment reporters need; see the MCP tool wrapper. */
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|