@opendatalabs/personal-server-ts-server 0.0.1-canary.e647e76 → 0.0.1-canary.f7e601f
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 +2 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -1
- package/dist/app.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +5 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/routes/grants.d.ts +3 -2
- package/dist/routes/grants.d.ts.map +1 -1
- package/dist/routes/grants.js +88 -2
- package/dist/routes/grants.js.map +1 -1
- package/dist/tunnel/auth.d.ts +2 -0
- package/dist/tunnel/auth.d.ts.map +1 -1
- package/dist/tunnel/auth.js +3 -1
- package/dist/tunnel/auth.js.map +1 -1
- package/dist/tunnel/index.d.ts +3 -1
- package/dist/tunnel/index.d.ts.map +1 -1
- package/dist/tunnel/index.js +2 -1
- package/dist/tunnel/index.js.map +1 -1
- package/dist/tunnel/manager.d.ts +29 -0
- package/dist/tunnel/manager.d.ts.map +1 -1
- package/dist/tunnel/manager.js +153 -65
- package/dist/tunnel/manager.js.map +1 -1
- package/dist/tunnel/verify.d.ts +28 -0
- package/dist/tunnel/verify.d.ts.map +1 -0
- package/dist/tunnel/verify.js +40 -0
- package/dist/tunnel/verify.js.map +1 -0
- package/package.json +2 -2
package/dist/app.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { AccessLogWriter } from "@opendatalabs/personal-server-ts-core/logg
|
|
|
6
6
|
import type { AccessLogReader } from "@opendatalabs/personal-server-ts-core/logging/access-reader";
|
|
7
7
|
import { type HealthDeps } from "./routes/health.js";
|
|
8
8
|
import type { SyncManager } from "@opendatalabs/personal-server-ts-core/sync";
|
|
9
|
+
import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
9
10
|
import type { Logger } from "pino";
|
|
10
11
|
export interface IdentityInfo {
|
|
11
12
|
address: `0x${string}`;
|
|
@@ -27,6 +28,7 @@ export interface AppDeps {
|
|
|
27
28
|
devToken?: string;
|
|
28
29
|
configPath?: string;
|
|
29
30
|
syncManager?: SyncManager | null;
|
|
31
|
+
serverSigner?: ServerSigner;
|
|
30
32
|
getTunnelStatus?: HealthDeps["getTunnelStatus"];
|
|
31
33
|
}
|
|
32
34
|
export declare function createApp(deps: AppDeps): Hono;
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AACxF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,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,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;CACjD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,
|
|
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,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AACnG,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOlE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,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,CAAC;IACrB,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,eAAe,CAAC;IACjC,eAAe,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,UAAU,CAAC,iBAAiB,CAAC,CAAC;CACjD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAmI7C"}
|
package/dist/app.js
CHANGED
|
@@ -39,13 +39,14 @@ export function createApp(deps) {
|
|
|
39
39
|
devToken: deps.devToken,
|
|
40
40
|
syncManager: deps.syncManager ?? null,
|
|
41
41
|
}));
|
|
42
|
-
// Mount grants routes (POST /verify is public, GET /
|
|
42
|
+
// Mount grants routes (POST /verify is public, GET / and POST / need owner auth)
|
|
43
43
|
app.route("/v1/grants", grantsRoutes({
|
|
44
44
|
logger: deps.logger,
|
|
45
45
|
gateway: deps.gateway,
|
|
46
46
|
serverOwner: deps.serverOwner,
|
|
47
47
|
serverOrigin: deps.serverOrigin,
|
|
48
48
|
devToken: deps.devToken,
|
|
49
|
+
serverSigner: deps.serverSigner,
|
|
49
50
|
}));
|
|
50
51
|
// Mount access-logs routes (all owner auth)
|
|
51
52
|
app.route("/v1/access-logs", accessLogsRoutes({
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAM7E,OAAO,EAAE,WAAW,EAAmB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAKlF,OAAO,EAEL,KAAK,MAAM,EACZ,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,qDAAqD,CAAC;AAG7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAGnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAMnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAKhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAKlF,OAAO,EAEL,KAAK,MAAM,EACZ,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,qDAAqD,CAAC;AAG7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAGnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6DAA6D,CAAC;AAMnG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAKhF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAoB,MAAM,mBAAmB,CAAC;AAEpE,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAiQxB"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -105,6 +105,10 @@ export async function createServer(config, options) {
|
|
|
105
105
|
localPort: config.server.port,
|
|
106
106
|
}, frpcBinaryPath);
|
|
107
107
|
logger.info({ tunnelUrl }, "Tunnel established");
|
|
108
|
+
if (!identity?.serverId) {
|
|
109
|
+
logger.warn("Tunnel started but server is not registered with gateway — tunnel will not route traffic. Run: npm run register-server");
|
|
110
|
+
tunnelManager.setVerified(false, "Server not registered with gateway");
|
|
111
|
+
}
|
|
108
112
|
// Use tunnel URL as effective origin for requests and Gateway registration
|
|
109
113
|
effectiveOrigin = tunnelUrl;
|
|
110
114
|
}
|
|
@@ -183,6 +187,7 @@ export async function createServer(config, options) {
|
|
|
183
187
|
devToken,
|
|
184
188
|
configPath,
|
|
185
189
|
syncManager,
|
|
190
|
+
serverSigner,
|
|
186
191
|
getTunnelStatus: tunnelManager
|
|
187
192
|
? () => tunnelManager.getStatus()
|
|
188
193
|
: undefined,
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,36 @@
|
|
|
1
1
|
import { serve } from "@hono/node-server";
|
|
2
2
|
import { loadConfig } from "@opendatalabs/personal-server-ts-core/config";
|
|
3
3
|
import { createServer } from "./bootstrap.js";
|
|
4
|
+
import { verifyTunnelUrl } from "./tunnel/index.js";
|
|
4
5
|
const DRAIN_TIMEOUT_MS = 5_000;
|
|
5
6
|
async function main() {
|
|
6
7
|
const rootPath = process.env.PERSONAL_SERVER_ROOT_PATH;
|
|
7
8
|
const config = await loadConfig({ rootPath });
|
|
8
|
-
const { app, logger, devToken } = await createServer(config, {
|
|
9
|
+
const { app, logger, devToken, tunnelUrl, tunnelManager } = await createServer(config, {
|
|
10
|
+
rootPath,
|
|
11
|
+
});
|
|
9
12
|
const server = serve({ fetch: app.fetch, port: config.server.port }, (info) => {
|
|
10
13
|
logger.info({ port: info.port, version: "0.0.1" }, "Server started");
|
|
11
14
|
if (devToken) {
|
|
12
15
|
logger.info({ url: `http://localhost:${info.port}/ui` }, "Dev UI available");
|
|
13
16
|
logger.info({ devToken }, "Dev token (ephemeral)");
|
|
14
17
|
}
|
|
18
|
+
// Verify tunnel URL is reachable now that the HTTP server is listening
|
|
19
|
+
// Skip if already in error state (e.g. server not registered)
|
|
20
|
+
if (tunnelUrl &&
|
|
21
|
+
tunnelManager &&
|
|
22
|
+
tunnelManager.getStatus().status !== "error") {
|
|
23
|
+
logger.info({ tunnelUrl }, "Verifying tunnel URL is reachable...");
|
|
24
|
+
verifyTunnelUrl(tunnelUrl).then((result) => {
|
|
25
|
+
tunnelManager.setVerified(result.reachable, result.error);
|
|
26
|
+
if (result.reachable) {
|
|
27
|
+
logger.info({ tunnelUrl, attempts: result.attempts }, "Tunnel URL verified");
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
logger.warn({ tunnelUrl, attempts: result.attempts, error: result.error }, "Tunnel URL not reachable — server running in local-only mode");
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
15
34
|
});
|
|
16
35
|
function shutdown(signal) {
|
|
17
36
|
logger.info({ signal }, "Shutdown signal received, draining connections");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/grants.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Grants routes — POST /verify (public
|
|
3
|
-
* Verifies EIP-712 grant signatures locally without network calls.
|
|
2
|
+
* Grants routes — GET / (owner), POST / (create grant), POST /verify (public).
|
|
4
3
|
*/
|
|
5
4
|
import { Hono } from "hono";
|
|
6
5
|
import type { Logger } from "pino";
|
|
7
6
|
import type { GatewayClient } from "@opendatalabs/personal-server-ts-core/gateway";
|
|
7
|
+
import type { ServerSigner } from "@opendatalabs/personal-server-ts-core/signing";
|
|
8
8
|
export interface GrantsRouteDeps {
|
|
9
9
|
logger: Logger;
|
|
10
10
|
gateway: GatewayClient;
|
|
11
11
|
serverOwner?: `0x${string}`;
|
|
12
12
|
serverOrigin: string;
|
|
13
13
|
devToken?: string;
|
|
14
|
+
serverSigner?: ServerSigner;
|
|
14
15
|
}
|
|
15
16
|
export declare function grantsRoutes(deps: GrantsRouteDeps): Hono;
|
|
16
17
|
//# sourceMappingURL=grants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grants.d.ts","sourceRoot":"","sources":["../../src/routes/grants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"grants.d.ts","sourceRoot":"","sources":["../../src/routes/grants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAKnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAIlF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAoED,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAwMxD"}
|
package/dist/routes/grants.js
CHANGED
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Grants routes — POST /verify (public
|
|
3
|
-
* Verifies EIP-712 grant signatures locally without network calls.
|
|
2
|
+
* Grants routes — GET / (owner), POST / (create grant), POST /verify (public).
|
|
4
3
|
*/
|
|
5
4
|
import { Hono } from "hono";
|
|
6
5
|
import { verifyTypedData } from "viem";
|
|
7
6
|
import { GRANT_DOMAIN, GRANT_TYPES, } from "@opendatalabs/personal-server-ts-core/grants";
|
|
8
7
|
import { createWeb3AuthMiddleware } from "../middleware/web3-auth.js";
|
|
9
8
|
import { createOwnerCheckMiddleware } from "../middleware/owner-check.js";
|
|
9
|
+
function isValidCreateBody(body) {
|
|
10
|
+
if (body === null || typeof body !== "object" || Array.isArray(body))
|
|
11
|
+
return false;
|
|
12
|
+
const b = body;
|
|
13
|
+
if (typeof b.granteeAddress !== "string" ||
|
|
14
|
+
!b.granteeAddress.startsWith("0x"))
|
|
15
|
+
return false;
|
|
16
|
+
if (!Array.isArray(b.scopes) || b.scopes.length === 0)
|
|
17
|
+
return false;
|
|
18
|
+
if (!b.scopes.every((s) => typeof s === "string"))
|
|
19
|
+
return false;
|
|
20
|
+
if (b.expiresAt !== undefined && typeof b.expiresAt !== "number")
|
|
21
|
+
return false;
|
|
22
|
+
if (b.nonce !== undefined && typeof b.nonce !== "number")
|
|
23
|
+
return false;
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
10
26
|
function isValidVerifyBody(body) {
|
|
11
27
|
if (body === null || typeof body !== "object" || Array.isArray(body))
|
|
12
28
|
return false;
|
|
@@ -56,6 +72,76 @@ export function grantsRoutes(deps) {
|
|
|
56
72
|
const grants = await deps.gateway.listGrantsByUser(deps.serverOwner);
|
|
57
73
|
return c.json({ grants });
|
|
58
74
|
});
|
|
75
|
+
// POST / — create a grant (owner-only, called by Desktop App)
|
|
76
|
+
app.post("/", web3Auth, ownerCheck, async (c) => {
|
|
77
|
+
if (!deps.serverOwner) {
|
|
78
|
+
return c.json({
|
|
79
|
+
error: {
|
|
80
|
+
code: 500,
|
|
81
|
+
errorCode: "SERVER_NOT_CONFIGURED",
|
|
82
|
+
message: "Server owner address not configured. Set VANA_MASTER_KEY_SIGNATURE environment variable.",
|
|
83
|
+
},
|
|
84
|
+
}, 500);
|
|
85
|
+
}
|
|
86
|
+
if (!deps.serverSigner) {
|
|
87
|
+
return c.json({
|
|
88
|
+
error: {
|
|
89
|
+
code: 500,
|
|
90
|
+
errorCode: "SERVER_SIGNER_NOT_CONFIGURED",
|
|
91
|
+
message: "Server signer not configured. Set VANA_MASTER_KEY_SIGNATURE environment variable.",
|
|
92
|
+
},
|
|
93
|
+
}, 500);
|
|
94
|
+
}
|
|
95
|
+
let body;
|
|
96
|
+
try {
|
|
97
|
+
body = await c.req.json();
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return c.json({ error: "INVALID_BODY", message: "Invalid JSON body" }, 400);
|
|
101
|
+
}
|
|
102
|
+
if (!isValidCreateBody(body)) {
|
|
103
|
+
return c.json({
|
|
104
|
+
error: "INVALID_BODY",
|
|
105
|
+
message: "Body must include granteeAddress (0x string) and scopes (non-empty string array)",
|
|
106
|
+
}, 400);
|
|
107
|
+
}
|
|
108
|
+
const { granteeAddress, scopes, expiresAt, nonce } = body;
|
|
109
|
+
// Look up builder to get their on-chain ID
|
|
110
|
+
const builder = await deps.gateway.getBuilder(granteeAddress);
|
|
111
|
+
if (!builder) {
|
|
112
|
+
return c.json({
|
|
113
|
+
error: {
|
|
114
|
+
code: 404,
|
|
115
|
+
errorCode: "BUILDER_NOT_REGISTERED",
|
|
116
|
+
message: `Builder ${granteeAddress} is not registered on-chain`,
|
|
117
|
+
},
|
|
118
|
+
}, 404);
|
|
119
|
+
}
|
|
120
|
+
// Build the grant payload JSON string
|
|
121
|
+
const grantPayload = JSON.stringify({
|
|
122
|
+
user: deps.serverOwner,
|
|
123
|
+
builder: granteeAddress,
|
|
124
|
+
scopes,
|
|
125
|
+
expiresAt: expiresAt ?? 0,
|
|
126
|
+
nonce: nonce ?? Date.now(),
|
|
127
|
+
});
|
|
128
|
+
// Sign EIP-712 GrantRegistration
|
|
129
|
+
const signature = await deps.serverSigner.signGrantRegistration({
|
|
130
|
+
grantorAddress: deps.serverOwner,
|
|
131
|
+
granteeId: builder.id,
|
|
132
|
+
grant: grantPayload,
|
|
133
|
+
fileIds: [],
|
|
134
|
+
});
|
|
135
|
+
// Submit to Gateway
|
|
136
|
+
const result = await deps.gateway.createGrant({
|
|
137
|
+
grantorAddress: deps.serverOwner,
|
|
138
|
+
granteeId: builder.id,
|
|
139
|
+
grant: grantPayload,
|
|
140
|
+
fileIds: [],
|
|
141
|
+
signature,
|
|
142
|
+
});
|
|
143
|
+
return c.json({ grantId: result.grantId }, 201);
|
|
144
|
+
});
|
|
59
145
|
// POST /verify — public endpoint, no auth required
|
|
60
146
|
app.post("/verify", async (c) => {
|
|
61
147
|
let body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/routes/grants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"grants.js","sourceRoot":"","sources":["../../src/routes/grants.ts"],"names":[],"mappings":"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"}
|
package/dist/tunnel/auth.d.ts
CHANGED
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* The claim is a base64url-encoded JSON payload signed with EIP-191.
|
|
6
6
|
*/
|
|
7
7
|
import type { ServerAccount } from "@opendatalabs/personal-server-ts-core/keys";
|
|
8
|
+
/** Claim time-to-live in seconds. Used for refresh scheduling. */
|
|
9
|
+
export declare const CLAIM_TTL_SECONDS = 300;
|
|
8
10
|
export interface SignedClaim {
|
|
9
11
|
claim: string;
|
|
10
12
|
sig: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tunnel/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAEhF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAiBtB"}
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tunnel/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAEhF,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,uDAAuD;AACvD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMrD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAiBtB"}
|
package/dist/tunnel/auth.js
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Generates signed claims for FRP server plugin-first Login/NewProxy validation.
|
|
5
5
|
* The claim is a base64url-encoded JSON payload signed with EIP-191.
|
|
6
6
|
*/
|
|
7
|
+
/** Claim time-to-live in seconds. Used for refresh scheduling. */
|
|
8
|
+
export const CLAIM_TTL_SECONDS = 300;
|
|
7
9
|
/** Encode a UTF-8 string to base64url (no padding). */
|
|
8
10
|
export function base64urlEncode(input) {
|
|
9
11
|
return Buffer.from(input, "utf-8")
|
|
@@ -31,7 +33,7 @@ export async function generateSignedClaim(config) {
|
|
|
31
33
|
const payload = {
|
|
32
34
|
aud: "https://tunnel.vana.org",
|
|
33
35
|
iat: now,
|
|
34
|
-
exp: now +
|
|
36
|
+
exp: now + CLAIM_TTL_SECONDS,
|
|
35
37
|
owner: config.ownerAddress,
|
|
36
38
|
wallet: config.walletAddress,
|
|
37
39
|
subdomain: config.walletAddress.toLowerCase(),
|
package/dist/tunnel/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tunnel/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tunnel/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAwBrC,uDAAuD;AACvD,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;SAC/B,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAiB;QAC5B,GAAG,EAAE,yBAAyB;QAC9B,GAAG,EAAE,GAAG;QACR,GAAG,EAAE,GAAG,GAAG,iBAAiB;QAC5B,KAAK,EAAE,MAAM,CAAC,YAAY;QAC1B,MAAM,EAAE,MAAM,CAAC,aAAa;QAC5B,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE;QAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IAEF,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE1D,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/tunnel/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FRP tunnel module for establishing reverse proxy connections.
|
|
3
3
|
*/
|
|
4
|
-
export { generateSignedClaim, base64urlEncode } from "./auth.js";
|
|
4
|
+
export { generateSignedClaim, base64urlEncode, CLAIM_TTL_SECONDS, } from "./auth.js";
|
|
5
5
|
export type { SignedClaim, ClaimPayload, ClaimConfig } from "./auth.js";
|
|
6
6
|
export { generateFrpcConfig } from "./config.js";
|
|
7
7
|
export type { FrpcConfigOptions } from "./config.js";
|
|
8
8
|
export { TunnelManager } from "./manager.js";
|
|
9
9
|
export type { TunnelConfig, TunnelStatus, TunnelStatusInfo, } from "./manager.js";
|
|
10
10
|
export { ensureFrpcBinary, getBinaryPath } from "./binary.js";
|
|
11
|
+
export { buildTunnelUrl, verifyTunnelUrl } from "./verify.js";
|
|
12
|
+
export type { VerifyTunnelOptions, VerifyTunnelResult } from "./verify.js";
|
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/tunnel/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* FRP tunnel module for establishing reverse proxy connections.
|
|
3
3
|
*/
|
|
4
|
-
export { generateSignedClaim, base64urlEncode } from "./auth.js";
|
|
4
|
+
export { generateSignedClaim, base64urlEncode, CLAIM_TTL_SECONDS, } from "./auth.js";
|
|
5
5
|
export { generateFrpcConfig } from "./config.js";
|
|
6
6
|
export { TunnelManager } from "./manager.js";
|
|
7
7
|
export { ensureFrpcBinary, getBinaryPath } from "./binary.js";
|
|
8
|
+
export { buildTunnelUrl, verifyTunnelUrl } from "./verify.js";
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/tunnel/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tunnel/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO7C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/tunnel/manager.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* - Generate signed claim and frpc.toml config
|
|
6
6
|
* - Spawn frpc process with a caller-provided binary path
|
|
7
7
|
* - Monitor process lifecycle
|
|
8
|
+
* - Periodically refresh the auth claim before it expires
|
|
8
9
|
* - Provide status for health endpoint
|
|
9
10
|
*/
|
|
10
11
|
import type { ServerAccount } from "@opendatalabs/personal-server-ts-core/keys";
|
|
@@ -33,10 +34,14 @@ export declare class TunnelManager {
|
|
|
33
34
|
private connectedSince;
|
|
34
35
|
private lastError;
|
|
35
36
|
private config;
|
|
37
|
+
private binaryPath;
|
|
38
|
+
private refreshTimer;
|
|
39
|
+
private refreshing;
|
|
36
40
|
constructor(storageRoot: string);
|
|
37
41
|
/**
|
|
38
42
|
* Start the frpc process with the given configuration.
|
|
39
43
|
* Returns the public URL once the tunnel is established.
|
|
44
|
+
* Automatically schedules periodic claim refresh.
|
|
40
45
|
*/
|
|
41
46
|
start(config: TunnelConfig, binaryPath: string): Promise<string>;
|
|
42
47
|
/**
|
|
@@ -47,6 +52,10 @@ export declare class TunnelManager {
|
|
|
47
52
|
* Check if the tunnel is currently running.
|
|
48
53
|
*/
|
|
49
54
|
isRunning(): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Update status based on external verification of the tunnel URL.
|
|
57
|
+
*/
|
|
58
|
+
setVerified(reachable: boolean, error?: string): void;
|
|
50
59
|
/**
|
|
51
60
|
* Get the current tunnel status.
|
|
52
61
|
*/
|
|
@@ -55,5 +64,25 @@ export declare class TunnelManager {
|
|
|
55
64
|
* Get the public URL if connected.
|
|
56
65
|
*/
|
|
57
66
|
getPublicUrl(): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* Generate a fresh signed claim, write frpc.toml, and return the config path.
|
|
69
|
+
*/
|
|
70
|
+
private writeFreshConfig;
|
|
71
|
+
/**
|
|
72
|
+
* Spawn the frpc process and wait for it to report a successful connection
|
|
73
|
+
* (or resolve optimistically after a timeout).
|
|
74
|
+
*/
|
|
75
|
+
private spawnProcess;
|
|
76
|
+
/**
|
|
77
|
+
* Kill the running frpc process and wait for it to exit.
|
|
78
|
+
*/
|
|
79
|
+
private killProcess;
|
|
80
|
+
private scheduleRefresh;
|
|
81
|
+
private clearRefreshTimer;
|
|
82
|
+
/**
|
|
83
|
+
* Refresh the auth claim by rewriting frpc.toml and restarting the process.
|
|
84
|
+
* On failure, retries after a shorter interval.
|
|
85
|
+
*/
|
|
86
|
+
private refreshClaim;
|
|
58
87
|
}
|
|
59
88
|
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/tunnel/manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/tunnel/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAKhF,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,UAAU,GACV,WAAW,GACX,cAAc,GACd,OAAO,CAAC;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAQD,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,UAAU,CAAS;gBAEf,WAAW,EAAE,MAAM;IAI/B;;;;OAIG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCtE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAUrD;;OAEG;IACH,SAAS,IAAI,gBAAgB;IAU7B;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAQ7B;;OAEG;YACW,gBAAgB;IA8B9B;;;OAGG;YACW,YAAY;IAkE1B;;OAEG;YACW,WAAW;IAsBzB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;YACW,YAAY;CA0B3B"}
|
package/dist/tunnel/manager.js
CHANGED
|
@@ -5,13 +5,19 @@
|
|
|
5
5
|
* - Generate signed claim and frpc.toml config
|
|
6
6
|
* - Spawn frpc process with a caller-provided binary path
|
|
7
7
|
* - Monitor process lifecycle
|
|
8
|
+
* - Periodically refresh the auth claim before it expires
|
|
8
9
|
* - Provide status for health endpoint
|
|
9
10
|
*/
|
|
10
11
|
import { spawn } from "node:child_process";
|
|
11
12
|
import { writeFile, mkdir, chmod, access, constants } from "node:fs/promises";
|
|
12
13
|
import { join } from "node:path";
|
|
13
|
-
import { generateSignedClaim } from "./auth.js";
|
|
14
|
+
import { generateSignedClaim, CLAIM_TTL_SECONDS } from "./auth.js";
|
|
14
15
|
import { generateFrpcConfig } from "./config.js";
|
|
16
|
+
import { buildTunnelUrl } from "./verify.js";
|
|
17
|
+
/** Refresh at 80% of TTL to leave buffer before expiry. */
|
|
18
|
+
const REFRESH_INTERVAL_MS = CLAIM_TTL_SECONDS * 0.8 * 1000;
|
|
19
|
+
/** Retry interval when a refresh attempt fails. */
|
|
20
|
+
const REFRESH_RETRY_MS = 30_000;
|
|
15
21
|
export class TunnelManager {
|
|
16
22
|
storageRoot;
|
|
17
23
|
process = null;
|
|
@@ -20,29 +26,122 @@ export class TunnelManager {
|
|
|
20
26
|
connectedSince = null;
|
|
21
27
|
lastError = null;
|
|
22
28
|
config = null;
|
|
29
|
+
binaryPath = null;
|
|
30
|
+
refreshTimer = null;
|
|
31
|
+
refreshing = false;
|
|
23
32
|
constructor(storageRoot) {
|
|
24
33
|
this.storageRoot = storageRoot;
|
|
25
34
|
}
|
|
26
35
|
/**
|
|
27
36
|
* Start the frpc process with the given configuration.
|
|
28
37
|
* Returns the public URL once the tunnel is established.
|
|
38
|
+
* Automatically schedules periodic claim refresh.
|
|
29
39
|
*/
|
|
30
40
|
async start(config, binaryPath) {
|
|
31
41
|
if (this.process) {
|
|
32
42
|
throw new Error("Tunnel already running");
|
|
33
43
|
}
|
|
34
44
|
this.config = config;
|
|
45
|
+
this.binaryPath = binaryPath;
|
|
35
46
|
this.status = "starting";
|
|
36
47
|
this.lastError = null;
|
|
37
|
-
//
|
|
48
|
+
// Verify binary exists and is executable
|
|
49
|
+
try {
|
|
50
|
+
await access(binaryPath, constants.X_OK);
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
try {
|
|
54
|
+
await chmod(binaryPath, 0o755);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
throw new Error(`frpc binary not found or not executable: ${binaryPath}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const subdomain = config.walletAddress.toLowerCase();
|
|
61
|
+
this.publicUrl = buildTunnelUrl(subdomain);
|
|
62
|
+
const configPath = await this.writeFreshConfig(subdomain);
|
|
63
|
+
await this.spawnProcess(configPath);
|
|
64
|
+
this.scheduleRefresh();
|
|
65
|
+
return this.publicUrl;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Stop the frpc process gracefully.
|
|
69
|
+
*/
|
|
70
|
+
async stop() {
|
|
71
|
+
this.clearRefreshTimer();
|
|
72
|
+
if (!this.process) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
return new Promise((resolve) => {
|
|
76
|
+
const proc = this.process;
|
|
77
|
+
const timeout = setTimeout(() => {
|
|
78
|
+
// Force kill if graceful shutdown takes too long
|
|
79
|
+
proc.kill("SIGKILL");
|
|
80
|
+
resolve();
|
|
81
|
+
}, 5000);
|
|
82
|
+
proc.on("exit", () => {
|
|
83
|
+
clearTimeout(timeout);
|
|
84
|
+
this.process = null;
|
|
85
|
+
this.status = "stopped";
|
|
86
|
+
this.publicUrl = null;
|
|
87
|
+
this.connectedSince = null;
|
|
88
|
+
resolve();
|
|
89
|
+
});
|
|
90
|
+
// Send SIGTERM for graceful shutdown
|
|
91
|
+
proc.kill("SIGTERM");
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Check if the tunnel is currently running.
|
|
96
|
+
*/
|
|
97
|
+
isRunning() {
|
|
98
|
+
return this.process !== null && this.status === "connected";
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Update status based on external verification of the tunnel URL.
|
|
102
|
+
*/
|
|
103
|
+
setVerified(reachable, error) {
|
|
104
|
+
if (reachable) {
|
|
105
|
+
this.status = "connected";
|
|
106
|
+
this.lastError = null;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.status = "error";
|
|
110
|
+
this.lastError = error ?? "Tunnel URL not reachable";
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get the current tunnel status.
|
|
115
|
+
*/
|
|
116
|
+
getStatus() {
|
|
117
|
+
return {
|
|
118
|
+
enabled: true,
|
|
119
|
+
status: this.status,
|
|
120
|
+
publicUrl: this.publicUrl,
|
|
121
|
+
connectedSince: this.connectedSince?.toISOString() ?? null,
|
|
122
|
+
error: this.lastError ?? undefined,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the public URL if connected.
|
|
127
|
+
*/
|
|
128
|
+
getPublicUrl() {
|
|
129
|
+
return this.publicUrl;
|
|
130
|
+
}
|
|
131
|
+
// ---------------------------------------------------------------------------
|
|
132
|
+
// Private helpers
|
|
133
|
+
// ---------------------------------------------------------------------------
|
|
134
|
+
/**
|
|
135
|
+
* Generate a fresh signed claim, write frpc.toml, and return the config path.
|
|
136
|
+
*/
|
|
137
|
+
async writeFreshConfig(subdomain) {
|
|
138
|
+
const config = this.config;
|
|
38
139
|
const { claim, sig } = await generateSignedClaim({
|
|
39
140
|
ownerAddress: config.ownerAddress,
|
|
40
141
|
walletAddress: config.walletAddress,
|
|
41
142
|
runId: config.runId,
|
|
42
143
|
serverKeypair: config.serverKeypair,
|
|
43
144
|
});
|
|
44
|
-
// Generate frpc.toml config
|
|
45
|
-
const subdomain = config.walletAddress.toLowerCase();
|
|
46
145
|
const frpcConfig = generateFrpcConfig({
|
|
47
146
|
serverAddr: config.serverAddr,
|
|
48
147
|
serverPort: config.serverPort,
|
|
@@ -54,27 +153,19 @@ export class TunnelManager {
|
|
|
54
153
|
authClaim: claim,
|
|
55
154
|
authSig: sig,
|
|
56
155
|
});
|
|
57
|
-
// Write config to disk
|
|
58
156
|
const tunnelDir = join(this.storageRoot, "tunnel");
|
|
59
157
|
await mkdir(tunnelDir, { recursive: true });
|
|
60
158
|
const configPath = join(tunnelDir, "frpc.toml");
|
|
61
159
|
await writeFile(configPath, frpcConfig, "utf-8");
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
await chmod(binaryPath, 0o755);
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
throw new Error(`frpc binary not found or not executable: ${binaryPath}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
// Spawn frpc process
|
|
160
|
+
return configPath;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Spawn the frpc process and wait for it to report a successful connection
|
|
164
|
+
* (or resolve optimistically after a timeout).
|
|
165
|
+
*/
|
|
166
|
+
async spawnProcess(configPath) {
|
|
76
167
|
return new Promise((resolve, reject) => {
|
|
77
|
-
const proc = spawn(binaryPath, ["-c", configPath], {
|
|
168
|
+
const proc = spawn(this.binaryPath, ["-c", configPath], {
|
|
78
169
|
stdio: ["ignore", "pipe", "pipe"],
|
|
79
170
|
});
|
|
80
171
|
this.process = proc;
|
|
@@ -83,23 +174,15 @@ export class TunnelManager {
|
|
|
83
174
|
const onData = (data) => {
|
|
84
175
|
const text = data.toString();
|
|
85
176
|
startupOutput += text;
|
|
86
|
-
// Check for successful connection
|
|
87
177
|
if (text.includes("start proxy success") ||
|
|
88
178
|
text.includes("login to server success")) {
|
|
89
179
|
if (!resolved) {
|
|
90
180
|
resolved = true;
|
|
91
181
|
this.status = "connected";
|
|
92
182
|
this.connectedSince = new Date();
|
|
93
|
-
|
|
94
|
-
resolve(this.publicUrl);
|
|
183
|
+
resolve();
|
|
95
184
|
}
|
|
96
185
|
}
|
|
97
|
-
// Check for errors
|
|
98
|
-
if (text.includes("login to the server failed") ||
|
|
99
|
-
text.includes("error")) {
|
|
100
|
-
// Don't reject immediately due to loginFailExit=false
|
|
101
|
-
// Just log and continue trying
|
|
102
|
-
}
|
|
103
186
|
};
|
|
104
187
|
proc.stdout?.on("data", onData);
|
|
105
188
|
proc.stderr?.on("data", onData);
|
|
@@ -113,6 +196,9 @@ export class TunnelManager {
|
|
|
113
196
|
});
|
|
114
197
|
proc.on("exit", (code) => {
|
|
115
198
|
this.process = null;
|
|
199
|
+
// During a planned refresh cycle, don't update status
|
|
200
|
+
if (this.refreshing)
|
|
201
|
+
return;
|
|
116
202
|
if (code !== 0 && !resolved) {
|
|
117
203
|
this.status = "error";
|
|
118
204
|
this.lastError = `frpc exited with code ${code}: ${startupOutput}`;
|
|
@@ -123,69 +209,71 @@ export class TunnelManager {
|
|
|
123
209
|
this.status = "disconnected";
|
|
124
210
|
}
|
|
125
211
|
});
|
|
126
|
-
// Timeout for startup
|
|
212
|
+
// Timeout for startup — resolve optimistically
|
|
127
213
|
setTimeout(() => {
|
|
128
214
|
if (!resolved) {
|
|
129
215
|
resolved = true;
|
|
130
|
-
// Even if we don't see the success message, the tunnel might still be working
|
|
131
|
-
// Set as connected optimistically
|
|
132
216
|
this.status = "connected";
|
|
133
217
|
this.connectedSince = new Date();
|
|
134
|
-
|
|
135
|
-
resolve(this.publicUrl);
|
|
218
|
+
resolve();
|
|
136
219
|
}
|
|
137
|
-
},
|
|
220
|
+
}, 10_000);
|
|
138
221
|
});
|
|
139
222
|
}
|
|
140
223
|
/**
|
|
141
|
-
*
|
|
224
|
+
* Kill the running frpc process and wait for it to exit.
|
|
142
225
|
*/
|
|
143
|
-
async
|
|
144
|
-
if (!this.process)
|
|
226
|
+
async killProcess() {
|
|
227
|
+
if (!this.process)
|
|
145
228
|
return;
|
|
146
|
-
}
|
|
147
229
|
return new Promise((resolve) => {
|
|
148
230
|
const proc = this.process;
|
|
149
231
|
const timeout = setTimeout(() => {
|
|
150
|
-
// Force kill if graceful shutdown takes too long
|
|
151
232
|
proc.kill("SIGKILL");
|
|
233
|
+
this.process = null;
|
|
152
234
|
resolve();
|
|
153
|
-
},
|
|
154
|
-
proc.
|
|
235
|
+
}, 3000);
|
|
236
|
+
proc.once("exit", () => {
|
|
155
237
|
clearTimeout(timeout);
|
|
156
238
|
this.process = null;
|
|
157
|
-
this.status = "stopped";
|
|
158
|
-
this.publicUrl = null;
|
|
159
|
-
this.connectedSince = null;
|
|
160
239
|
resolve();
|
|
161
240
|
});
|
|
162
|
-
// Send SIGTERM for graceful shutdown
|
|
163
241
|
proc.kill("SIGTERM");
|
|
164
242
|
});
|
|
165
243
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
isRunning() {
|
|
170
|
-
return this.process !== null && this.status === "connected";
|
|
244
|
+
scheduleRefresh() {
|
|
245
|
+
this.clearRefreshTimer();
|
|
246
|
+
this.refreshTimer = setTimeout(() => void this.refreshClaim(), REFRESH_INTERVAL_MS);
|
|
171
247
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
enabled: true,
|
|
178
|
-
status: this.status,
|
|
179
|
-
publicUrl: this.publicUrl,
|
|
180
|
-
connectedSince: this.connectedSince?.toISOString() ?? null,
|
|
181
|
-
error: this.lastError ?? undefined,
|
|
182
|
-
};
|
|
248
|
+
clearRefreshTimer() {
|
|
249
|
+
if (this.refreshTimer) {
|
|
250
|
+
clearTimeout(this.refreshTimer);
|
|
251
|
+
this.refreshTimer = null;
|
|
252
|
+
}
|
|
183
253
|
}
|
|
184
254
|
/**
|
|
185
|
-
*
|
|
255
|
+
* Refresh the auth claim by rewriting frpc.toml and restarting the process.
|
|
256
|
+
* On failure, retries after a shorter interval.
|
|
186
257
|
*/
|
|
187
|
-
|
|
188
|
-
|
|
258
|
+
async refreshClaim() {
|
|
259
|
+
if (!this.config || !this.binaryPath)
|
|
260
|
+
return;
|
|
261
|
+
const subdomain = this.config.walletAddress.toLowerCase();
|
|
262
|
+
try {
|
|
263
|
+
const configPath = await this.writeFreshConfig(subdomain);
|
|
264
|
+
// Stop old process (suppress status change during restart)
|
|
265
|
+
this.refreshing = true;
|
|
266
|
+
await this.killProcess();
|
|
267
|
+
this.refreshing = false;
|
|
268
|
+
this.status = "starting";
|
|
269
|
+
await this.spawnProcess(configPath);
|
|
270
|
+
this.scheduleRefresh();
|
|
271
|
+
}
|
|
272
|
+
catch {
|
|
273
|
+
this.refreshing = false;
|
|
274
|
+
// Retry sooner on failure
|
|
275
|
+
this.refreshTimer = setTimeout(() => void this.refreshClaim(), REFRESH_RETRY_MS);
|
|
276
|
+
}
|
|
189
277
|
}
|
|
190
278
|
}
|
|
191
279
|
//# sourceMappingURL=manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tunnel/manager.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/tunnel/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tunnel URL helpers: build the canonical tunnel URL and verify reachability.
|
|
3
|
+
*/
|
|
4
|
+
export interface VerifyTunnelOptions {
|
|
5
|
+
/** Maximum number of attempts (default: 5) */
|
|
6
|
+
maxAttempts?: number;
|
|
7
|
+
/** Delay between retries in ms (default: 2000) */
|
|
8
|
+
retryDelayMs?: number;
|
|
9
|
+
/** Timeout per request in ms (default: 5000) */
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
/** Custom fetch implementation (for testing) */
|
|
12
|
+
fetchFn?: typeof fetch;
|
|
13
|
+
}
|
|
14
|
+
export interface VerifyTunnelResult {
|
|
15
|
+
reachable: boolean;
|
|
16
|
+
attempts: number;
|
|
17
|
+
error?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Build the canonical tunnel URL for a wallet address.
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildTunnelUrl(walletAddress: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Verify that a tunnel URL is reachable by hitting its /health endpoint.
|
|
25
|
+
* Retries on failure with configurable attempts, delay, and timeout.
|
|
26
|
+
*/
|
|
27
|
+
export declare function verifyTunnelUrl(publicUrl: string, options?: VerifyTunnelOptions): Promise<VerifyTunnelResult>;
|
|
28
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/tunnel/verify.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA4B7B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tunnel URL helpers: build the canonical tunnel URL and verify reachability.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Build the canonical tunnel URL for a wallet address.
|
|
6
|
+
*/
|
|
7
|
+
export function buildTunnelUrl(walletAddress) {
|
|
8
|
+
return `https://${walletAddress.toLowerCase()}.server.vana.org`;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Verify that a tunnel URL is reachable by hitting its /health endpoint.
|
|
12
|
+
* Retries on failure with configurable attempts, delay, and timeout.
|
|
13
|
+
*/
|
|
14
|
+
export async function verifyTunnelUrl(publicUrl, options) {
|
|
15
|
+
const maxAttempts = options?.maxAttempts ?? 5;
|
|
16
|
+
const retryDelayMs = options?.retryDelayMs ?? 2000;
|
|
17
|
+
const timeoutMs = options?.timeoutMs ?? 5000;
|
|
18
|
+
const fetchFn = options?.fetchFn ?? fetch;
|
|
19
|
+
const healthUrl = `${publicUrl}/health`;
|
|
20
|
+
let lastError;
|
|
21
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
22
|
+
try {
|
|
23
|
+
const response = await fetchFn(healthUrl, {
|
|
24
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
25
|
+
});
|
|
26
|
+
if (response.ok) {
|
|
27
|
+
return { reachable: true, attempts: attempt };
|
|
28
|
+
}
|
|
29
|
+
lastError = `HTTP ${response.status}`;
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
lastError = err instanceof Error ? err.message : "Unknown error";
|
|
33
|
+
}
|
|
34
|
+
if (attempt < maxAttempts) {
|
|
35
|
+
await new Promise((resolve) => setTimeout(resolve, retryDelayMs));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return { reachable: false, attempts: maxAttempts, error: lastError };
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/tunnel/verify.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,aAAqB;IAClD,OAAO,WAAW,aAAa,CAAC,WAAW,EAAE,kBAAkB,CAAC;AAClE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,OAA6B;IAE7B,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC;IACnD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;IAE1C,MAAM,SAAS,GAAG,GAAG,SAAS,SAAS,CAAC;IACxC,IAAI,SAA6B,CAAC;IAElC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE;gBACxC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChD,CAAC;YACD,SAAS,GAAG,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;YAC1B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendatalabs/personal-server-ts-server",
|
|
3
|
-
"version": "0.0.1-canary.
|
|
3
|
+
"version": "0.0.1-canary.f7e601f",
|
|
4
4
|
"description": "Hono HTTP server for the Vana Personal Server — routes, middleware, composition root",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dev": "node --watch dist/index.js"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@opendatalabs/personal-server-ts-core": "0.0.1-canary.
|
|
41
|
+
"@opendatalabs/personal-server-ts-core": "0.0.1-canary.f7e601f",
|
|
42
42
|
"hono": "^4.7.0",
|
|
43
43
|
"@hono/node-server": "^1.14.0"
|
|
44
44
|
}
|