@opendatalabs/personal-server-ts-core 1.33.8 → 1.34.1
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 +5 -1
- package/dist/legacy-projection/index.d.ts.map +1 -1
- package/dist/legacy-projection/index.js +55 -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/read-client.d.ts.map +1 -1
- package/dist/mcp/read-client.js +10 -1
- package/dist/mcp/read-client.js.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 +13 -10
- package/dist/storage/legacy-projection.d.ts.map +1 -1
- package/dist/storage/legacy-projection.js +269 -74
- 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
|
@@ -6,24 +6,20 @@
|
|
|
6
6
|
* as `chatgpt.conversations` = `{conversations, total}`. `withLegacyProjection`
|
|
7
7
|
* wraps the raw storage port: when the latest stored body of a projected
|
|
8
8
|
* scope is `{records}`, reads return the legacy body projected from that
|
|
9
|
-
* stream and its sibling streams.
|
|
10
|
-
*
|
|
9
|
+
* stream and its sibling streams. Legacy-shaped bodies are served as stored;
|
|
10
|
+
* raw bodies that cannot be projected fail the served read. Writes, listings
|
|
11
|
+
* and the sync-facing methods pass through.
|
|
11
12
|
*
|
|
12
13
|
* Give the wrapped ("served") port to every reader of data: the HTTP data
|
|
13
14
|
* route, MCP, derivatives and the job worker. Give the raw port to sync
|
|
14
15
|
* upload/download, so canonical bytes (and their hashes) never change.
|
|
15
16
|
*/
|
|
16
|
-
import { LEGACY_SCOPE_BINDINGS, projectPdppRecordsToLegacyPayload, } from "../legacy-projection/index.js";
|
|
17
|
+
import { alternateLegacyBindingsForScope, LEGACY_SCOPE_BINDINGS, projectPdppRecordsToLegacyPayload, } from "../legacy-projection/index.js";
|
|
18
|
+
import { ProtocolError } from "../errors/catalog.js";
|
|
17
19
|
import { isBinaryEnvelope } from "../contracts/binary.js";
|
|
18
20
|
import { buildDataBlocksAsync } from "./blocks/build.js";
|
|
19
21
|
import { readBuiltScopeBlocks } from "./blocks/page.js";
|
|
20
22
|
import { previewEnvelopeValue } from "./preview.js";
|
|
21
|
-
/**
|
|
22
|
-
* Sources whose `{records}` bodies are projected. Other sources either emit
|
|
23
|
-
* legacy wrappers themselves (GitHub, Strava) or have no real-shape parity
|
|
24
|
-
* evidence yet (Oura), so their stored bodies are served as stored.
|
|
25
|
-
*/
|
|
26
|
-
const PROJECTED_SOURCES = new Set(["chatgpt", "claude"]);
|
|
27
23
|
/** Keys the server stamps into `data`; they are not part of the body. */
|
|
28
24
|
const SERVER_STAMP_KEYS = new Set([
|
|
29
25
|
"$writtenBy",
|
|
@@ -39,9 +35,9 @@ export function classifyStoredBody(scope, data) {
|
|
|
39
35
|
const SERVED = Symbol.for("personal-server-ts.legacy-projection.served");
|
|
40
36
|
/** A served port's own projected view of one stored version, for supersede. */
|
|
41
37
|
const PROJECTED_VIEW = Symbol.for("personal-server-ts.legacy-projection.projected-view");
|
|
42
|
-
const textEncoder = new TextEncoder();
|
|
43
38
|
/** How many stored versions' body forms one served port remembers. */
|
|
44
39
|
const FORM_CACHE_SIZE = 64;
|
|
40
|
+
const textEncoder = new TextEncoder();
|
|
45
41
|
/**
|
|
46
42
|
* Wrap a raw storage port so reads of projected scopes return legacy bodies.
|
|
47
43
|
* Wrapping an already wrapped port returns it unchanged.
|
|
@@ -52,16 +48,24 @@ export function withLegacyProjection(raw, options = {}) {
|
|
|
52
48
|
// One entry, keyed by the versions of every input. It saves re-projecting
|
|
53
49
|
// on repeated reads of the same data; it is not a persistent cache.
|
|
54
50
|
let memo = null;
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
// not on every read. Bounded; the oldest entry goes first.
|
|
51
|
+
// Classification is safe to reuse only for the same immutable stored
|
|
52
|
+
// version. The requested version is classified before the projection cache.
|
|
58
53
|
const forms = new Map();
|
|
59
|
-
const rememberForm = (
|
|
60
|
-
forms.set(
|
|
54
|
+
const rememberForm = (key, value) => {
|
|
55
|
+
forms.set(key, value);
|
|
61
56
|
if (forms.size > FORM_CACHE_SIZE) {
|
|
62
57
|
forms.delete(forms.keys().next().value);
|
|
63
58
|
}
|
|
64
59
|
};
|
|
60
|
+
function failProjection(scope, collectedAt, error) {
|
|
61
|
+
options.onIssue?.({ kind: "projection_failed", scope, collectedAt, error });
|
|
62
|
+
throw new ProtocolError(409, "LEGACY_PROJECTION_UNAVAILABLE", `Cannot serve the legacy view for scope "${scope}"`, {
|
|
63
|
+
scope,
|
|
64
|
+
collectedAt,
|
|
65
|
+
reason: "reason" in error ? error.reason : error.kind,
|
|
66
|
+
projectionError: error.kind,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
65
69
|
/**
|
|
66
70
|
* The projected view of a stored version, or null when it is served as
|
|
67
71
|
* stored. `own` is the stored envelope when it had to be read to decide.
|
|
@@ -69,7 +73,43 @@ export function withLegacyProjection(raw, options = {}) {
|
|
|
69
73
|
async function resolve(scope, collectedAt) {
|
|
70
74
|
if (!isProjectedScope(scope))
|
|
71
75
|
return { view: null };
|
|
72
|
-
const
|
|
76
|
+
const requestedEntry = raw.findEntry({ scope, at: collectedAt });
|
|
77
|
+
const ownVersion = requestedEntry
|
|
78
|
+
? `${requestedEntry.id}@${requestedEntry.collectedAt}`
|
|
79
|
+
: `unindexed@${collectedAt}`;
|
|
80
|
+
const formKey = JSON.stringify([scope, ownVersion]);
|
|
81
|
+
let cached = forms.get(formKey);
|
|
82
|
+
let own;
|
|
83
|
+
if (!cached) {
|
|
84
|
+
own = await raw.readEnvelope(scope, collectedAt);
|
|
85
|
+
const form = classifyStoredBody(scope, own.data);
|
|
86
|
+
cached = {
|
|
87
|
+
form,
|
|
88
|
+
...(form === "pdpp-projected"
|
|
89
|
+
? {
|
|
90
|
+
selected: selectProjectionBinding(scope, own.data.records),
|
|
91
|
+
}
|
|
92
|
+
: {}),
|
|
93
|
+
};
|
|
94
|
+
rememberForm(formKey, cached);
|
|
95
|
+
}
|
|
96
|
+
if (cached.form === "legacy")
|
|
97
|
+
return { view: null, own };
|
|
98
|
+
if (cached.form === "pdpp-unprojected") {
|
|
99
|
+
failProjection(scope, collectedAt, {
|
|
100
|
+
kind: "incomplete_scope",
|
|
101
|
+
scope,
|
|
102
|
+
reason: "Stored records are not rows of one stream",
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
if (!cached.selected) {
|
|
106
|
+
failProjection(scope, collectedAt, {
|
|
107
|
+
kind: "incomplete_scope",
|
|
108
|
+
scope,
|
|
109
|
+
reason: "Stored records do not identify one compatible connector profile",
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
const { binding, profileKey } = cached.selected;
|
|
73
113
|
const source = scope.slice(0, scope.indexOf("."));
|
|
74
114
|
// The latest version joins the latest siblings, whatever order one run
|
|
75
115
|
// wrote its streams in. A historical version joins, of the sibling
|
|
@@ -77,12 +117,26 @@ export function withLegacyProjection(raw, options = {}) {
|
|
|
77
117
|
// in time: the one its own run wrote, before or after it.
|
|
78
118
|
const supersededAt = nextVersionTime(raw, scope, collectedAt);
|
|
79
119
|
const inputs = binding.pdppStreams.map((stream) => {
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
120
|
+
const canonicalScope = `${source}.${stream}`;
|
|
121
|
+
// For a single-stream alias, prefer the exact requested version when
|
|
122
|
+
// it exists. This keeps alias writes, body classification and cursors
|
|
123
|
+
// tied to the version the caller asked to read.
|
|
124
|
+
let storedScope = binding.pdppStreams.length === 1 && requestedEntry
|
|
125
|
+
? scope
|
|
126
|
+
: canonicalScope;
|
|
127
|
+
let entry = storedScope === scope
|
|
128
|
+
? requestedEntry
|
|
83
129
|
: supersededAt === undefined
|
|
84
130
|
? raw.findEntry({ scope: storedScope })
|
|
85
131
|
: nearestBefore(raw, storedScope, collectedAt, supersededAt);
|
|
132
|
+
// Some PDPP streams have a legacy scope alias (for example,
|
|
133
|
+
// youtube.history -> youtube.watch_history). Lite stores the stream
|
|
134
|
+
// envelope under that alias, so use it as the single stream input when
|
|
135
|
+
// no canonical stream-scope entry exists.
|
|
136
|
+
if (!entry && binding.pdppStreams.length === 1 && storedScope !== scope) {
|
|
137
|
+
storedScope = scope;
|
|
138
|
+
entry = requestedEntry;
|
|
139
|
+
}
|
|
86
140
|
return {
|
|
87
141
|
stream,
|
|
88
142
|
storedScope,
|
|
@@ -92,33 +146,37 @@ export function withLegacyProjection(raw, options = {}) {
|
|
|
92
146
|
version: entry ? `${entry.id}@${entry.collectedAt}` : null,
|
|
93
147
|
};
|
|
94
148
|
});
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
const key = JSON.stringify([scope, inputs.map((input) => input.version)]);
|
|
149
|
+
const key = JSON.stringify([
|
|
150
|
+
scope,
|
|
151
|
+
ownVersion,
|
|
152
|
+
profileKey,
|
|
153
|
+
inputs.map(({ storedScope, version }) => [storedScope, version]),
|
|
154
|
+
]);
|
|
103
155
|
if (memo?.key === key)
|
|
104
|
-
return { view: memo.value };
|
|
105
|
-
|
|
106
|
-
const
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
let value = null;
|
|
110
|
-
if (form === "pdpp-projected") {
|
|
111
|
-
value = await project(scope, collectedAt, own, inputs);
|
|
112
|
-
if (value)
|
|
113
|
-
value.view = key;
|
|
114
|
-
}
|
|
156
|
+
return { view: memo.value, own };
|
|
157
|
+
own ??= await raw.readEnvelope(scope, collectedAt);
|
|
158
|
+
const value = await project(scope, collectedAt, own, inputs, binding, profileKey);
|
|
159
|
+
if (value)
|
|
160
|
+
value.view = key;
|
|
115
161
|
memo = { key, value };
|
|
116
162
|
return { view: value, own };
|
|
117
163
|
}
|
|
118
164
|
async function projected(scope, collectedAt) {
|
|
119
165
|
return (await resolve(scope, collectedAt)).view;
|
|
120
166
|
}
|
|
121
|
-
async function
|
|
167
|
+
async function projectedForSupersede(scope, collectedAt) {
|
|
168
|
+
try {
|
|
169
|
+
return await projected(scope, collectedAt);
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
if (error instanceof ProtocolError &&
|
|
173
|
+
error.errorCode === "LEGACY_PROJECTION_UNAVAILABLE") {
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
176
|
+
throw error;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
async function project(scope, collectedAt, own, inputs, binding, profileKey) {
|
|
122
180
|
const records = [];
|
|
123
181
|
const fetchedStreams = [];
|
|
124
182
|
// The projection time is the newest input version, so the same stored
|
|
@@ -138,26 +196,35 @@ export function withLegacyProjection(raw, options = {}) {
|
|
|
138
196
|
if (rows.some(isTaggedRecord))
|
|
139
197
|
continue;
|
|
140
198
|
fetchedStreams.push(input.stream);
|
|
141
|
-
if (input.collectedAt > now)
|
|
199
|
+
if (Date.parse(input.collectedAt) > Date.parse(now)) {
|
|
142
200
|
now = input.collectedAt;
|
|
201
|
+
}
|
|
143
202
|
for (const row of rows) {
|
|
144
203
|
records.push({ stream: input.stream, data: row });
|
|
145
204
|
}
|
|
146
205
|
}
|
|
147
|
-
|
|
206
|
+
if (!recordsMatchBindingSource(records, binding, alternateLegacyBindingsForScope(scope).size > 0)) {
|
|
207
|
+
failProjection(scope, collectedAt, {
|
|
208
|
+
kind: "incomplete_scope",
|
|
209
|
+
scope,
|
|
210
|
+
reason: "Joined streams have conflicting connector identities",
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
// Connector identity is storage metadata, not part of an app's legacy row.
|
|
214
|
+
const projectionRecords = records.map((record) => {
|
|
215
|
+
const data = { ...record.data };
|
|
216
|
+
delete data.$pdpp;
|
|
217
|
+
return { ...record, data };
|
|
218
|
+
});
|
|
219
|
+
const result = projectPdppRecordsToLegacyPayload(scope, projectionRecords, {
|
|
148
220
|
fetchedStreams,
|
|
149
221
|
now,
|
|
150
|
-
|
|
222
|
+
...(profileKey ? { profileKey } : {}),
|
|
223
|
+
orderByPrimaryKey: binding.rowOrder !== "arrival",
|
|
151
224
|
allowMissingJoinStreams: true,
|
|
152
225
|
});
|
|
153
226
|
if (!result.ok) {
|
|
154
|
-
|
|
155
|
-
kind: "projection_failed",
|
|
156
|
-
scope,
|
|
157
|
-
collectedAt,
|
|
158
|
-
error: result.error,
|
|
159
|
-
});
|
|
160
|
-
return null;
|
|
227
|
+
failProjection(scope, collectedAt, result.error);
|
|
161
228
|
}
|
|
162
229
|
if (result.diagnostics?.length) {
|
|
163
230
|
options.onIssue?.({
|
|
@@ -191,7 +258,7 @@ export function withLegacyProjection(raw, options = {}) {
|
|
|
191
258
|
}
|
|
192
259
|
const overrides = {
|
|
193
260
|
[SERVED]: true,
|
|
194
|
-
[PROJECTED_VIEW]:
|
|
261
|
+
[PROJECTED_VIEW]: projectedForSupersede,
|
|
195
262
|
async readEnvelope(scope, collectedAt) {
|
|
196
263
|
const { view, own } = await resolve(scope, collectedAt);
|
|
197
264
|
return view?.envelope ?? own ?? raw.readEnvelope(scope, collectedAt);
|
|
@@ -297,10 +364,54 @@ export function legacyScopesProjectedFrom(scope) {
|
|
|
297
364
|
.map((binding) => binding.scope);
|
|
298
365
|
}
|
|
299
366
|
function isProjectedScope(scope) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
367
|
+
return LEGACY_SCOPE_BINDINGS.has(scope);
|
|
368
|
+
}
|
|
369
|
+
function selectProjectionBinding(scope, rows) {
|
|
370
|
+
const original = LEGACY_SCOPE_BINDINGS.get(scope);
|
|
371
|
+
const alternates = alternateLegacyBindingsForScope(scope);
|
|
372
|
+
const identities = rows.map(recordSourceId);
|
|
373
|
+
if (identities.includes(null))
|
|
374
|
+
return null;
|
|
375
|
+
if (alternates.size > 0 && identities.includes(undefined))
|
|
376
|
+
return null;
|
|
377
|
+
const sources = new Set(identities.filter((id) => !!id));
|
|
378
|
+
if (sources.size > 1)
|
|
379
|
+
return null;
|
|
380
|
+
if (sources.size === 0) {
|
|
381
|
+
return alternates.size === 0 ? { binding: original } : null;
|
|
382
|
+
}
|
|
383
|
+
const sourceId = [...sources][0];
|
|
384
|
+
const connectorKey = sourceId.slice(sourceId.lastIndexOf("/") + 1);
|
|
385
|
+
const alternate = alternates.get(connectorKey);
|
|
386
|
+
if (alternate && sourceIdForBinding(alternate) === sourceId) {
|
|
387
|
+
return { binding: alternate, profileKey: connectorKey };
|
|
388
|
+
}
|
|
389
|
+
return sourceIdForBinding(original) === sourceId
|
|
390
|
+
? { binding: original }
|
|
391
|
+
: null;
|
|
392
|
+
}
|
|
393
|
+
function recordSourceId(data) {
|
|
394
|
+
if (!data || typeof data !== "object" || Array.isArray(data)) {
|
|
395
|
+
return null;
|
|
396
|
+
}
|
|
397
|
+
if (!("$pdpp" in data))
|
|
398
|
+
return undefined;
|
|
399
|
+
const metadata = data.$pdpp;
|
|
400
|
+
if (!metadata || typeof metadata !== "object" || Array.isArray(metadata)) {
|
|
401
|
+
return null;
|
|
402
|
+
}
|
|
403
|
+
const sourceId = metadata.sourceId;
|
|
404
|
+
return typeof sourceId === "string" && sourceId ? sourceId : null;
|
|
405
|
+
}
|
|
406
|
+
function sourceIdForBinding(binding) {
|
|
407
|
+
return binding.pdppSource.replace("/connectors/", "/sources/");
|
|
408
|
+
}
|
|
409
|
+
function recordsMatchBindingSource(records, binding, requireIdentity) {
|
|
410
|
+
const expected = sourceIdForBinding(binding);
|
|
411
|
+
return records.every(({ data }) => {
|
|
412
|
+
const actual = recordSourceId(data);
|
|
413
|
+
return actual === expected || (!requireIdentity && actual === undefined);
|
|
414
|
+
});
|
|
304
415
|
}
|
|
305
416
|
const VERSION_PAGE_SIZE = 100;
|
|
306
417
|
/** Versions of `scope`, newest first, until `stop` returns true. */
|
|
@@ -378,13 +489,15 @@ function isRecordsBody(data) {
|
|
|
378
489
|
/**
|
|
379
490
|
* After a `{records}` version of a projected scope is committed, delete the
|
|
380
491
|
* scope's older owner-written legacy versions: the new version serves the
|
|
381
|
-
* same legacy view, so they are a second copy.
|
|
492
|
+
* same legacy view, so they are a second copy. This explicit supersede path
|
|
493
|
+
* remains available only for the original ChatGPT and Claude sources. Other
|
|
494
|
+
* bound sources retain legacy versions and replace them only in the read view.
|
|
382
495
|
*
|
|
383
496
|
* It deletes nothing unless `storage` is a served port (see
|
|
384
497
|
* `withLegacyProjection`) whose projection of the new version is complete:
|
|
385
498
|
* no join stream missing and no row left out. It also deletes nothing when
|
|
386
|
-
* the projection holds fewer items than
|
|
387
|
-
* any item
|
|
499
|
+
* the projection holds fewer items than a legacy version, or lacks
|
|
500
|
+
* any item identity that version holds, so an empty or time-windowed run cannot
|
|
388
501
|
* replace a full history. For Claude scopes it also deletes nothing when an
|
|
389
502
|
* item holds fewer nested messages or documents than the legacy item. A legacy version must carry the scope's legacy
|
|
390
503
|
* collection key (`conversations` for `chatgpt.conversations`); PDPP
|
|
@@ -399,6 +512,14 @@ export async function supersedeLegacyVersions(storage, scope, committedAt) {
|
|
|
399
512
|
superseded: [],
|
|
400
513
|
refused,
|
|
401
514
|
});
|
|
515
|
+
if (scope.startsWith("youtube.")) {
|
|
516
|
+
return refuse("YouTube legacy versions are retained for read-time projection");
|
|
517
|
+
}
|
|
518
|
+
if (isProjectedScope(scope) &&
|
|
519
|
+
!scope.startsWith("chatgpt.") &&
|
|
520
|
+
!scope.startsWith("claude.")) {
|
|
521
|
+
return refuse("Legacy versions are retained for read-time projection");
|
|
522
|
+
}
|
|
402
523
|
const readStored = (storage.readStoredEnvelope ?? storage.readEnvelope).bind(storage);
|
|
403
524
|
const committed = await readStored(scope, committedAt);
|
|
404
525
|
if (classifyStoredBody(scope, committed.data) !== "pdpp-projected") {
|
|
@@ -413,6 +534,9 @@ export async function supersedeLegacyVersions(storage, scope, committedAt) {
|
|
|
413
534
|
return refuse(`the projection is partial (${kinds.join(", ")})`);
|
|
414
535
|
}
|
|
415
536
|
const collection = legacyCollectionKey(scope);
|
|
537
|
+
if (!collection) {
|
|
538
|
+
return refuse(`the legacy collection for ${scope} is unsupported`);
|
|
539
|
+
}
|
|
416
540
|
const projectedItems = view.envelope.data[collection];
|
|
417
541
|
const projectedCount = projectedItems.length;
|
|
418
542
|
const committedMs = Date.parse(committedAt);
|
|
@@ -441,23 +565,37 @@ export async function supersedeLegacyVersions(storage, scope, committedAt) {
|
|
|
441
565
|
legacy.push({
|
|
442
566
|
collectedAt,
|
|
443
567
|
count: items.length,
|
|
444
|
-
ids: items.map(itemId).filter((id) => id !== undefined),
|
|
445
568
|
items,
|
|
446
569
|
});
|
|
447
570
|
}
|
|
448
571
|
const newest = legacy.reduce((best, version) => !best || Date.parse(version.collectedAt) > Date.parse(best.collectedAt)
|
|
449
572
|
? version
|
|
450
573
|
: best, undefined);
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
574
|
+
const projectedCounts = new Map();
|
|
575
|
+
for (const item of projectedItems) {
|
|
576
|
+
const identity = itemIdentity(scope, item);
|
|
577
|
+
if (!identity)
|
|
578
|
+
continue;
|
|
579
|
+
projectedCounts.set(identity, (projectedCounts.get(identity) ?? 0) + 1);
|
|
580
|
+
}
|
|
581
|
+
for (const version of legacy) {
|
|
582
|
+
const versionLabel = version === newest ? "the newest legacy version" : "a legacy version";
|
|
583
|
+
if (projectedCount < version.count) {
|
|
584
|
+
return refuse(`the projection has ${projectedCount} ${collection}; ${versionLabel} has ${version.count}`);
|
|
585
|
+
}
|
|
586
|
+
const requiredCounts = new Map();
|
|
587
|
+
for (const item of version.items) {
|
|
588
|
+
const identity = itemIdentity(scope, item);
|
|
589
|
+
if (!identity) {
|
|
590
|
+
return refuse(`a legacy ${collection} item has no provable identity`);
|
|
591
|
+
}
|
|
592
|
+
requiredCounts.set(identity, (requiredCounts.get(identity) ?? 0) + 1);
|
|
459
593
|
}
|
|
460
|
-
const
|
|
594
|
+
const missing = [...requiredCounts].reduce((count, [identity, required]) => count + Math.max(0, required - (projectedCounts.get(identity) ?? 0)), 0);
|
|
595
|
+
if (missing > 0) {
|
|
596
|
+
return refuse(`the projection lacks ${missing} of the ${collection} in ${versionLabel}`);
|
|
597
|
+
}
|
|
598
|
+
const shortfall = nestedShortfall(scope, version.items, projectedItems);
|
|
461
599
|
if (shortfall)
|
|
462
600
|
return refuse(shortfall);
|
|
463
601
|
}
|
|
@@ -486,6 +624,10 @@ const NESTED_ITEMS = {
|
|
|
486
624
|
held: arrayLength(field(item, "messages")),
|
|
487
625
|
selfShort: false,
|
|
488
626
|
}),
|
|
627
|
+
"youtube.playlistItems": (item) => ({
|
|
628
|
+
held: arrayLength(field(item, "items")),
|
|
629
|
+
selfShort: false,
|
|
630
|
+
}),
|
|
489
631
|
"claude.projects": (item) => {
|
|
490
632
|
const detail = field(item, "detail");
|
|
491
633
|
const rawDocs = field(detail, "raw_docs");
|
|
@@ -511,18 +653,48 @@ function nestedShortfall(scope, legacyItems, projectedItems) {
|
|
|
511
653
|
const nested = NESTED_ITEMS[scope];
|
|
512
654
|
if (!nested)
|
|
513
655
|
return undefined;
|
|
514
|
-
const
|
|
515
|
-
|
|
656
|
+
const heldByIdentity = (items) => {
|
|
657
|
+
const held = new Map();
|
|
658
|
+
for (const item of items) {
|
|
659
|
+
const identity = itemIdentity(scope, item);
|
|
660
|
+
if (!identity)
|
|
661
|
+
continue;
|
|
662
|
+
const values = held.get(identity) ?? [];
|
|
663
|
+
values.push(nested(item).held);
|
|
664
|
+
held.set(identity, values);
|
|
665
|
+
}
|
|
666
|
+
for (const values of held.values())
|
|
667
|
+
values.sort((left, right) => right - left);
|
|
668
|
+
return held;
|
|
669
|
+
};
|
|
670
|
+
const legacyHeld = heldByIdentity(legacyItems);
|
|
671
|
+
const projectedHeld = heldByIdentity(projectedItems);
|
|
672
|
+
let short = 0;
|
|
673
|
+
for (const [identity, required] of legacyHeld) {
|
|
674
|
+
const available = projectedHeld.get(identity) ?? [];
|
|
675
|
+
short += required.filter((count, index) => (available[index] ?? 0) < count).length;
|
|
676
|
+
}
|
|
516
677
|
// A project whose own source lists docs the projection lacks.
|
|
517
678
|
const incomplete = projectedItems.filter((item) => nested(item).selfShort);
|
|
518
|
-
const count = short
|
|
679
|
+
const count = short + incomplete.length;
|
|
519
680
|
return count > 0
|
|
520
|
-
? `the projection holds fewer nested rows than the source or
|
|
681
|
+
? `the projection holds fewer nested rows than the source or a legacy version for ${count} of the ${legacyCollectionKey(scope)}`
|
|
521
682
|
: undefined;
|
|
522
683
|
}
|
|
523
|
-
|
|
684
|
+
const LEGACY_COLLECTION_KEYS = {
|
|
685
|
+
"youtube.profile": null,
|
|
686
|
+
"youtube.history": "history",
|
|
687
|
+
"youtube.subscriptions": "subscriptions",
|
|
688
|
+
"youtube.playlists": "playlists",
|
|
689
|
+
"youtube.playlistItems": "playlists",
|
|
690
|
+
"youtube.likes": "likedVideos",
|
|
691
|
+
"youtube.watchLater": "watchLater",
|
|
692
|
+
};
|
|
693
|
+
/** The array a legacy body holds, or null for singleton/unsupported shapes. */
|
|
524
694
|
function legacyCollectionKey(scope) {
|
|
525
|
-
return scope
|
|
695
|
+
return scope in LEGACY_COLLECTION_KEYS
|
|
696
|
+
? LEGACY_COLLECTION_KEYS[scope]
|
|
697
|
+
: scope.slice(scope.indexOf(".") + 1);
|
|
526
698
|
}
|
|
527
699
|
/**
|
|
528
700
|
* The items of an owner-written legacy body of `scope`, or null when the
|
|
@@ -535,9 +707,32 @@ function legacyCollection(scope, data) {
|
|
|
535
707
|
}
|
|
536
708
|
if (isRecordsBody(data) || "$writtenBy" in data)
|
|
537
709
|
return null;
|
|
538
|
-
const
|
|
710
|
+
const collection = legacyCollectionKey(scope);
|
|
711
|
+
if (!collection)
|
|
712
|
+
return null;
|
|
713
|
+
const items = data[collection];
|
|
539
714
|
return Array.isArray(items) ? items : null;
|
|
540
715
|
}
|
|
716
|
+
/** Stable identity fields for scopes whose legacy keys differ from `id`. */
|
|
717
|
+
const IDENTITY_FIELDS = {
|
|
718
|
+
"youtube.history": ["videoId", "videoUrl"],
|
|
719
|
+
"youtube.subscriptions": ["channelId", "channelUrl"],
|
|
720
|
+
"youtube.playlists": ["playlistId", "url"],
|
|
721
|
+
"youtube.playlistItems": ["playlistId"],
|
|
722
|
+
"youtube.likes": ["videoId", "videoUrl"],
|
|
723
|
+
"youtube.watchLater": ["videoId", "videoUrl"],
|
|
724
|
+
};
|
|
725
|
+
/** Stable identity used to prove that a projection covers a legacy item. */
|
|
726
|
+
function itemIdentity(scope, item) {
|
|
727
|
+
for (const key of IDENTITY_FIELDS[scope] ?? []) {
|
|
728
|
+
const value = field(item, key);
|
|
729
|
+
if (typeof value === "string" && value.length > 0) {
|
|
730
|
+
return `${key}:${value}`;
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
const id = itemId(item);
|
|
734
|
+
return id === undefined ? undefined : `id:${id}`;
|
|
735
|
+
}
|
|
541
736
|
/** A legacy item's `id` (or `uuid`), when it has a string one. */
|
|
542
737
|
function itemId(item) {
|
|
543
738
|
if (item === null || typeof item !== "object")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-projection.js","sourceRoot":"","sources":["../../src/storage/legacy-projection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legacy-projection.js","sourceRoot":"","sources":["../../src/storage/legacy-projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Reviewed legacy collector defects for coverage comparison. */
|
|
2
|
+
export declare const LEGACY_COVERAGE_EXCEPTIONS: readonly [{
|
|
3
|
+
readonly scope: "chatgpt.memories";
|
|
4
|
+
readonly path: "$.memories[].created_at";
|
|
5
|
+
readonly reason: "legacy collector wrote collection time; canonical carries source creation time";
|
|
6
|
+
readonly authority: "canonical";
|
|
7
|
+
}];
|
|
8
|
+
//# sourceMappingURL=legacy-scope-coverage-exceptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-scope-coverage-exceptions.d.ts","sourceRoot":"","sources":["../../src/storage/legacy-scope-coverage-exceptions.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,eAAO,MAAM,0BAA0B;;;;;EAQ7B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Reviewed legacy collector defects for coverage comparison. */
|
|
2
|
+
export const LEGACY_COVERAGE_EXCEPTIONS = [
|
|
3
|
+
{
|
|
4
|
+
scope: "chatgpt.memories",
|
|
5
|
+
path: "$.memories[].created_at",
|
|
6
|
+
reason: "legacy collector wrote collection time; canonical carries source creation time",
|
|
7
|
+
authority: "canonical",
|
|
8
|
+
},
|
|
9
|
+
];
|
|
10
|
+
//# sourceMappingURL=legacy-scope-coverage-exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy-scope-coverage-exceptions.js","sourceRoot":"","sources":["../../src/storage/legacy-scope-coverage-exceptions.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC;QACE,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EACJ,gFAAgF;QAClF,SAAS,EAAE,WAAW;KACvB;CACO,CAAC"}
|