@opendatalabs/personal-server-ts-server 1.24.1 → 1.24.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EACV,4BAA4B,EAC5B,aAAa,EACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAKL,WAAW,EACX,iBAAiB,EAWjB,KAAK,mBAAmB,EAgBxB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,0BAA0B,EAC/B,KAAK,mBAAmB,EACzB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAGV,qCAAqC,EACtC,MAAM,2CAA2C,CAAC;AAInD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,+EAA+E;IAC/E,aAAa,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,IAAI,CACjB,YAAY,EACZ,uBAAuB,GAAG,sBAAsB,CACjD,CAAC;IACF,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,4BAA4B,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACzE;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;IAChE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,2DAA2D;IAC3D,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,0BAA0B,CAAC;IACrD,sDAAsD;IACtD,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CAC5C;AAqJD,iFAAiF;AACjF,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,mBAAmB,EAC/B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,QAAQ,CAAC,CAoBnB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAqG7D;AAED;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,YAAY,EACV,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,SAAS,GACT,UAAU,GACV,aAAa,GACb,YAAY,GACZ,eAAe,GACf,cAAc,CACjB,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CA0T5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAmShE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAkC1D;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,12 @@
16
16
  * IndexedDB-backed adapter is the natural production path (Phase-2 §4
17
17
  * "encrypt grantee private keys at rest" applies there).
18
18
  */
19
- import { createHash, randomBytes } from "node:crypto";
19
+ import { randomBytes } from "node:crypto";
20
20
  import { Hono } from "hono";
21
21
  import { approveMcpOAuthAuthorization, approveMcpOAuthAuthorizationWithScopes, approveMcpConnection, buildMcpProtectedResourceMetadataUrl, buildMcpUrl, buildStableMcpUrl, createInMemoryMcpOAuthAuthorizationStore, createMcpConnection, createMcpOAuthAuthorization, createInMemoryMcpConnectionStore, createInMemoryMcpSessionStore, createInMemoryMcpProofReplayStore, createMcpSession, createMcpSessionAuthPort, buildMcpSessionConnection, createMcpDataReadClient, handleMcpStreamableHttpRequest, hashConnectionToken, listMcpConnectionViews, loadMcpGranteeAccount, McpConnectionNotFoundError, McpConnectionStateError, McpOAuthAuthorizationError, redeemMcpOAuthAuthorizationCode, refreshMcpOAuthToken, requestMcpScopeAccess, toMcpOAuthAuthorizationView, revokeMcpConnection, toMcpConnectionView, } from "@opendatalabs/personal-server-ts-core/mcp";
22
22
  import { ProtocolError } from "@opendatalabs/personal-server-ts-core/errors";
23
23
  import { createServerApiAuth } from "../api-auth.js";
24
- import { authenticateRequest } from "@opendatalabs/personal-server-ts-core/auth";
24
+ import { authenticateRequest, web3SignedProofId, boundedProofExpiry, } from "@opendatalabs/personal-server-ts-core/auth";
25
25
  import { createNodeDataStorage } from "../storage/node-data-storage.js";
