@opendatalabs/personal-server-ts-server 1.3.5 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -0
- package/dist/app.js.map +1 -1
- package/dist/routes/mcp.d.ts +20 -2
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +160 -21
- package/dist/routes/mcp.js.map +1 -1
- package/dist/ui/ps-lite-debug.js +232 -77
- package/package.json +3 -3
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EACV,4BAA4B,EAC5B,aAAa,EACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,2CAA2C,CAAC;AACvG,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWlE,OAAO,EACL,mBAAmB,EAGnB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAChC,MAAM,2CAA2C,CAAC;AASnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,YAAY,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1D,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,CAAC,EAAE,4BAA4B,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,uBAAuB,CAAC,EAAE,qCAAqC,CAAC;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;IAC9C,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAChD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CA4P7C"}
|
package/dist/app.js
CHANGED
|
@@ -112,9 +112,11 @@ export function createApp(deps) {
|
|
|
112
112
|
logger: deps.logger,
|
|
113
113
|
serverOrigin: deps.serverOrigin,
|
|
114
114
|
serverOwner: deps.serverOwner,
|
|
115
|
+
serverAddress: deps.identity?.address,
|
|
115
116
|
serverSigner: deps.serverSigner,
|
|
116
117
|
gateway: deps.gateway,
|
|
117
118
|
gatewayConfig: deps.gatewayConfig,
|
|
119
|
+
paymentEnabled: deps.paymentEnabled,
|
|
118
120
|
devToken: deps.devToken,
|
|
119
121
|
accessToken: deps.accessToken,
|
|
120
122
|
tokenStore: deps.tokenStore,
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/mcp.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
import { Hono } from "hono";
|
|
20
20
|
import type { Logger } from "pino";
|
|
21
21
|
import type { DataPortabilityGatewayConfig, GatewayClient } from "@opendatalabs/vana-sdk/node";
|
|
22
|
-
import { buildMcpUrl, buildStableMcpUrl, type McpConnectionStore, type McpOAuthAuthorizationStore, type McpActivityRecorder } from "@opendatalabs/personal-server-ts-core/mcp";
|
|
22
|
+
import { buildMcpUrl, buildStableMcpUrl, type McpProofReplayStore, type McpConnectionStore, type McpSessionStore, type McpOAuthAuthorizationStore, type McpActivityRecorder } from "@opendatalabs/personal-server-ts-core/mcp";
|
|
23
23
|
import type { PersonalServerReadFulfillmentReporter } from "@opendatalabs/personal-server-ts-core/api";
|
|
24
24
|
import type { AccessLogWriter } from "@opendatalabs/personal-server-ts-core/logging/access-log";
|
|
25
25
|
import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
@@ -37,11 +37,18 @@ export interface McpRouteDeps {
|
|
|
37
37
|
*/
|
|
38
38
|
serverOrigin: string | (() => string);
|
|
39
39
|
serverOwner?: `0x${string}`;
|
|
40
|
-
|
|
40
|
+
/** The server's own account address — required for x402 payment settlement. */
|
|
41
|
+
serverAddress?: `0x${string}`;
|
|
42
|
+
serverSigner?: Pick<ServerSigner, "signGrantRegistration" | "signRecordDataAccess">;
|
|
41
43
|
gateway: GatewayClient;
|
|
42
44
|
gatewayConfig?: (DataPortabilityGatewayConfig & {
|
|
43
45
|
url?: string;
|
|
44
46
|
}) | null;
|
|
47
|
+
/**
|
|
48
|
+
* Enables x402 pay-per-read for self-signing (chatbot) MCP sessions only.
|
|
49
|
+
* The owner/OAuth connection path is always free regardless of this flag.
|
|
50
|
+
*/
|
|
51
|
+
paymentEnabled?: boolean;
|
|
45
52
|
devToken?: string;
|
|
46
53
|
accessToken?: string;
|
|
47
54
|
tokenStore?: TokenStore;
|
|
@@ -53,6 +60,17 @@ export interface McpRouteDeps {
|
|
|
53
60
|
runtimeAvailability?: RuntimeAvailabilityPort;
|
|
54
61
|
/** Per-process connection store. Defaults to in-memory. */
|
|
55
62
|
connectionStore?: McpConnectionStore;
|
|
63
|
+
/**
|
|
64
|
+
* Per-process store for self-signing chatbot MCP sessions (Option A).
|
|
65
|
+
* Defaults to in-memory. Shared within `mcpStreamableHttpRoutes` between the
|
|
66
|
+
* `/mcp/session` handshake and the `/mcp` reads.
|
|
67
|
+
*/
|
|
68
|
+
sessionStore?: McpSessionStore;
|
|
69
|
+
/**
|
|
70
|
+
* Per-process replay guard for `/mcp/session` handshake proofs. Defaults to
|
|
71
|
+
* in-memory. Rejects reuse of a still-valid Web3Signed proof.
|
|
72
|
+
*/
|
|
73
|
+
proofReplayStore?: McpProofReplayStore;
|
|
56
74
|
/**
|
|
57
75
|
* OAuth authorization store shared by `/mcp/oauth/authorize`,
|
|
58
76
|
* `/mcp/oauth/token`, and the owner approval endpoint.
|
package/dist/routes/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/routes/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/mcp.js
CHANGED
|
@@ -16,10 +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
20
|
import { Hono } from "hono";
|
|
20
|
-
import { approveMcpOAuthAuthorization, approveMcpOAuthAuthorizationWithScopes, approveMcpConnection, buildMcpProtectedResourceMetadataUrl, buildMcpUrl, buildStableMcpUrl, createInMemoryMcpOAuthAuthorizationStore, createMcpConnection, createMcpOAuthAuthorization, createInMemoryMcpConnectionStore, createMcpDataReadClient, handleMcpStreamableHttpRequest, hashConnectionToken, listMcpConnectionViews, loadMcpGranteeAccount, McpConnectionNotFoundError, McpConnectionStateError, McpOAuthAuthorizationError, redeemMcpOAuthAuthorizationCode, toMcpOAuthAuthorizationView, revokeMcpConnection, toMcpConnectionView, } from "@opendatalabs/personal-server-ts-core/mcp";
|
|
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, toMcpOAuthAuthorizationView, revokeMcpConnection, toMcpConnectionView, } from "@opendatalabs/personal-server-ts-core/mcp";
|
|
21
22
|
import { ProtocolError } from "@opendatalabs/personal-server-ts-core/errors";
|
|
22
23
|
import { createServerApiAuth } from "../api-auth.js";
|
|
24
|
+
import { authenticateRequest } from "@opendatalabs/personal-server-ts-core/auth";
|
|
23
25
|
import { createNodeDataStorage } from "../storage/node-data-storage.js";
|
|
24
26
|
function resolveOrigin(origin) {
|
|
25
27
|
return typeof origin === "function" ? origin() : origin;
|
|
@@ -437,32 +439,25 @@ export function mcpOAuthRoutes(deps) {
|
|
|
437
439
|
export function mcpStreamableHttpRoutes(deps) {
|
|
438
440
|
const app = new Hono();
|
|
439
441
|
const store = deps.connectionStore ?? createInMemoryMcpConnectionStore();
|
|
442
|
+
const sessionStore = deps.sessionStore ?? createInMemoryMcpSessionStore();
|
|
443
|
+
const proofReplayStore = deps.proofReplayStore ?? createInMemoryMcpProofReplayStore();
|
|
440
444
|
if (!deps.connectionStore) {
|
|
441
445
|
deps.logger.warn("mcpStreamableHttpRoutes: no connectionStore passed; using a fresh in-memory store. The management routes will not see these connections unless they share the same store.");
|
|
442
446
|
}
|
|
443
|
-
|
|
444
|
-
if (!rawToken) {
|
|
445
|
-
if (!options.oauthChallenge) {
|
|
446
|
-
return c.json(jsonError(401, "INVALID_TOKEN", "Missing MCP connection token"), 401);
|
|
447
|
-
}
|
|
448
|
-
return mcpUnauthorized(resolveOrigin(deps.serverOrigin));
|
|
449
|
-
}
|
|
450
|
-
const tokenHash = await hashConnectionToken(rawToken);
|
|
451
|
-
const record = await store.getByTokenHash(tokenHash);
|
|
452
|
-
if (!record) {
|
|
453
|
-
if (!options.oauthChallenge) {
|
|
454
|
-
return c.json(jsonError(401, "INVALID_TOKEN", "Unknown or revoked MCP connection"), 401);
|
|
455
|
-
}
|
|
456
|
-
return mcpUnauthorized(resolveOrigin(deps.serverOrigin), "Unknown or revoked MCP connection");
|
|
457
|
-
}
|
|
458
|
-
let dataApiDeps;
|
|
447
|
+
function dataApiDepsOrError(c) {
|
|
459
448
|
try {
|
|
460
|
-
|
|
449
|
+
return buildDataApiDeps(deps);
|
|
461
450
|
}
|
|
462
451
|
catch (caught) {
|
|
463
452
|
deps.logger.error({ err: caught }, "mcp route data deps failed");
|
|
464
453
|
return c.json(jsonError(500, "SERVER_NOT_CONFIGURED", String(caught)), 500);
|
|
465
454
|
}
|
|
455
|
+
}
|
|
456
|
+
// Owner's-Claude path: PS holds the per-connection grantee key and signs.
|
|
457
|
+
async function handleConnectionRead(c, record) {
|
|
458
|
+
const dataApiDeps = dataApiDepsOrError(c);
|
|
459
|
+
if (dataApiDeps instanceof Response)
|
|
460
|
+
return dataApiDeps;
|
|
466
461
|
const granteeAccount = loadMcpGranteeAccount({
|
|
467
462
|
address: record.granteeAddress,
|
|
468
463
|
publicKey: record.granteePublicKey,
|
|
@@ -479,14 +474,158 @@ export function mcpStreamableHttpRoutes(deps) {
|
|
|
479
474
|
activityRecorder: deps.activityRecorder,
|
|
480
475
|
});
|
|
481
476
|
void store
|
|
482
|
-
.update(record.id, {
|
|
483
|
-
lastUsedAt: new Date().toISOString(),
|
|
484
|
-
})
|
|
477
|
+
.update(record.id, { lastUsedAt: new Date().toISOString() })
|
|
485
478
|
.catch((err) => {
|
|
486
479
|
console.warn("[mcp] failed to update lastUsedAt", err);
|
|
487
480
|
});
|
|
488
481
|
return response;
|
|
489
482
|
}
|
|
483
|
+
// Chatbot-first path (Option A): the app self-signed the handshake, so the PS
|
|
484
|
+
// holds NO key. We authorize reads as the app via a session auth port; the
|
|
485
|
+
// read client's own signature (with a throwaway key) is ignored.
|
|
486
|
+
async function handleSessionRead(c, session) {
|
|
487
|
+
// Fail closed: session reads can't be authorized without this server's
|
|
488
|
+
// owner to bind the grant to (verifyDataReadPolicy requires it).
|
|
489
|
+
if (!deps.serverOwner) {
|
|
490
|
+
return c.json(jsonError(500, "SERVER_NOT_CONFIGURED", "Server owner is not configured"), 500);
|
|
491
|
+
}
|
|
492
|
+
// Fail closed: if x402 is enabled but the gateway isn't fully configured,
|
|
493
|
+
// refuse the read rather than silently serving it for free.
|
|
494
|
+
if (deps.paymentEnabled && !deps.gatewayConfig?.url) {
|
|
495
|
+
return c.json(jsonError(500, "SERVER_NOT_CONFIGURED", "x402 payment is enabled but the gateway URL is not configured"), 500);
|
|
496
|
+
}
|
|
497
|
+
const baseDeps = dataApiDepsOrError(c);
|
|
498
|
+
if (baseDeps instanceof Response)
|
|
499
|
+
return baseDeps;
|
|
500
|
+
// Paid session: wire x402 for this self-signing session only. Owner/OAuth
|
|
501
|
+
// reads never build this, so they stay free.
|
|
502
|
+
let payment;
|
|
503
|
+
const gatewayUrl = deps.gatewayConfig?.url;
|
|
504
|
+
if (deps.paymentEnabled && deps.gatewayConfig && gatewayUrl) {
|
|
505
|
+
payment = {
|
|
506
|
+
dataApiDeps: {
|
|
507
|
+
...baseDeps,
|
|
508
|
+
gateway: deps.gateway,
|
|
509
|
+
gatewayConfig: deps.gatewayConfig,
|
|
510
|
+
gatewayUrl,
|
|
511
|
+
serverOwner: deps.serverOwner,
|
|
512
|
+
serverSigner: deps.serverSigner,
|
|
513
|
+
serverAddress: deps.serverAddress,
|
|
514
|
+
paymentEnabled: true,
|
|
515
|
+
},
|
|
516
|
+
gateway: deps.gateway,
|
|
517
|
+
gatewayConfig: deps.gatewayConfig,
|
|
518
|
+
gatewayUrl,
|
|
519
|
+
};
|
|
520
|
+
}
|
|
521
|
+
const auth = createMcpSessionAuthPort({
|
|
522
|
+
builderAddress: session.builderAddress,
|
|
523
|
+
grantId: session.grantId,
|
|
524
|
+
authSessionVerifier: deps.gateway,
|
|
525
|
+
grantVerifier: deps.gateway,
|
|
526
|
+
serverOwner: deps.serverOwner,
|
|
527
|
+
runtimeAvailability: deps.runtimeAvailability,
|
|
528
|
+
payment,
|
|
529
|
+
});
|
|
530
|
+
const { connection, account } = buildMcpSessionConnection(session);
|
|
531
|
+
const readClient = createMcpDataReadClient({
|
|
532
|
+
serverOrigin: resolveOrigin(deps.serverOrigin),
|
|
533
|
+
granteeAccount: account,
|
|
534
|
+
dataApiDeps: { ...baseDeps, auth },
|
|
535
|
+
// Paid session: mark reads as x402-enforced so tools skip any
|
|
536
|
+
// payment-bypassing shortcut (e.g. the searchScopeIndex preview path).
|
|
537
|
+
enforcesPayment: Boolean(payment),
|
|
538
|
+
});
|
|
539
|
+
return handleMcpStreamableHttpRequest(c.req.raw, {
|
|
540
|
+
connection,
|
|
541
|
+
readClient,
|
|
542
|
+
activityRecorder: deps.activityRecorder,
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
async function handleToken(c, rawToken, options) {
|
|
546
|
+
if (!rawToken) {
|
|
547
|
+
if (!options.oauthChallenge) {
|
|
548
|
+
return c.json(jsonError(401, "INVALID_TOKEN", "Missing MCP connection token"), 401);
|
|
549
|
+
}
|
|
550
|
+
return mcpUnauthorized(resolveOrigin(deps.serverOrigin));
|
|
551
|
+
}
|
|
552
|
+
const tokenHash = await hashConnectionToken(rawToken);
|
|
553
|
+
const record = await store.getByTokenHash(tokenHash);
|
|
554
|
+
if (record)
|
|
555
|
+
return handleConnectionRead(c, record);
|
|
556
|
+
const session = await sessionStore.getByTokenHash(tokenHash);
|
|
557
|
+
if (session)
|
|
558
|
+
return handleSessionRead(c, session);
|
|
559
|
+
if (!options.oauthChallenge) {
|
|
560
|
+
return c.json(jsonError(401, "INVALID_TOKEN", "Unknown or revoked MCP connection"), 401);
|
|
561
|
+
}
|
|
562
|
+
return mcpUnauthorized(resolveOrigin(deps.serverOrigin), "Unknown or revoked MCP connection");
|
|
563
|
+
}
|
|
564
|
+
// Self-signing handshake (Option A): the app proves control of its key + DCR
|
|
565
|
+
// grant with a Web3Signed proof, and gets a short-lived bearer session token.
|
|
566
|
+
// Registered BEFORE `/:connectionToken` so it isn't captured as a token.
|
|
567
|
+
app.post("/session", async (c) => {
|
|
568
|
+
// Fail closed: minting a session requires this server's owner to bind the
|
|
569
|
+
// grant to (createMcpSession rejects grants issued by a different owner).
|
|
570
|
+
if (!deps.serverOwner) {
|
|
571
|
+
return c.json(jsonError(500, "SERVER_NOT_CONFIGURED", "Server owner is not configured"), 500);
|
|
572
|
+
}
|
|
573
|
+
let authResult;
|
|
574
|
+
try {
|
|
575
|
+
authResult = await authenticateRequest({
|
|
576
|
+
request: c.req.raw,
|
|
577
|
+
serverOrigin: deps.serverOrigin,
|
|
578
|
+
devToken: deps.devToken,
|
|
579
|
+
accessToken: deps.accessToken,
|
|
580
|
+
sessionTokenVerifier: deps.tokenStore,
|
|
581
|
+
serverOwner: deps.serverOwner,
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
catch (err) {
|
|
585
|
+
return c.json(jsonError(401, "MCP_SESSION_AUTH_FAILED", err instanceof Error ? err.message : String(err)), 401);
|
|
586
|
+
}
|
|
587
|
+
if (authResult.mechanism !== "web3-signed") {
|
|
588
|
+
return c.json(jsonError(401, "MCP_SESSION_PROOF_REQUIRED", "POST /mcp/session requires a Web3Signed proof signed by the app key"), 401);
|
|
589
|
+
}
|
|
590
|
+
const grantId = authResult.auth.payload.grantId;
|
|
591
|
+
if (!grantId) {
|
|
592
|
+
return c.json(jsonError(400, "GRANT_ID_REQUIRED", "The Web3Signed proof must carry a grantId (the DCR grant issued to the app)"), 400);
|
|
593
|
+
}
|
|
594
|
+
// Replay guard: bind to a digest of the exact proof header, remembered
|
|
595
|
+
// until the proof's own expiry (a replay only matters while still valid).
|
|
596
|
+
const proofHeader = c.req.raw.headers.get("authorization") ?? "";
|
|
597
|
+
const proofId = createHash("sha256").update(proofHeader).digest("hex");
|
|
598
|
+
const expSec = authResult.auth.payload.exp;
|
|
599
|
+
const expiresAtMs = (typeof expSec === "number"
|
|
600
|
+
? expSec
|
|
601
|
+
: Math.floor(Date.now() / 1000) + 300) * 1000;
|
|
602
|
+
try {
|
|
603
|
+
const session = await createMcpSession({
|
|
604
|
+
builderAddress: authResult.auth.signer,
|
|
605
|
+
grantId,
|
|
606
|
+
proof: { id: proofId, expiresAtMs },
|
|
607
|
+
}, {
|
|
608
|
+
store: sessionStore,
|
|
609
|
+
authSessionVerifier: deps.gateway,
|
|
610
|
+
grantVerifier: deps.gateway,
|
|
611
|
+
serverOwner: deps.serverOwner,
|
|
612
|
+
randomToken: () => `vana_mcp_${randomBytes(32).toString("hex")}`,
|
|
613
|
+
replayStore: proofReplayStore,
|
|
614
|
+
});
|
|
615
|
+
return c.json({
|
|
616
|
+
access_token: session.accessToken,
|
|
617
|
+
token_type: "Bearer",
|
|
618
|
+
expires_in: session.expiresInSeconds,
|
|
619
|
+
scope: session.scopes.join(" "),
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
catch (err) {
|
|
623
|
+
if (err instanceof ProtocolError) {
|
|
624
|
+
return c.json(err.toJSON(), err.code);
|
|
625
|
+
}
|
|
626
|
+
return c.json(jsonError(400, "MCP_SESSION_FAILED", err instanceof Error ? err.message : String(err)), 400);
|
|
627
|
+
}
|
|
628
|
+
});
|
|
490
629
|
app.all("/", async (c) => handleToken(c, bearerToken(c.req.raw), {
|
|
491
630
|
oauthChallenge: Boolean(resolveApprovalUrl(deps)),
|
|
492
631
|
}));
|
package/dist/routes/mcp.js.map
CHANGED
|
@@ -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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"}
|
package/dist/ui/ps-lite-debug.js
CHANGED
|
@@ -109469,6 +109469,30 @@ function createIndexedDbPsLiteAccessLogStore(options = {}) {
|
|
|
109469
109469
|
}
|
|
109470
109470
|
};
|
|
109471
109471
|
}
|
|
109472
|
+
function indexedDbAvailable() {
|
|
109473
|
+
return typeof indexedDB !== "undefined";
|
|
109474
|
+
}
|
|
109475
|
+
function createDefaultPsLiteAccessLogStore() {
|
|
109476
|
+
if (!indexedDbAvailable()) {
|
|
109477
|
+
throw new Error("IndexedDB is required for default PS Lite access log persistence.");
|
|
109478
|
+
}
|
|
109479
|
+
return createIndexedDbPsLiteAccessLogStore();
|
|
109480
|
+
}
|
|
109481
|
+
function createDefaultPsLiteTokenStore() {
|
|
109482
|
+
if (!indexedDbAvailable()) {
|
|
109483
|
+
throw new Error("IndexedDB is required for default PS Lite token storage.");
|
|
109484
|
+
}
|
|
109485
|
+
return createIndexedDbPsLiteTokenStore();
|
|
109486
|
+
}
|
|
109487
|
+
function createDefaultPsLiteSaveConfig() {
|
|
109488
|
+
if (!indexedDbAvailable()) {
|
|
109489
|
+
throw new Error("IndexedDB is required for default PS Lite config persistence.");
|
|
109490
|
+
}
|
|
109491
|
+
const stateStore = createIndexedDbPsLiteStateStore();
|
|
109492
|
+
return async (nextConfig) => {
|
|
109493
|
+
await savePsLiteConfig(stateStore, nextConfig);
|
|
109494
|
+
};
|
|
109495
|
+
}
|
|
109472
109496
|
async function loadOrCreatePsLiteConfig(store, defaults) {
|
|
109473
109497
|
const existing = await store.get(CONFIG_KEY);
|
|
109474
109498
|
if (!existing) {
|
|
@@ -111099,7 +111123,8 @@ async function handlePersonalServerDataRequest(request2, deps, options = {}) {
|
|
|
111099
111123
|
request: request2,
|
|
111100
111124
|
scope: scopeResult.scope,
|
|
111101
111125
|
grantId,
|
|
111102
|
-
fileId: url2.searchParams.get("fileId") ?? selectedEntry?.fileId ?? void 0
|
|
111126
|
+
fileId: url2.searchParams.get("fileId") ?? selectedEntry?.fileId ?? void 0,
|
|
111127
|
+
at: url2.searchParams.get("at") ?? void 0
|
|
111103
111128
|
});
|
|
111104
111129
|
const isOwnerSignal = authResult?.grantId === "owner" || authResult?.grantId === "policy-bypass";
|
|
111105
111130
|
const builder = authResult?.builder;
|
|
@@ -111755,14 +111780,18 @@ function createMcpDataReadClient(options) {
|
|
|
111755
111780
|
const url2 = new URL(signingUri, options.serverOrigin).toString();
|
|
111756
111781
|
const request2 = new Request(url2, {
|
|
111757
111782
|
method: "GET",
|
|
111758
|
-
headers: {
|
|
111783
|
+
headers: {
|
|
111784
|
+
Authorization: authorization,
|
|
111785
|
+
...params.payment ? { "X-PAYMENT": params.payment } : {}
|
|
111786
|
+
}
|
|
111759
111787
|
});
|
|
111760
111788
|
try {
|
|
111761
111789
|
const authResult = await options.dataApiDeps.auth.authorizeBuilderRead({
|
|
111762
111790
|
request: request2,
|
|
111763
111791
|
scope: params.scope,
|
|
111764
111792
|
grantId: params.grantId,
|
|
111765
|
-
fileId: params.fileId
|
|
111793
|
+
fileId: params.fileId,
|
|
111794
|
+
...params.at ? { at: params.at } : {}
|
|
111766
111795
|
});
|
|
111767
111796
|
return { request: request2, authResult };
|
|
111768
111797
|
} catch (err2) {
|
|
@@ -111790,6 +111819,7 @@ function createMcpDataReadClient(options) {
|
|
|
111790
111819
|
return { logId, timestamp, ipAddress, userAgent };
|
|
111791
111820
|
}
|
|
111792
111821
|
return {
|
|
111822
|
+
enforcesPayment: options.enforcesPayment ?? false,
|
|
111793
111823
|
async listScopes({ scopePrefix, limit, offset } = {}) {
|
|
111794
111824
|
const params = new URLSearchParams();
|
|
111795
111825
|
if (scopePrefix)
|
|
@@ -111832,7 +111862,7 @@ function createMcpDataReadClient(options) {
|
|
|
111832
111862
|
hasBlocks
|
|
111833
111863
|
};
|
|
111834
111864
|
},
|
|
111835
|
-
async readScopeBlocks({ scope, grantId, cursor, maxBytes, blockIds }) {
|
|
111865
|
+
async readScopeBlocks({ scope, grantId, cursor, maxBytes, payment, blockIds }) {
|
|
111836
111866
|
const storage = options.dataApiDeps.storage;
|
|
111837
111867
|
if (!storage.readScopeBlocks) {
|
|
111838
111868
|
throw new McpDataReadError(503, {
|
|
@@ -111855,7 +111885,11 @@ function createMcpDataReadClient(options) {
|
|
|
111855
111885
|
const { request: request2, authResult } = await authorizeScopeRead({
|
|
111856
111886
|
scope,
|
|
111857
111887
|
grantId,
|
|
111858
|
-
fileId: selectedEntry.fileId ?? void 0
|
|
111888
|
+
fileId: selectedEntry.fileId ?? void 0,
|
|
111889
|
+
// The exact version this read serves (cursor-pinned or latest) —
|
|
111890
|
+
// a payment-enforcing auth port binds the x402 settlement to it.
|
|
111891
|
+
at: selectedEntry.collectedAt,
|
|
111892
|
+
payment
|
|
111859
111893
|
});
|
|
111860
111894
|
try {
|
|
111861
111895
|
const result = await storage.readScopeBlocks(scope, selectedEntry.collectedAt, {
|
|
@@ -111914,7 +111948,7 @@ function createMcpDataReadClient(options) {
|
|
|
111914
111948
|
await writeReadAccessLog(request2, { scope, grantId, authResult });
|
|
111915
111949
|
return manifest;
|
|
111916
111950
|
},
|
|
111917
|
-
async readRawScopeFile({ scope, grantId, at: at3, fileId }) {
|
|
111951
|
+
async readRawScopeFile({ scope, grantId, at: at3, fileId, payment }) {
|
|
111918
111952
|
const storage = options.dataApiDeps.storage;
|
|
111919
111953
|
const selectedEntry = storage.findEntry({
|
|
111920
111954
|
scope,
|
|
@@ -111945,7 +111979,10 @@ function createMcpDataReadClient(options) {
|
|
|
111945
111979
|
const url2 = new URL(`${signingUri}?${query.toString()}`, options.serverOrigin).toString();
|
|
111946
111980
|
const request2 = new Request(url2, {
|
|
111947
111981
|
method: "GET",
|
|
111948
|
-
headers: {
|
|
111982
|
+
headers: {
|
|
111983
|
+
Authorization: authorization,
|
|
111984
|
+
...payment ? { "X-PAYMENT": payment } : {}
|
|
111985
|
+
}
|
|
111949
111986
|
});
|
|
111950
111987
|
const response = await handlePersonalServerDataRequest(request2, options.dataApiDeps, { basePath });
|
|
111951
111988
|
if (!response.ok) {
|
|
@@ -114551,7 +114588,8 @@ var readScope = {
|
|
|
114551
114588
|
cursor: external_exports.string().min(1).optional(),
|
|
114552
114589
|
blockIds: external_exports.array(external_exports.string().min(1).max(BLOCK_ID_MAX_CHARS)).min(1).max(MAX_SELECTED_BLOCK_IDS).optional().describe("Block ids from a search hit's blockRef or list_scope_blocks. Ignores cursor; maxBytes still applies."),
|
|
114553
114590
|
maxBytes: external_exports.number().int().min(1).max(MAX_READ_SCOPE_MAX_BYTES).optional(),
|
|
114554
|
-
timeoutMs: external_exports.number().int().min(1e3).max(MAX_READ_SCOPE_TIMEOUT_MS).optional()
|
|
114591
|
+
timeoutMs: external_exports.number().int().min(1e3).max(MAX_READ_SCOPE_TIMEOUT_MS).optional(),
|
|
114592
|
+
payment: external_exports.string().optional().describe("Base64 X-PAYMENT proof (x402). Provide it after a prior call returned payment_required.")
|
|
114555
114593
|
},
|
|
114556
114594
|
async handler(args, { connection, readClient }) {
|
|
114557
114595
|
const scope = typeof args.scope === "string" ? args.scope : null;
|
|
@@ -114588,12 +114626,14 @@ var readScope = {
|
|
|
114588
114626
|
}).catch(() => {
|
|
114589
114627
|
});
|
|
114590
114628
|
}
|
|
114629
|
+
const payment = typeof args.payment === "string" ? args.payment : void 0;
|
|
114591
114630
|
try {
|
|
114592
114631
|
const result = await withTimeout(readClient.readScopeBlocks({
|
|
114593
114632
|
scope,
|
|
114594
114633
|
grantId: grant.grantId,
|
|
114595
114634
|
cursor,
|
|
114596
114635
|
maxBytes,
|
|
114636
|
+
payment,
|
|
114597
114637
|
...blockIds.length > 0 ? { blockIds } : {}
|
|
114598
114638
|
}), timeoutMs, `read blocks for ${scope}`);
|
|
114599
114639
|
const nextCursor = result.nextCursor ?? null;
|
|
@@ -114625,6 +114665,24 @@ var readScope = {
|
|
|
114625
114665
|
}, true);
|
|
114626
114666
|
}
|
|
114627
114667
|
if (err2 instanceof McpDataReadError) {
|
|
114668
|
+
if (err2.status === 402) {
|
|
114669
|
+
const body = err2.body;
|
|
114670
|
+
const challenge2 = body?.error?.details?.challenge;
|
|
114671
|
+
if (body?.error?.errorCode === "PAYMENT_REQUIRED" && challenge2) {
|
|
114672
|
+
return textResult({
|
|
114673
|
+
payment_required: true,
|
|
114674
|
+
status: 402,
|
|
114675
|
+
challenge: challenge2,
|
|
114676
|
+
message: "This read requires payment. Sign the x402 challenge and call read_scope again with the `payment` argument."
|
|
114677
|
+
}, true);
|
|
114678
|
+
}
|
|
114679
|
+
return textResult({
|
|
114680
|
+
error: "payment_failed",
|
|
114681
|
+
status: 402,
|
|
114682
|
+
errorCode: body?.error?.errorCode ?? "PAYMENT_ERROR",
|
|
114683
|
+
message: body?.error?.message ?? "Payment could not be completed (e.g. insufficient escrow balance). This is not a signable challenge; resolve the gateway error and retry."
|
|
114684
|
+
}, true);
|
|
114685
|
+
}
|
|
114628
114686
|
if (err2.status === 503) {
|
|
114629
114687
|
return textResult({
|
|
114630
114688
|
error: "bounded_data_unavailable",
|
|
@@ -114760,7 +114818,7 @@ function decodeSearchCursor(raw) {
|
|
|
114760
114818
|
var searchPersonalContext = {
|
|
114761
114819
|
name: "search_personal_context",
|
|
114762
114820
|
title: "Search personal context",
|
|
114763
|
-
description: "Search approved scopes. Omit scopes for default sweep; name scopes for targeted search. Continue with nextSearchCursor.",
|
|
114821
|
+
description: "Search approved scopes. Omit scopes for default sweep; name scopes for targeted search. Continue with nextSearchCursor. Free discovery/preview \u2014 it does not settle payments; chargeable scopes are returned in paymentRequiredScopes, fetch those via read_scope with a `payment` proof.",
|
|
114764
114822
|
inputSchema: {
|
|
114765
114823
|
query: external_exports.string().min(1).max(SEARCH_QUERY_MAX_CHARS),
|
|
114766
114824
|
scopes: external_exports.array(external_exports.string().min(1).max(SEARCH_SCOPE_MAX_CHARS)).max(SEARCH_REQUESTED_SCOPES_LIMIT).optional(),
|
|
@@ -114803,6 +114861,7 @@ var searchPersonalContext = {
|
|
|
114803
114861
|
const matches = [];
|
|
114804
114862
|
const searchedScopes = [];
|
|
114805
114863
|
const truncatedScopes = [];
|
|
114864
|
+
const paymentRequiredScopes = [];
|
|
114806
114865
|
const errors = [...resolved.errors];
|
|
114807
114866
|
const startScopeIndex = resumeCursor ? Math.max(0, Math.min(resumeCursor.scopeIndex, resolved.scopes.length)) : 0;
|
|
114808
114867
|
const initialBlockCursor = resumeCursor?.blockCursor ?? void 0;
|
|
@@ -114818,7 +114877,7 @@ var searchPersonalContext = {
|
|
|
114818
114877
|
const grant = resolveGrantForScope(connection, scope);
|
|
114819
114878
|
if (!grant)
|
|
114820
114879
|
continue;
|
|
114821
|
-
if (!resumeCursor && typeof readClient.searchScopeIndex === "function") {
|
|
114880
|
+
if (!resumeCursor && !readClient.enforcesPayment && typeof readClient.searchScopeIndex === "function") {
|
|
114822
114881
|
const remainingMs = deadline - Date.now();
|
|
114823
114882
|
if (remainingMs <= 0) {
|
|
114824
114883
|
nextSearchCursor = encodeSearchCursor({ scopeIndex });
|
|
@@ -114940,12 +114999,19 @@ var searchPersonalContext = {
|
|
|
114940
114999
|
truncatedScopes.push(scope);
|
|
114941
115000
|
}
|
|
114942
115001
|
} catch (err2) {
|
|
114943
|
-
|
|
114944
|
-
|
|
114945
|
-
|
|
114946
|
-
|
|
114947
|
-
|
|
114948
|
-
}
|
|
115002
|
+
const paymentChallenge = err2 instanceof McpDataReadError && err2.status === 402 && err2.body?.error?.errorCode === "PAYMENT_REQUIRED";
|
|
115003
|
+
if (paymentChallenge) {
|
|
115004
|
+
if (!paymentRequiredScopes.includes(scope)) {
|
|
115005
|
+
paymentRequiredScopes.push(scope);
|
|
115006
|
+
}
|
|
115007
|
+
} else {
|
|
115008
|
+
errors.push({
|
|
115009
|
+
scope,
|
|
115010
|
+
error: err2 instanceof OperationTimeoutError ? "scope_search_timeout" : "scope_read_failed",
|
|
115011
|
+
status: err2 instanceof McpDataReadError ? err2.status : void 0,
|
|
115012
|
+
bodyPreview: stringifyPreview(err2 instanceof McpDataReadError ? err2.body : err2 instanceof OperationTimeoutError ? err2.message : "unexpected scope read failure")
|
|
115013
|
+
});
|
|
115014
|
+
}
|
|
114949
115015
|
}
|
|
114950
115016
|
if (matches.length >= limit) {
|
|
114951
115017
|
const nextScopeIndex = scopeIndex + 1;
|
|
@@ -114972,6 +115038,11 @@ var searchPersonalContext = {
|
|
|
114972
115038
|
],
|
|
114973
115039
|
truncatedScopes,
|
|
114974
115040
|
errors,
|
|
115041
|
+
...paymentRequiredScopes.length > 0 ? {
|
|
115042
|
+
payment_required: true,
|
|
115043
|
+
paymentRequiredScopes,
|
|
115044
|
+
paymentHint: "These scopes are chargeable; search does not settle x402 payments. Retrieve each with read_scope (it returns a payment_required challenge; sign it and re-call read_scope with the `payment` argument)."
|
|
115045
|
+
} : {},
|
|
114975
115046
|
...nextSearchCursor ? { nextSearchCursor } : {},
|
|
114976
115047
|
elapsedMs,
|
|
114977
115048
|
limits: {
|
|
@@ -114996,6 +115067,8 @@ var getScopeFile = {
|
|
|
114996
115067
|
description: "Fetch an approved file/PDF scope. Defaults to metadata plus a resource link; set includeContent=true only when the client supports inline resource blobs. Use search_personal_context for extracted text.",
|
|
114997
115068
|
inputSchema: {
|
|
114998
115069
|
...rawScopeFileInputSchema,
|
|
115070
|
+
// x402 proof (see read_scope's `payment`); provide after a payment_required.
|
|
115071
|
+
payment: external_exports.string().optional(),
|
|
114999
115072
|
timeoutMs: external_exports.number().int().min(1e3).max(MAX_READ_FILE_TIMEOUT_MS).optional()
|
|
115000
115073
|
},
|
|
115001
115074
|
async handler(args, { connection, readClient }) {
|
|
@@ -115017,12 +115090,14 @@ var getScopeFile = {
|
|
|
115017
115090
|
const maxBytes = clampInteger(args.maxBytes, DEFAULT_READ_FILE_MAX_BYTES, 1, MAX_READ_FILE_MAX_BYTES);
|
|
115018
115091
|
const timeoutMs = clampInteger(args.timeoutMs, DEFAULT_READ_FILE_TIMEOUT_MS, 1e3, MAX_READ_FILE_TIMEOUT_MS);
|
|
115019
115092
|
const resourceUri = rawScopeResourceUri({ scope, at: at3, fileId });
|
|
115093
|
+
const payment = typeof args.payment === "string" ? args.payment : void 0;
|
|
115020
115094
|
try {
|
|
115021
115095
|
const raw = await withTimeout(readClient.readRawScopeFile({
|
|
115022
115096
|
scope,
|
|
115023
115097
|
grantId: grant.grantId,
|
|
115024
115098
|
at: at3,
|
|
115025
|
-
fileId
|
|
115099
|
+
fileId,
|
|
115100
|
+
payment
|
|
115026
115101
|
}), timeoutMs, `read raw file for ${scope}`);
|
|
115027
115102
|
const metadata = rawScopeMetadata(raw);
|
|
115028
115103
|
const base = {
|
|
@@ -115033,7 +115108,17 @@ var getScopeFile = {
|
|
|
115033
115108
|
maxBytes,
|
|
115034
115109
|
timeoutMs
|
|
115035
115110
|
};
|
|
115036
|
-
|
|
115111
|
+
const paidRead = Boolean(payment);
|
|
115112
|
+
if (paidRead && raw.sizeBytes > maxBytes) {
|
|
115113
|
+
return textResult({
|
|
115114
|
+
error: "paid_file_exceeds_max_bytes",
|
|
115115
|
+
status: 413,
|
|
115116
|
+
sizeBytes: raw.sizeBytes,
|
|
115117
|
+
maxBytes,
|
|
115118
|
+
message: "Payment settled, but the file exceeds maxBytes and is not returned inline. Retry with a larger maxBytes (and a fresh payment); files above the inline ceiling cannot be delivered over MCP."
|
|
115119
|
+
}, true);
|
|
115120
|
+
}
|
|
115121
|
+
if (!paidRead && (!includeContent || raw.sizeBytes > maxBytes)) {
|
|
115037
115122
|
return {
|
|
115038
115123
|
content: [
|
|
115039
115124
|
{
|
|
@@ -115096,6 +115181,32 @@ var getScopeFile = {
|
|
|
115096
115181
|
}, true);
|
|
115097
115182
|
}
|
|
115098
115183
|
if (err2 instanceof McpDataReadError) {
|
|
115184
|
+
if (err2.status === 402) {
|
|
115185
|
+
const body = err2.body;
|
|
115186
|
+
const challenge2 = body?.error?.details?.challenge;
|
|
115187
|
+
if (body?.error?.errorCode === "PAYMENT_REQUIRED" && challenge2) {
|
|
115188
|
+
let meta3 = null;
|
|
115189
|
+
try {
|
|
115190
|
+
meta3 = await readClient.getScopeMetadata(scope);
|
|
115191
|
+
} catch {
|
|
115192
|
+
meta3 = null;
|
|
115193
|
+
}
|
|
115194
|
+
const sizeBytes = meta3?.sizeBytes;
|
|
115195
|
+
return textResult({
|
|
115196
|
+
payment_required: true,
|
|
115197
|
+
status: 402,
|
|
115198
|
+
challenge: challenge2,
|
|
115199
|
+
...typeof sizeBytes === "number" ? { sizeBytes, recommendedMaxBytes: sizeBytes } : {},
|
|
115200
|
+
message: "This file requires payment. Sign the x402 challenge and call get_scope_file again with the `payment` argument" + (typeof sizeBytes === "number" ? ` and maxBytes >= ${sizeBytes}.` : ".")
|
|
115201
|
+
}, true);
|
|
115202
|
+
}
|
|
115203
|
+
return textResult({
|
|
115204
|
+
error: "payment_failed",
|
|
115205
|
+
status: 402,
|
|
115206
|
+
errorCode: body?.error?.errorCode ?? "PAYMENT_ERROR",
|
|
115207
|
+
message: body?.error?.message ?? "Payment could not be completed. This is not a signable challenge; resolve the gateway error and retry."
|
|
115208
|
+
}, true);
|
|
115209
|
+
}
|
|
115099
115210
|
return textResult({
|
|
115100
115211
|
error: err2.status === 404 ? "scope_file_not_found" : "scope_file_read_failed",
|
|
115101
115212
|
status: err2.status,
|
|
@@ -126038,6 +126149,9 @@ function extractGrantErrorMessage(body) {
|
|
|
126038
126149
|
return "Could not create MCP grant";
|
|
126039
126150
|
}
|
|
126040
126151
|
|
|
126152
|
+
// ../core/dist/mcp/session.js
|
|
126153
|
+
var DEFAULT_SESSION_TTL_MS = 60 * 60 * 1e3;
|
|
126154
|
+
|
|
126041
126155
|
// ../core/dist/mcp/activity.js
|
|
126042
126156
|
var DEFAULT_MAX_EVENTS = 50;
|
|
126043
126157
|
var QUERY_PREVIEW_MAX_CHARS = 120;
|
|
@@ -126576,15 +126690,6 @@ function toDataStoragePort(storage) {
|
|
|
126576
126690
|
}
|
|
126577
126691
|
throw new Error("PS Lite runtime requires a persistent DataStoragePort. Use createIndexedDbPsLiteRuntime() or createPersistentPsLiteStorage().");
|
|
126578
126692
|
}
|
|
126579
|
-
function indexedDbAvailable() {
|
|
126580
|
-
return typeof indexedDB !== "undefined";
|
|
126581
|
-
}
|
|
126582
|
-
function createDefaultAccessLogStore() {
|
|
126583
|
-
if (!indexedDbAvailable()) {
|
|
126584
|
-
throw new Error("IndexedDB is required for default PS Lite access log persistence.");
|
|
126585
|
-
}
|
|
126586
|
-
return createIndexedDbPsLiteAccessLogStore();
|
|
126587
|
-
}
|
|
126588
126693
|
function createLogId() {
|
|
126589
126694
|
return globalThis.crypto?.randomUUID?.() ?? `log-${Date.now()}`;
|
|
126590
126695
|
}
|
|
@@ -126593,27 +126698,32 @@ function randomHex(byteLength) {
|
|
|
126593
126698
|
globalThis.crypto.getRandomValues(bytes2);
|
|
126594
126699
|
return Array.from(bytes2, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
126595
126700
|
}
|
|
126596
|
-
function createDefaultTokenStore() {
|
|
126597
|
-
if (!indexedDbAvailable()) {
|
|
126598
|
-
throw new Error("IndexedDB is required for default PS Lite token storage.");
|
|
126599
|
-
}
|
|
126600
|
-
return createIndexedDbPsLiteTokenStore();
|
|
126601
|
-
}
|
|
126602
|
-
function createDefaultSaveConfig() {
|
|
126603
|
-
if (!indexedDbAvailable()) {
|
|
126604
|
-
throw new Error("IndexedDB is required for default PS Lite config persistence.");
|
|
126605
|
-
}
|
|
126606
|
-
const stateStore = createIndexedDbPsLiteStateStore();
|
|
126607
|
-
return async (nextConfig) => {
|
|
126608
|
-
await savePsLiteConfig(stateStore, nextConfig);
|
|
126609
|
-
};
|
|
126610
|
-
}
|
|
126611
126701
|
function bearerToken(request2) {
|
|
126612
126702
|
const authorization = request2.headers.get("authorization");
|
|
126613
126703
|
if (!authorization?.startsWith("Bearer "))
|
|
126614
126704
|
return null;
|
|
126615
126705
|
return authorization.slice(7);
|
|
126616
126706
|
}
|
|
126707
|
+
function snapshotGatewayConfig(config2) {
|
|
126708
|
+
const gateway = config2?.gateway;
|
|
126709
|
+
if (!gateway)
|
|
126710
|
+
return void 0;
|
|
126711
|
+
return {
|
|
126712
|
+
...gateway,
|
|
126713
|
+
...gateway.contracts ? { contracts: { ...gateway.contracts } } : {}
|
|
126714
|
+
};
|
|
126715
|
+
}
|
|
126716
|
+
function resolveX402Settings(config2, gateway = config2?.gateway) {
|
|
126717
|
+
const paymentEnabled = config2?.payment?.enabled ?? false;
|
|
126718
|
+
const gatewayConfigComplete = Boolean(gateway && typeof gateway.url === "string" && typeof gateway.chainId === "number" && gateway.contracts && typeof gateway.contracts.dataPortabilityEscrow === "string" && typeof gateway.contracts.dataRegistry === "string");
|
|
126719
|
+
if (paymentEnabled && !gatewayConfigComplete) {
|
|
126720
|
+
throw new Error("PS-Lite x402 payment is enabled (config.payment.enabled) but the gateway config is incomplete. A complete gateway config \u2014 url, chainId, and contracts (dataPortabilityEscrow, dataRegistry) \u2014 is required to charge for reads. Provide the full config or disable payment.");
|
|
126721
|
+
}
|
|
126722
|
+
return {
|
|
126723
|
+
paymentEnabled,
|
|
126724
|
+
gatewayConfig: gatewayConfigComplete ? gateway : void 0
|
|
126725
|
+
};
|
|
126726
|
+
}
|
|
126617
126727
|
function createPsLiteRuntime(options) {
|
|
126618
126728
|
let active = options.active ?? false;
|
|
126619
126729
|
const now = options.now ?? (() => /* @__PURE__ */ new Date());
|
|
@@ -126625,19 +126735,14 @@ function createPsLiteRuntime(options) {
|
|
|
126625
126735
|
let accessLogReader = options.accessLogReader;
|
|
126626
126736
|
let accessLogWriter = options.accessLogWriter;
|
|
126627
126737
|
if (!accessLogReader || !accessLogWriter) {
|
|
126628
|
-
const accessLogStore =
|
|
126738
|
+
const accessLogStore = createDefaultPsLiteAccessLogStore();
|
|
126629
126739
|
accessLogReader ??= accessLogStore;
|
|
126630
126740
|
accessLogWriter ??= accessLogStore;
|
|
126631
126741
|
}
|
|
126632
|
-
const tokenStore = options.tokenStore ??
|
|
126633
|
-
const saveConfig = options.saveConfig ??
|
|
126634
|
-
const
|
|
126635
|
-
|
|
126636
|
-
const gatewayConfigComplete = Boolean(gw2 && typeof gw2.url === "string" && typeof gw2.chainId === "number" && gw2.contracts && typeof gw2.contracts.dataPortabilityEscrow === "string" && typeof gw2.contracts.dataRegistry === "string");
|
|
126637
|
-
if (paymentEnabled && !gatewayConfigComplete) {
|
|
126638
|
-
throw new Error("PS-Lite x402 payment is enabled (config.payment.enabled) but the gateway config is incomplete. A complete gateway config \u2014 url, chainId, and contracts (dataPortabilityEscrow, dataRegistry) \u2014 is required to charge for reads. Provide the full config or disable payment.");
|
|
126639
|
-
}
|
|
126640
|
-
const x402GatewayConfig = gatewayConfigComplete ? gw2 : void 0;
|
|
126742
|
+
const tokenStore = options.tokenStore ?? createDefaultPsLiteTokenStore();
|
|
126743
|
+
const saveConfig = options.saveConfig ?? createDefaultPsLiteSaveConfig();
|
|
126744
|
+
const boundGatewayConfig = snapshotGatewayConfig(options.config);
|
|
126745
|
+
resolveX402Settings(options.config, boundGatewayConfig);
|
|
126641
126746
|
const x402ServerSigner = options.serverSigner?.signRecordDataAccess ? { signRecordDataAccess: options.serverSigner.signRecordDataAccess } : void 0;
|
|
126642
126747
|
const deviceSessions = createMemoryDeviceSessionStore();
|
|
126643
126748
|
const mcpOAuthAuthorizationStore = options.mcpOAuthAuthorizationStore ?? createInMemoryMcpOAuthAuthorizationStore();
|
|
@@ -126847,6 +126952,7 @@ function createPsLiteRuntime(options) {
|
|
|
126847
126952
|
}
|
|
126848
126953
|
const dataPrefix = "/v1/data";
|
|
126849
126954
|
if (url2.pathname === dataPrefix || url2.pathname.startsWith(`${dataPrefix}/`)) {
|
|
126955
|
+
const x402 = resolveX402Settings(options.config, boundGatewayConfig);
|
|
126850
126956
|
return handlePersonalServerDataRequest(request2, {
|
|
126851
126957
|
storage: dataStorage,
|
|
126852
126958
|
auth,
|
|
@@ -126859,10 +126965,10 @@ function createPsLiteRuntime(options) {
|
|
|
126859
126965
|
// complete gateway config (validated at construction); a partial
|
|
126860
126966
|
// config leaves these undefined so reads are served free instead
|
|
126861
126967
|
// of yielding a malformed challenge.
|
|
126862
|
-
paymentEnabled,
|
|
126968
|
+
paymentEnabled: x402.paymentEnabled,
|
|
126863
126969
|
gateway: options.gateway,
|
|
126864
|
-
gatewayConfig:
|
|
126865
|
-
gatewayUrl:
|
|
126970
|
+
gatewayConfig: x402.gatewayConfig,
|
|
126971
|
+
gatewayUrl: x402.gatewayConfig?.url,
|
|
126866
126972
|
serverAddress: options.identity?.address,
|
|
126867
126973
|
// The data owner signed into the RecordDataAccess attestation.
|
|
126868
126974
|
// Distinct from serverAddress (the server keypair): the core only
|
|
@@ -126930,7 +127036,11 @@ function createPsLiteRuntime(options) {
|
|
|
126930
127036
|
return options.config ?? {};
|
|
126931
127037
|
},
|
|
126932
127038
|
async writeConfig(config2) {
|
|
127039
|
+
resolveX402Settings(config2, boundGatewayConfig);
|
|
126933
127040
|
await saveConfig(config2);
|
|
127041
|
+
if (options.config && typeof config2 === "object" && config2 !== null) {
|
|
127042
|
+
Object.assign(options.config, config2);
|
|
127043
|
+
}
|
|
126934
127044
|
}
|
|
126935
127045
|
});
|
|
126936
127046
|
}
|
|
@@ -126949,7 +127059,9 @@ function createPsLiteRuntime(options) {
|
|
|
126949
127059
|
runtimeAvailability: { isAvailable: () => active },
|
|
126950
127060
|
serverOrigin: url2.origin,
|
|
126951
127061
|
gateway: options.gateway,
|
|
126952
|
-
|
|
127062
|
+
// Pinned like the x402 path: grant registration is signed with the
|
|
127063
|
+
// startup EIP-712 domain, so the MCP route must see the same one.
|
|
127064
|
+
gatewayConfig: boundGatewayConfig,
|
|
126953
127065
|
serverOwner: options.serverOwner ?? options.identity?.address,
|
|
126954
127066
|
serverSigner: options.serverSigner,
|
|
126955
127067
|
activityRecorder
|
|
@@ -128488,10 +128600,33 @@ async function createPsLiteSyncManager(options) {
|
|
|
128488
128600
|
return { syncManager, serverOwner };
|
|
128489
128601
|
}
|
|
128490
128602
|
|
|
128603
|
+
// ../lite/dist/persistence.js
|
|
128604
|
+
function assertCompletePsLitePersistenceBundle(bundle) {
|
|
128605
|
+
if (!bundle || typeof bundle !== "object") {
|
|
128606
|
+
throw new Error("PS Lite persistence bundle must be a complete object");
|
|
128607
|
+
}
|
|
128608
|
+
const required2 = [
|
|
128609
|
+
"storage",
|
|
128610
|
+
"state",
|
|
128611
|
+
"tokens",
|
|
128612
|
+
"accessLog",
|
|
128613
|
+
"mcpConnections",
|
|
128614
|
+
"mcpOAuthAuthorizations",
|
|
128615
|
+
"relayTlsIdentity"
|
|
128616
|
+
];
|
|
128617
|
+
const missing = required2.filter((key) => bundle[key] == null);
|
|
128618
|
+
if (missing.length > 0) {
|
|
128619
|
+
throw new Error(`PS Lite persistence bundle must be complete; missing ${missing.join(", ")}`);
|
|
128620
|
+
}
|
|
128621
|
+
}
|
|
128622
|
+
|
|
128491
128623
|
// ../lite/dist/browser-runtime.js
|
|
128492
128624
|
async function createIndexedDbPsLiteRuntime(options) {
|
|
128493
128625
|
const dbName = options.dbName ?? "personal-server-lite";
|
|
128494
|
-
const
|
|
128626
|
+
const injected = options.persistence;
|
|
128627
|
+
if (injected !== void 0)
|
|
128628
|
+
assertCompletePsLitePersistenceBundle(injected);
|
|
128629
|
+
const stateStore = injected?.state ?? createIndexedDbPsLiteStateStore({
|
|
128495
128630
|
dbName,
|
|
128496
128631
|
storeName: options.stateStoreName ?? "state"
|
|
128497
128632
|
});
|
|
@@ -128500,15 +128635,15 @@ async function createIndexedDbPsLiteRuntime(options) {
|
|
|
128500
128635
|
store: stateStore,
|
|
128501
128636
|
ownerSignature: options.ownerSignature
|
|
128502
128637
|
});
|
|
128503
|
-
const tokenStore = createIndexedDbPsLiteTokenStore({
|
|
128638
|
+
const tokenStore = injected?.tokens ?? createIndexedDbPsLiteTokenStore({
|
|
128504
128639
|
dbName,
|
|
128505
128640
|
storeName: "tokens"
|
|
128506
128641
|
});
|
|
128507
|
-
const accessLogStore = createIndexedDbPsLiteAccessLogStore({
|
|
128642
|
+
const accessLogStore = injected?.accessLog ?? createIndexedDbPsLiteAccessLogStore({
|
|
128508
128643
|
dbName,
|
|
128509
128644
|
storeName: "accessLogs"
|
|
128510
128645
|
});
|
|
128511
|
-
const storage = await createPersistentPsLiteStorage({ kind: "indexeddb" }, createIndexedDbPsLitePersistence({
|
|
128646
|
+
const storage = injected?.storage ?? await createPersistentPsLiteStorage({ kind: "indexeddb" }, createIndexedDbPsLitePersistence({
|
|
128512
128647
|
dbName: options.storageDbName ?? `${dbName}-storage`,
|
|
128513
128648
|
storeName: options.storageStoreName ?? "state",
|
|
128514
128649
|
key: options.storageKey ?? "data-storage-v1"
|
|
@@ -128569,10 +128704,14 @@ async function createIndexedDbPsLiteRuntime(options) {
|
|
|
128569
128704
|
const saved = await savePsLiteConfig(stateStore, nextConfig);
|
|
128570
128705
|
Object.assign(config2, saved);
|
|
128571
128706
|
},
|
|
128572
|
-
stateCapabilities: { config: "indexeddb" },
|
|
128707
|
+
stateCapabilities: { config: injected?.state ? "custom" : "indexeddb" },
|
|
128573
128708
|
tokenStore,
|
|
128574
128709
|
accessLogReader: accessLogStore,
|
|
128575
|
-
accessLogWriter: accessLogStore
|
|
128710
|
+
accessLogWriter: accessLogStore,
|
|
128711
|
+
// A complete host bundle owns both MCP records too. Direct options remain
|
|
128712
|
+
// available only on the default Web path for backwards compatibility.
|
|
128713
|
+
mcpConnectionStore: injected?.mcpConnections ?? options.mcpConnectionStore,
|
|
128714
|
+
mcpOAuthAuthorizationStore: injected?.mcpOAuthAuthorizations ?? options.mcpOAuthAuthorizationStore
|
|
128576
128715
|
});
|
|
128577
128716
|
runtimeRef = runtime;
|
|
128578
128717
|
return {
|
|
@@ -129601,13 +129740,14 @@ function createRustlsPsLiteRelayTlsFactory(options) {
|
|
|
129601
129740
|
let trustedIdentity;
|
|
129602
129741
|
let inFlight;
|
|
129603
129742
|
let inFlightToken;
|
|
129743
|
+
const identityStore = options.identityStore ?? (options.storage ? createLocalStoragePsLiteRelayTlsIdentityStore(options.storage) : void 0);
|
|
129604
129744
|
async function resolveIdentity(input) {
|
|
129605
129745
|
if (trustedIdentity) {
|
|
129606
129746
|
return trustedIdentity;
|
|
129607
129747
|
}
|
|
129608
129748
|
const token = input.issueToken ?? "";
|
|
129609
129749
|
if (!inFlight || token && token !== inFlightToken) {
|
|
129610
|
-
const attempt = createTlsIdentity(input, options).finally(() => {
|
|
129750
|
+
const attempt = createTlsIdentity(input, options, identityStore ?? createLocalStoragePsLiteRelayTlsIdentityStore()).finally(() => {
|
|
129611
129751
|
if (inFlight === attempt) {
|
|
129612
129752
|
inFlight = void 0;
|
|
129613
129753
|
inFlightToken = void 0;
|
|
@@ -129666,9 +129806,9 @@ function normalizeTlsStep(value) {
|
|
|
129666
129806
|
handshaking: Boolean(step.handshaking)
|
|
129667
129807
|
};
|
|
129668
129808
|
}
|
|
129669
|
-
async function createTlsIdentity(input, options) {
|
|
129809
|
+
async function createTlsIdentity(input, options, identityStore) {
|
|
129670
129810
|
const hostname3 = psLiteRelayPublicHost(input.sessionId, options.publicSuffix);
|
|
129671
|
-
const cached2 = readCachedTlsIdentity(hostname3,
|
|
129811
|
+
const cached2 = await readCachedTlsIdentity(hostname3, identityStore);
|
|
129672
129812
|
if (cached2) {
|
|
129673
129813
|
return cached2;
|
|
129674
129814
|
}
|
|
@@ -129677,7 +129817,7 @@ async function createTlsIdentity(input, options) {
|
|
|
129677
129817
|
sessionId: input.sessionId,
|
|
129678
129818
|
issueToken: input.issueToken ?? "",
|
|
129679
129819
|
hostname: hostname3,
|
|
129680
|
-
|
|
129820
|
+
identityStore,
|
|
129681
129821
|
logger: options.logger,
|
|
129682
129822
|
timeoutMs: options.issueCertTimeoutMs ?? DEFAULT_ISSUE_CERT_TIMEOUT_MS
|
|
129683
129823
|
});
|
|
@@ -129796,20 +129936,27 @@ async function fetchSessionCert(input) {
|
|
|
129796
129936
|
trusted: true
|
|
129797
129937
|
};
|
|
129798
129938
|
try {
|
|
129799
|
-
cacheTlsIdentity(identity, input.
|
|
129939
|
+
await cacheTlsIdentity(identity, input.identityStore);
|
|
129800
129940
|
} catch (error51) {
|
|
129801
129941
|
input.logger?.(`failed to persist session certificate (${error51 instanceof Error ? error51.message : String(error51)}); continuing with the in-memory identity`);
|
|
129802
129942
|
}
|
|
129803
129943
|
return identity;
|
|
129804
129944
|
}
|
|
129805
|
-
function
|
|
129806
|
-
|
|
129807
|
-
|
|
129808
|
-
|
|
129809
|
-
return
|
|
129945
|
+
function createLocalStoragePsLiteRelayTlsIdentityStore(storage = globalThis.localStorage) {
|
|
129946
|
+
return {
|
|
129947
|
+
read(hostname3) {
|
|
129948
|
+
const raw = storage.getItem(`${TLS_IDENTITY_CACHE_KEY}:${hostname3}`);
|
|
129949
|
+
return raw ? JSON.parse(raw) : null;
|
|
129950
|
+
},
|
|
129951
|
+
write(identity) {
|
|
129952
|
+
storage.setItem(`${TLS_IDENTITY_CACHE_KEY}:${identity.hostname}`, JSON.stringify(identity));
|
|
129810
129953
|
}
|
|
129811
|
-
|
|
129812
|
-
|
|
129954
|
+
};
|
|
129955
|
+
}
|
|
129956
|
+
async function readCachedTlsIdentity(hostname3, identityStore) {
|
|
129957
|
+
try {
|
|
129958
|
+
const identity = await identityStore.read(hostname3);
|
|
129959
|
+
if (!identity || identity.hostname !== hostname3 || !identity.certPem || !identity.keyPem || identity.source !== "acme") {
|
|
129813
129960
|
return void 0;
|
|
129814
129961
|
}
|
|
129815
129962
|
const notAfter = firstCertificateNotAfter(identity.certPem);
|
|
@@ -129825,11 +129972,11 @@ function readCachedTlsIdentity(hostname3, storage = globalThis.localStorage) {
|
|
|
129825
129972
|
return void 0;
|
|
129826
129973
|
}
|
|
129827
129974
|
}
|
|
129828
|
-
function cacheTlsIdentity(identity,
|
|
129975
|
+
async function cacheTlsIdentity(identity, identityStore) {
|
|
129829
129976
|
if (identity.source !== "acme") {
|
|
129830
129977
|
return;
|
|
129831
129978
|
}
|
|
129832
|
-
|
|
129979
|
+
await identityStore.write(identity);
|
|
129833
129980
|
}
|
|
129834
129981
|
function firstCertificateNotAfter(certPem) {
|
|
129835
129982
|
const match = certPem.match(/-----BEGIN CERTIFICATE-----[\s\S]+?-----END CERTIFICATE-----/);
|
|
@@ -129869,6 +130016,7 @@ function startPsLiteRelayClient(options) {
|
|
|
129869
130016
|
controlUrl: baseControlUrl,
|
|
129870
130017
|
publicSuffix: options.publicSuffix,
|
|
129871
130018
|
certIssuerUrl: options.certIssuerUrl,
|
|
130019
|
+
identityStore: options.tlsIdentityStore,
|
|
129872
130020
|
logger: options.logger
|
|
129873
130021
|
}) : options.tls;
|
|
129874
130022
|
const streams = /* @__PURE__ */ new Map();
|
|
@@ -130376,9 +130524,15 @@ function httpStatusText(status2) {
|
|
|
130376
130524
|
// ../lite/dist/client.js
|
|
130377
130525
|
var DEFAULT_LITE_ORIGIN = "https://ps-lite.local";
|
|
130378
130526
|
async function startPersonalServer(options) {
|
|
130527
|
+
if (options.persistence && options.runtime) {
|
|
130528
|
+
throw new Error("runtime cannot be supplied with a complete persistence bundle");
|
|
130529
|
+
}
|
|
130530
|
+
if (options.persistence && options.relayStateStore) {
|
|
130531
|
+
throw new Error("relayStateStore cannot be supplied with a complete persistence bundle");
|
|
130532
|
+
}
|
|
130379
130533
|
const localOrigin = options.localOrigin ?? DEFAULT_LITE_ORIGIN;
|
|
130380
130534
|
const relayOptions = options.relay || void 0;
|
|
130381
|
-
const relayStateStore = relayOptions ? options.relayStateStore ?? (options.runtime ? void 0 : createIndexedDbPsLiteStateStore({
|
|
130535
|
+
const relayStateStore = relayOptions ? options.relayStateStore ?? options.persistence?.state ?? (options.runtime ? void 0 : createIndexedDbPsLiteStateStore({
|
|
130382
130536
|
dbName: options.dbName ?? "personal-server-lite",
|
|
130383
130537
|
storeName: options.stateStoreName ?? "state"
|
|
130384
130538
|
})) : void 0;
|
|
@@ -130421,6 +130575,7 @@ async function startPersonalServer(options) {
|
|
|
130421
130575
|
...resolvedRelayOptions,
|
|
130422
130576
|
runtime,
|
|
130423
130577
|
origin: runtimeOrigin,
|
|
130578
|
+
tlsIdentityStore: options.persistence?.relayTlsIdentity ?? resolvedRelayOptions.tlsIdentityStore,
|
|
130424
130579
|
onStatus(nextRelayStatus, detail) {
|
|
130425
130580
|
relayStatus2 = nextRelayStatus;
|
|
130426
130581
|
if (nextRelayStatus === "error")
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendatalabs/personal-server-ts-server",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Hono HTTP server for the Vana Personal Server — routes, middleware, composition root",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"@hono/node-server": "^1.19.13",
|
|
47
|
-
"@opendatalabs/personal-server-ts-core": "1.
|
|
48
|
-
"@opendatalabs/personal-server-ts-lite": "1.
|
|
47
|
+
"@opendatalabs/personal-server-ts-core": "1.5.0",
|
|
48
|
+
"@opendatalabs/personal-server-ts-lite": "1.5.0",
|
|
49
49
|
"@opendatalabs/vana-sdk": "3.14.0",
|
|
50
50
|
"better-sqlite3": "^12.11.1",
|
|
51
51
|
"hono": "^4.12.27",
|