26
26
  function resolveOrigin(origin) {
27
27
  return typeof origin === "function" ? origin() : origin;
@@ -626,15 +626,9 @@ export function mcpStreamableHttpRoutes(deps) {
626
626
  if (!grantId) {
627
627
  return c.json(jsonError(400, "GRANT_ID_REQUIRED", "The Web3Signed proof must carry a grantId (the DCR grant issued to the app)"), 400);
628
628
  }
629
- // Replay guard: bind to a digest of the exact proof header, remembered
630
- // until the proof's own expiry (a replay only matters while still valid).
631
- const proofHeader = c.req.raw.headers.get("authorization") ?? "";
632
- const proofId = createHash("sha256").update(proofHeader).digest("hex");
633
- const expSec = authResult.auth.payload.exp;
634
- const expiresAtMs = (typeof expSec === "number"
635
- ? expSec
636
- : Math.floor(Date.now() / 1000) + 300) * 1000;
637
629
  try {
630
+ const expiresAtMs = boundedProofExpiry(authResult.auth.payload, "MCP_SESSION_PROOF_LIFETIME");
631
+ const proofId = await web3SignedProofId(c.req.raw.headers.get("authorization") ?? "", authResult.auth.signer);
638
632
  const session = await createMcpSession({
639
633
  builderAddress: authResult.auth.signer,
640
634
  grantId,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"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"}
@@ -105334,17 +105334,17 @@ function parseBlobPath(pathname) {
105334
105334
  const segments = pathname.split("/").filter((s10) => s10.length > 0);
105335
105335
  const isTraversal = (s10) => s10 === "." || s10 === "..";
105336
105336
  if (segments.length === 5 && segments[0] === "v1" && segments[1] === "blobs") {
105337
- const [, , owner, scope, collectedAt2] = segments;
105338
- if (isTraversal(scope) || isTraversal(collectedAt2)) return null;
105339
- return { owner, scope, collectedAt: collectedAt2 };
105337
+ const [, , owner, scope, collectedAt] = segments;
105338
+ if (isTraversal(scope) || isTraversal(collectedAt)) return null;
105339
+ return { owner, scope, collectedAt };
105340
105340
  }
105341
105341
  if (segments.length === 7 && segments[0] === "v1" && segments[1] === "chains" && segments[3] === "blobs") {
105342
- const [, , chainIdSegment, , owner, scope, collectedAt2] = segments;
105342
+ const [, , chainIdSegment, , owner, scope, collectedAt] = segments;
105343
105343
  if (!/^[0-9]+$/.test(chainIdSegment)) return null;
105344
105344
  const chainId = Number(chainIdSegment);
105345
105345
  if (!isValidChainId(chainId)) return null;
105346
- if (isTraversal(scope) || isTraversal(collectedAt2)) return null;
105347
- return { chainId, owner, scope, collectedAt: collectedAt2 };
105346
+ if (isTraversal(scope) || isTraversal(collectedAt)) return null;
105347
+ return { chainId, owner, scope, collectedAt };
105348
105348
  }
105349
105349
  return null;
105350
105350
  }
@@ -105878,13 +105878,13 @@ var DataFileEnvelopeSchema = external_exports.object({
105878
105878
  collectedAt: external_exports.string().datetime(),
105879
105879
  data: external_exports.record(external_exports.string(), external_exports.unknown())
105880
105880
  });
105881
- function createDataFileEnvelope(scope, collectedAt2, data, schemaUrl, schemaId) {
105881
+ function createDataFileEnvelope(scope, collectedAt, data, schemaUrl, schemaId) {
105882
105882
  return {
105883
105883
  ...schemaUrl !== void 0 && { $schema: schemaUrl },
105884
105884
  ...schemaId !== void 0 && { schemaId },
105885
105885
  version: "1.0",
105886
105886
  scope,
105887
- collectedAt: collectedAt2,
105887
+ collectedAt,
105888
105888
  data
105889
105889
  };
105890
105890
  }
@@ -107617,6 +107617,25 @@ function assignBlockIds(blocks) {
107617
107617
  }));
107618
107618
  }
107619
107619
 
107620
+ // ../core/dist/auth/proof-id.js
107621
+ var MAX_PROOF_LIFETIME_SEC = 15 * 60;
107622
+ var PROOF_CLOCK_SKEW_SEC = 60;
107623
+ async function web3SignedProofId(headerValue, signer) {
107624
+ const { payloadBase64 } = parseWeb3SignedHeader(headerValue);
107625
+ const bytes2 = new TextEncoder().encode(`${signer.toLowerCase()}
107626
+ ${payloadBase64}`);
107627
+ const digest = await crypto.subtle.digest("SHA-256", bytes2);
107628
+ return Array.from(new Uint8Array(digest), (b10) => b10.toString(16).padStart(2, "0")).join("");
107629
+ }
107630
+ function boundedProofExpiry(payload, errorCode) {
107631
+ const now = Math.floor(Date.now() / 1e3);
107632
+ const { iat, exp } = payload;
107633
+ if (typeof iat !== "number" || typeof exp !== "number" || !Number.isSafeInteger(iat) || !Number.isSafeInteger(exp) || exp <= iat || exp <= now || iat > now + PROOF_CLOCK_SKEW_SEC || exp - iat > MAX_PROOF_LIFETIME_SEC || now - iat > MAX_PROOF_LIFETIME_SEC) {
107634
+ throw new ProtocolError(401, errorCode, `Proof must be unexpired and valid for at most ${MAX_PROOF_LIFETIME_SEC}s`);
107635
+ }
107636
+ return exp * 1e3;
107637
+ }
107638
+
107620
107639
  // ../core/dist/write/attribution.js
107621
107640
  var WRITE_SIGNATURE_HEADER = "x-vana-write-signature";
107622
107641
  var MAX_PROOF_NONCE_LENGTH = 128;
@@ -107724,6 +107743,7 @@ async function verifyWriterAttribution(input) {
107724
107743
  if (verified.payload.grantId !== input.grantId) {
107725
107744
  throw new ProtocolError(401, "WRITE_ATTRIBUTION_GRANT_MISMATCH", "Payload proof must carry the write session's grantId as a signed claim", { expected: input.grantId, actual: verified.payload.grantId ?? null });
107726
107745
  }
107746
+ const expiresAtMs = boundedProofExpiry(verified.payload, "WRITE_ATTRIBUTION_LIFETIME");
107727
107747
  const { payloadBase64, signature } = parseWeb3SignedHeader(headerValue);
107728
107748
  const nonce = signedNonce(payloadBase64);
107729
107749
  if (!isBodylessMethod(input.request.method) && bodyBytes.byteLength > 0 && isJsonContentType(input.request)) {
@@ -107732,8 +107752,8 @@ async function verifyWriterAttribution(input) {
107732
107752
  let releaseProof;
107733
107753
  if (input.replayStore) {
107734
107754
  const store = input.replayStore;
107735
- const proofId = await hashConnectionToken(nonce === void 0 ? headerValue : `nonce:${input.builderAddress.toLowerCase()}:${nonce}`);
107736
- const replayed = await store.consume(proofId, verified.payload.exp * 1e3);
107755
+ const proofId = nonce === void 0 ? await web3SignedProofId(headerValue, verified.signer) : await hashConnectionToken(`nonce:${input.builderAddress.toLowerCase()}:${nonce}`);
107756
+ const replayed = await store.consume(proofId, expiresAtMs);
107737
107757
  if (replayed) {
107738
107758
  throw new ProtocolError(401, "WRITE_ATTRIBUTION_REPLAY", nonce === void 0 ? "Payload proof already used; sign a fresh proof for each call (or add a unique nonce claim so repeated reads stay distinct)" : "Payload proof nonce already used; each nonce is single use");
107739
107759
  }
@@ -110500,8 +110520,29 @@ async function handleX402Cycle(input) {
110500
110520
  }
110501
110521
  return { kind: "gateway-error", status: gatewayRes.status, body: errorBody };
110502
110522
  }
110503
- function collectedAt(now) {
110504
- return now().toISOString().replace(/\.\d{3}Z$/, "Z");
110523
+ var MAX_INGEST_STAMP_ADVANCE_SEC = 60;
110524
+ var pendingIngestStamps = /* @__PURE__ */ new WeakMap();
110525
+ function reserveIngestStamp(storage, scope, now) {
110526
+ let pending = pendingIngestStamps.get(storage);
110527
+ if (!pending) {
110528
+ pending = /* @__PURE__ */ new Set();
110529
+ pendingIngestStamps.set(storage, pending);
110530
+ }
110531
+ const base = Math.floor(now().getTime() / 1e3) * 1e3;
110532
+ for (let bump = 0; bump < MAX_INGEST_STAMP_ADVANCE_SEC; bump += 1) {
110533
+ const value = new Date(base + bump * 1e3).toISOString().replace(/\.\d{3}Z$/, "Z");
110534
+ const key = `${scope}:${value}`;
110535
+ if (pending.has(key) || storage.findEntry({ scope, at: value })?.collectedAt === value)
110536
+ continue;
110537
+ pending.add(key);
110538
+ return {
110539
+ value,
110540
+ release: () => {
110541
+ pending.delete(key);
110542
+ }
110543
+ };
110544
+ }
110545
+ throw new ProtocolError(429, "INGEST_CAPACITY", "Too many writes to this scope; retry after a minute");
110505
110546
  }
110506
110547
  async function resolveReadDeletion(deps, scope, entry) {
110507
110548
  if (!deps.scopeDeletions)
@@ -110924,6 +110965,7 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
110924
110965
  await deps.auth.authorizeOwner(request2);
110925
110966
  }
110926
110967
  let committed = false;
110968
+ let releaseStamp;
110927
110969
  const failWrite = async (response) => {
110928
110970
  await writeAuth?.releaseProof?.();
110929
110971
  return response;
@@ -110932,7 +110974,9 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
110932
110974
  const scopeResult = parseDataScopeContract(scopeParam);
110933
110975
  if (!scopeResult.ok)
110934
110976
  return failWrite(contractErrorResponse(scopeResult));
110935
- const collectedAtValue = collectedAt(deps.now ?? (() => /* @__PURE__ */ new Date()));
110977
+ const stamp = reserveIngestStamp(deps.storage, scopeResult.scope, deps.now ?? (() => /* @__PURE__ */ new Date()));
110978
+ releaseStamp = stamp.release;
110979
+ const collectedAtValue = stamp.value;
110936
110980
  const status2 = deps.syncManager ? "syncing" : "stored";
110937
110981
  const afterTombstoneVersion = await ingestTombstoneMarker(deps, scopeResult.scope);
110938
110982
  const logBuilderWrite = async () => {
@@ -111037,6 +111081,8 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
111037
111081
  await writeAuth?.releaseProof?.();
111038
111082
  }
111039
111083
  throw err2;
111084
+ } finally {
111085
+ releaseStamp?.();
111040
111086
  }
111041
111087
  }
111042
111088
  if (request2.method === "DELETE") {
@@ -111261,6 +111307,8 @@ function createInMemoryMcpProofReplayStore() {
111261
111307
  if (exp <= now)
111262
111308
  seen.delete(id2);
111263
111309
  }
111310
+ if (expiresAtMs <= now)
111311
+ return true;
111264
111312
  const existing = seen.get(proofId);
111265
111313
  if (existing !== void 0 && existing > now)
111266
111314
  return true;
@@ -111671,11 +111719,9 @@ async function handleWriteSessionRequest(request2, deps) {
111671
111719
  if (!grantId) {
111672
111720
  return jsonResponse2(jsonError2(400, "GRANT_ID_REQUIRED", "The Web3Signed proof must carry a grantId (the write-grant issued to the builder)"), 400);
111673
111721
  }
111674
- const proofHeader = request2.headers.get("authorization") ?? "";
111675
- const proofId = await hashConnectionToken(proofHeader);
111676
- const expSec = authResult.auth.payload.exp;
111677
- const expiresAtMs = (typeof expSec === "number" ? expSec : Math.floor(Date.now() / 1e3) + 300) * 1e3;
111678
111722
  try {
111723
+ const expiresAtMs = boundedProofExpiry(authResult.auth.payload, "WRITE_SESSION_PROOF_LIFETIME");
111724
+ const proofId = await web3SignedProofId(request2.headers.get("authorization") ?? "", authResult.auth.signer);
111679
111725
  const session = await createWriteSession({
111680
111726
  builderAddress: authResult.auth.signer,
111681
111727
  grantId,
@@ -112257,17 +112303,17 @@ function initialState() {
112257
112303
  envelopes: []
112258
112304
  };
112259
112305
  }
112260
- function envelopePath(scope, collectedAt2) {
112261
- return `data/${scope}/${collectedAt2}.json`;
112306
+ function envelopePath(scope, collectedAt) {
112307
+ return `data/${scope}/${collectedAt}.json`;
112262
112308
  }
112263
- function blockTreePath(scope, collectedAt2) {
112264
- return `blocks/${scope}/${collectedAt2}`;
112309
+ function blockTreePath(scope, collectedAt) {
112310
+ return `blocks/${scope}/${collectedAt}`;
112265
112311
  }
112266
- function blockManifestPath(scope, collectedAt2) {
112267
- return `${blockTreePath(scope, collectedAt2)}/manifest.json`;
112312
+ function blockManifestPath(scope, collectedAt) {
112313
+ return `${blockTreePath(scope, collectedAt)}/manifest.json`;
112268
112314
  }
112269
- function blockPayloadPath(scope, collectedAt2, blockId) {
112270
- return `${blockTreePath(scope, collectedAt2)}/${encodeURIComponent(blockId)}.json`;
112315
+ function blockPayloadPath(scope, collectedAt, blockId) {
112316
+ return `${blockTreePath(scope, collectedAt)}/${encodeURIComponent(blockId)}.json`;
112271
112317
  }
112272
112318
  function normalizeState(state) {
112273
112319
  if (!state || state.version !== 1) {
@@ -112554,8 +112600,8 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112554
112600
  const entries = state.entries.filter((entry) => entry.dataPointId === null).sort((a10, b10) => a10.createdAt.localeCompare(b10.createdAt));
112555
112601
  return options?.limit === void 0 ? entries : entries.slice(0, options.limit);
112556
112602
  },
112557
- async readEnvelope(scope, collectedAt2) {
112558
- const path = envelopePath(scope, collectedAt2);
112603
+ async readEnvelope(scope, collectedAt) {
112604
+ const path = envelopePath(scope, collectedAt);
112559
112605
  const envelope = await fileStore.readEnvelope(path) ?? await fallbackStore.readEnvelope(path);
112560
112606
  if (!envelope) {
112561
112607
  throw new Error("Envelope not found");
@@ -112575,32 +112621,32 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112575
112621
  sizeBytes
112576
112622
  };
112577
112623
  },
112578
- async readScopeBlocks(scope, collectedAt2, options) {
112579
- const manifestPath = blockManifestPath(scope, collectedAt2);
112624
+ async readScopeBlocks(scope, collectedAt, options) {
112625
+ const manifestPath = blockManifestPath(scope, collectedAt);
112580
112626
  let manifest = await fileStore.readBlockManifest?.(manifestPath) ?? (fileStore === fallbackStore ? null : await fallbackStore.readBlockManifest?.(manifestPath)) ?? null;
112581
112627
  let inMemoryBlocks = null;
112582
112628
  if (!manifest) {
112583
- const envelope = await storagePort.readEnvelope(scope, collectedAt2);
112629
+ const envelope = await storagePort.readEnvelope(scope, collectedAt);
112584
112630
  const built = await buildDataBlocksAsync({
112585
112631
  scope,
112586
- collectedAt: collectedAt2,
112632
+ collectedAt,
112587
112633
  schemaId: schemaIdFromEnvelope(envelope),
112588
112634
  content: envelope
112589
112635
  });
112590
112636
  manifest = built.manifest;
112591
112637
  inMemoryBlocks = built.blocks;
112592
112638
  try {
112593
- await storagePort.writeBlockManifest?.(scope, collectedAt2, built.manifest, built.blocks);
112639
+ await storagePort.writeBlockManifest?.(scope, collectedAt, built.manifest, built.blocks);
112594
112640
  } catch (error51) {
112595
112641
  console.warn({
112596
112642
  scope,
112597
- collectedAt: collectedAt2,
112643
+ collectedAt,
112598
112644
  ...describeStorageError(error51)
112599
112645
  }, "Block sidecar cache write failed; serving read from local envelope");
112600
112646
  }
112601
112647
  }
112602
112648
  if (options.blockIds?.length) {
112603
- const selection = await selectScopeBlocksByIds(manifest, options.blockIds, { maxBytes: options.maxBytes }, async (blockId) => inMemoryBlocks?.find((candidate) => candidate.id === blockId) ?? await readBlockPayloadFromStores(fileStore, fallbackStore, blockPayloadPath(scope, collectedAt2, blockId)));
112649
+ const selection = await selectScopeBlocksByIds(manifest, options.blockIds, { maxBytes: options.maxBytes }, async (blockId) => inMemoryBlocks?.find((candidate) => candidate.id === blockId) ?? await readBlockPayloadFromStores(fileStore, fallbackStore, blockPayloadPath(scope, collectedAt, blockId)));
112604
112650
  return {
112605
112651
  scope: manifest.scope,
112606
112652
  collectedAt: manifest.collectedAt,
@@ -112610,7 +112656,7 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112610
112656
  warnings: [...manifest.warnings, ...selection.warnings]
112611
112657
  };
112612
112658
  }
112613
- const cursorResult = options.cursor ? validateDataBlockCursor(options.cursor, { scope, collectedAt: collectedAt2 }) : { ok: true, cursor: null };
112659
+ const cursorResult = options.cursor ? validateDataBlockCursor(options.cursor, { scope, collectedAt }) : { ok: true, cursor: null };
112614
112660
  if (!cursorResult.ok) {
112615
112661
  throw new DataBlockStorageError("cursor_invalid", cursorResult.error.message);
112616
112662
  }
@@ -112635,12 +112681,12 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112635
112681
  if (blocks.length > 0 && offset === 0 && bytes2 + ref.sizeBytes > maxBytes) {
112636
112682
  break;
112637
112683
  }
112638
- const block = inMemoryBlocks?.find((candidate) => candidate.id === ref.id) ?? await readBlockPayloadFromStores(fileStore, fallbackStore, blockPayloadPath(scope, collectedAt2, ref.id));
112684
+ const block = inMemoryBlocks?.find((candidate) => candidate.id === ref.id) ?? await readBlockPayloadFromStores(fileStore, fallbackStore, blockPayloadPath(scope, collectedAt, ref.id));
112639
112685
  if (!block) {
112640
- const envelope = await storagePort.readEnvelope(scope, collectedAt2);
112686
+ const envelope = await storagePort.readEnvelope(scope, collectedAt);
112641
112687
  const rebuilt = await buildDataBlocksAsync({
112642
112688
  scope,
112643
- collectedAt: collectedAt2,
112689
+ collectedAt,
112644
112690
  schemaId: schemaIdFromEnvelope(envelope),
112645
112691
  content: envelope
112646
112692
  });
@@ -112670,7 +112716,7 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112670
112716
  ...nextOffset !== void 0 || nextIndex < manifest.blocks.length ? {
112671
112717
  nextCursor: encodeDataBlockCursor({
112672
112718
  scope,
112673
- collectedAt: collectedAt2,
112719
+ collectedAt,
112674
112720
  blockIndex: nextIndex,
112675
112721
  ...nextOffset === void 0 ? {} : { intraBlockOffset: nextOffset }
112676
112722
  })
@@ -112678,34 +112724,34 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112678
112724
  warnings: manifest.warnings
112679
112725
  };
112680
112726
  },
112681
- async readBlockManifest(scope, collectedAt2) {
112682
- const manifestPath = blockManifestPath(scope, collectedAt2);
112727
+ async readBlockManifest(scope, collectedAt) {
112728
+ const manifestPath = blockManifestPath(scope, collectedAt);
112683
112729
  return await fileStore.readBlockManifest?.(manifestPath) ?? (fileStore === fallbackStore ? null : await fallbackStore.readBlockManifest?.(manifestPath)) ?? null;
112684
112730
  },
112685
- async hasScopeBlocks(scope, collectedAt2) {
112686
- return Boolean(await storagePort.readBlockManifest?.(scope, collectedAt2));
112731
+ async hasScopeBlocks(scope, collectedAt) {
112732
+ return Boolean(await storagePort.readBlockManifest?.(scope, collectedAt));
112687
112733
  },
112688
- async canReadScopeBlocks(scope, collectedAt2) {
112689
- if (await storagePort.hasScopeBlocks?.(scope, collectedAt2)) {
112734
+ async canReadScopeBlocks(scope, collectedAt) {
112735
+ if (await storagePort.hasScopeBlocks?.(scope, collectedAt)) {
112690
112736
  return true;
112691
112737
  }
112692
- const path = envelopePath(scope, collectedAt2);
112738
+ const path = envelopePath(scope, collectedAt);
112693
112739
  const preview = await readPreviewFromFileStore(fileStore, path, 1) ?? (fileStore === fallbackStore ? null : await readPreviewFromFileStore(fallbackStore, path, 1));
112694
112740
  if (preview)
112695
112741
  return true;
112696
112742
  const envelope = await fileStore.readEnvelope(path) ?? (fileStore === fallbackStore ? null : await fallbackStore.readEnvelope(path));
112697
112743
  return Boolean(envelope);
112698
112744
  },
112699
- async writeBlockManifest(scope, collectedAt2, manifest, blocks) {
112745
+ async writeBlockManifest(scope, collectedAt, manifest, blocks) {
112700
112746
  const writeTree = async (store) => {
112701
112747
  if (!store.writeBlockManifest || !store.writeBlockPayload) {
112702
112748
  throw new Error("Block sidecar storage is not available");
112703
112749
  }
112704
- await store.deleteBlockTree?.(blockTreePath(scope, collectedAt2));
112750
+ await store.deleteBlockTree?.(blockTreePath(scope, collectedAt));
112705
112751
  for (const block of blocks) {
112706
- await store.writeBlockPayload(blockPayloadPath(scope, collectedAt2, block.id), block);
112752
+ await store.writeBlockPayload(blockPayloadPath(scope, collectedAt, block.id), block);
112707
112753
  }
112708
- await store.writeBlockManifest(blockManifestPath(scope, collectedAt2), manifest);
112754
+ await store.writeBlockManifest(blockManifestPath(scope, collectedAt), manifest);
112709
112755
  };
112710
112756
  let wrotePrimary = false;
112711
112757
  try {
@@ -112717,7 +112763,7 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112717
112763
  }
112718
112764
  console.warn({
112719
112765
  scope,
112720
- collectedAt: collectedAt2,
112766
+ collectedAt,
112721
112767
  fileStoreKind: fileStore.kind,
112722
112768
  fallbackStoreKind: fallbackStore.kind,
112723
112769
  ...describeStorageError(error51)
@@ -112725,7 +112771,7 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112725
112771
  await writeTree(fallbackStore);
112726
112772
  }
112727
112773
  if (wrotePrimary && fileStore.kind !== "indexeddb") {
112728
- await fallbackStore.deleteBlockTree?.(blockTreePath(scope, collectedAt2));
112774
+ await fallbackStore.deleteBlockTree?.(blockTreePath(scope, collectedAt));
112729
112775
  }
112730
112776
  await persist();
112731
112777
  },
@@ -112830,8 +112876,8 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112830
112876
  await persist();
112831
112877
  return deleted;
112832
112878
  },
112833
- async deleteVersion(scope, collectedAt2) {
112834
- const entry = state.entries.find((e10) => e10.scope === scope && e10.collectedAt === collectedAt2);
112879
+ async deleteVersion(scope, collectedAt) {
112880
+ const entry = state.entries.find((e10) => e10.scope === scope && e10.collectedAt === collectedAt);
112835
112881
  if (!entry)
112836
112882
  return false;
112837
112883
  return removeEntry(entry);
@@ -112859,8 +112905,8 @@ async function createPersistentPsLiteStorage(adapter, persistence = createIndexe
112859
112905
  return true;
112860
112906
  }
112861
112907
  if (fileStore.readEnvelopePreview) {
112862
- storagePort.readEnvelopePreview = async (scope, collectedAt2, { maxBytes }) => {
112863
- const path = envelopePath(scope, collectedAt2);
112908
+ storagePort.readEnvelopePreview = async (scope, collectedAt, { maxBytes }) => {
112909
+ const path = envelopePath(scope, collectedAt);
112864
112910
  const primaryPreview = await readPreviewFromFileStore(fileStore, path, maxBytes);
112865
112911
  const preview = primaryPreview ?? (fileStore === fallbackStore ? null : await readPreviewFromFileStore(fallbackStore, path, maxBytes));
112866
112912
  if (!preview) {
@@ -114410,7 +114456,7 @@ async function computeQuestion(questionId, deps) {
114410
114456
  sources: lineageIds,
114411
114457
  writtenAt: computedAt
114412
114458
  };
114413
- const collectedAt2 = collectedAtStamp(now, (candidate) => deps.storage.findEntry({
114459
+ const collectedAt = collectedAtStamp(now, (candidate) => deps.storage.findEntry({
114414
114460
  scope: registration.derivedScope,
114415
114461
  at: candidate
114416
114462
  })?.collectedAt === candidate);
@@ -114418,7 +114464,7 @@ async function computeQuestion(questionId, deps) {
114418
114464
  storage: deps.storage,
114419
114465
  scopeParam: registration.derivedScope,
114420
114466
  body: record2,
114421
- collectedAt: collectedAt2,
114467
+ collectedAt,
114422
114468
  status: deps.syncManager ? "syncing" : "stored",
114423
114469
  lineage,
114424
114470
  afterTombstoneVersion: await tombstoneMarker(deps.scopeDeletions, registration.derivedScope)
@@ -114428,7 +114474,7 @@ async function computeQuestion(questionId, deps) {
114428
114474
  }
114429
114475
  const entry = deps.storage.findEntry({
114430
114476
  scope: registration.derivedScope,
114431
- at: collectedAt2
114477
+ at: collectedAt
114432
114478
  });
114433
114479
  const updated = await deps.store.update(questionId, {
114434
114480
  status: "ready",
@@ -114437,7 +114483,7 @@ async function computeQuestion(questionId, deps) {
114437
114483
  updatedAt: computedAt,
114438
114484
  lastComputedAt: computedAt,
114439
114485
  derivedVersion: entry?.version ?? null,
114440
- derivedCollectedAt: collectedAt2
114486
+ derivedCollectedAt: collectedAt
114441
114487
  });
114442
114488
  if (deps.syncManager?.notifyNewData) {
114443
114489
  deps.syncManager.notifyNewData();
@@ -114447,7 +114493,7 @@ async function computeQuestion(questionId, deps) {
114447
114493
  try {
114448
114494
  deps.onDerivedWritten?.({
114449
114495
  scope: registration.derivedScope,
114450
- collectedAt: collectedAt2,
114496
+ collectedAt,
114451
114497
  lineageSources: lineageIds
114452
114498
  });
114453
114499
  } catch (err2) {
@@ -115579,7 +115625,7 @@ function visibleStampEvidence(blocks) {
115579
115625
  }
115580
115626
  return null;
115581
115627
  }
115582
- async function resolveBlockRedactionContext(storage, scope, collectedAt2, blocks) {
115628
+ async function resolveBlockRedactionContext(storage, scope, collectedAt, blocks) {
115583
115629
  if (!servedLineageShaped(blocks)) {
115584
115630
  return { dropTopLevelLineage: false, dropMetadataLineage: false };
115585
115631
  }
@@ -115587,7 +115633,7 @@ async function resolveBlockRedactionContext(storage, scope, collectedAt2, blocks
115587
115633
  if (visible)
115588
115634
  return visible;
115589
115635
  try {
115590
- const envelope = await storage.readEnvelope(scope, collectedAt2);
115636
+ const envelope = await storage.readEnvelope(scope, collectedAt);
115591
115637
  if (!(LINEAGE_KEY in envelope.data)) {
115592
115638
  return { dropTopLevelLineage: false, dropMetadataLineage: false };
115593
115639
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendatalabs/personal-server-ts-server",
3
- "version": "1.24.1",
3
+ "version": "1.24.2",
4
4
  "description": "Hono HTTP server for the Vana Personal Server — routes, middleware, composition root",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -51,8 +51,8 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@hono/node-server": "^1.19.13",
54
- "@opendatalabs/personal-server-ts-core": "1.24.1",
55
- "@opendatalabs/personal-server-ts-lite": "1.24.1",
54
+ "@opendatalabs/personal-server-ts-core": "1.24.2",
55
+ "@opendatalabs/personal-server-ts-lite": "1.24.2",
56
56
  "@opendatalabs/vana-sdk": "3.23.0-pr.211.36da1d8",
57
57
  "better-sqlite3": "^12.11.1",
58
58
  "hono": "^4.12.27",