@opendatalabs/personal-server-ts-server 0.2.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-auth.d.ts +16 -0
- package/dist/api-auth.d.ts.map +1 -0
- package/dist/api-auth.js +97 -0
- package/dist/api-auth.js.map +1 -0
- package/dist/api.d.ts +4 -0
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +3 -0
- package/dist/api.js.map +1 -1
- package/dist/app.d.ts +46 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +102 -30
- package/dist/app.js.map +1 -1
- package/dist/bootstrap.d.ts +11 -3
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +266 -33
- package/dist/bootstrap.js.map +1 -1
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +368 -0
- package/dist/client.js.map +1 -0
- package/dist/config/defaults.d.ts +12 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +14 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +4 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +8 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +74 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/paths.d.ts +9 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +22 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/hono-context.d.ts +14 -0
- package/dist/hono-context.d.ts.map +1 -0
- package/dist/hono-context.js +2 -0
- package/dist/hono-context.js.map +1 -0
- package/dist/index.js +64 -12
- package/dist/index.js.map +1 -1
- package/dist/keys/server-account.d.ts +28 -0
- package/dist/keys/server-account.d.ts.map +1 -0
- package/dist/keys/server-account.js +48 -0
- package/dist/keys/server-account.js.map +1 -0
- package/dist/logger/index.d.ts +5 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +9 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logging/access-log.d.ts +15 -0
- package/dist/logging/access-log.d.ts.map +1 -0
- package/dist/logging/access-log.js +25 -0
- package/dist/logging/access-log.js.map +1 -0
- package/dist/logging/access-reader.d.ts +19 -0
- package/dist/logging/access-reader.d.ts.map +1 -0
- package/dist/logging/access-reader.js +50 -0
- package/dist/logging/access-reader.js.map +1 -0
- package/dist/middleware/access-log.d.ts.map +1 -1
- package/dist/middleware/access-log.js +8 -2
- package/dist/middleware/access-log.js.map +1 -1
- package/dist/middleware/builder-check.d.ts +2 -2
- package/dist/middleware/builder-check.d.ts.map +1 -1
- package/dist/middleware/builder-check.js +7 -2
- package/dist/middleware/builder-check.js.map +1 -1
- package/dist/middleware/owner-check.js +1 -1
- package/dist/middleware/owner-check.js.map +1 -1
- package/dist/middleware/web3-auth.d.ts +12 -0
- package/dist/middleware/web3-auth.d.ts.map +1 -1
- package/dist/middleware/web3-auth.js +27 -31
- package/dist/middleware/web3-auth.js.map +1 -1
- package/dist/migrations/local-state.d.ts +21 -0
- package/dist/migrations/local-state.d.ts.map +1 -0
- package/dist/migrations/local-state.js +106 -0
- package/dist/migrations/local-state.js.map +1 -0
- package/dist/routes/access-logs.d.ts +7 -0
- package/dist/routes/access-logs.d.ts.map +1 -1
- package/dist/routes/access-logs.js +11 -17
- package/dist/routes/access-logs.js.map +1 -1
- package/dist/routes/auth-device.d.ts +49 -0
- package/dist/routes/auth-device.d.ts.map +1 -0
- package/dist/routes/auth-device.js +581 -0
- package/dist/routes/auth-device.js.map +1 -0
- package/dist/routes/data.d.ts +42 -1
- package/dist/routes/data.d.ts.map +1 -1
- package/dist/routes/data.js +36 -201
- package/dist/routes/data.js.map +1 -1
- package/dist/routes/grants.d.ts +9 -2
- package/dist/routes/grants.d.ts.map +1 -1
- package/dist/routes/grants.js +18 -196
- package/dist/routes/grants.js.map +1 -1
- package/dist/routes/health.d.ts +7 -1
- package/dist/routes/health.d.ts.map +1 -1
- package/dist/routes/health.js +39 -2
- package/dist/routes/health.js.map +1 -1
- package/dist/routes/mcp.d.ts +93 -6
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +526 -53
- package/dist/routes/mcp.js.map +1 -1
- package/dist/routes/oauth-token.d.ts +56 -0
- package/dist/routes/oauth-token.d.ts.map +1 -0
- package/dist/routes/oauth-token.js +49 -0
- package/dist/routes/oauth-token.js.map +1 -0
- package/dist/routes/sync.d.ts +7 -0
- package/dist/routes/sync.d.ts.map +1 -1
- package/dist/routes/sync.js +12 -39
- package/dist/routes/sync.js.map +1 -1
- package/dist/routes/ui-config.d.ts.map +1 -1
- package/dist/routes/ui-config.js +17 -82
- package/dist/routes/ui-config.js.map +1 -1
- package/dist/routes/ui-registration.d.ts +9 -0
- package/dist/routes/ui-registration.d.ts.map +1 -0
- package/dist/routes/ui-registration.js +217 -0
- package/dist/routes/ui-registration.js.map +1 -0
- package/dist/routes/ui.d.ts +1 -0
- package/dist/routes/ui.d.ts.map +1 -1
- package/dist/routes/ui.js +46 -4
- package/dist/routes/ui.js.map +1 -1
- package/dist/storage/hierarchy.d.ts +29 -0
- package/dist/storage/hierarchy.d.ts.map +1 -0
- package/dist/storage/hierarchy.js +241 -0
- package/dist/storage/hierarchy.js.map +1 -0
- package/dist/storage/index-manager.d.ts +53 -0
- package/dist/storage/index-manager.d.ts.map +1 -0
- package/dist/storage/index-manager.js +167 -0
- package/dist/storage/index-manager.js.map +1 -0
- package/dist/storage/index-schema.d.ts +5 -0
- package/dist/storage/index-schema.d.ts.map +1 -0
- package/dist/storage/index-schema.js +62 -0
- package/dist/storage/index-schema.js.map +1 -0
- package/dist/storage/node-data-storage.d.ts +9 -0
- package/dist/storage/node-data-storage.d.ts.map +1 -0
- package/dist/storage/node-data-storage.js +84 -0
- package/dist/storage/node-data-storage.js.map +1 -0
- package/dist/sync-cursor.d.ts +15 -0
- package/dist/sync-cursor.d.ts.map +1 -0
- package/dist/sync-cursor.js +110 -0
- package/dist/sync-cursor.js.map +1 -0
- package/dist/token-store.d.ts +22 -0
- package/dist/token-store.d.ts.map +1 -0
- package/dist/token-store.js +120 -0
- package/dist/token-store.js.map +1 -0
- package/dist/tunnel/auth.d.ts +4 -0
- package/dist/tunnel/auth.d.ts.map +1 -1
- package/dist/tunnel/auth.js +2 -1
- package/dist/tunnel/auth.js.map +1 -1
- package/dist/tunnel/config.d.ts +1 -0
- package/dist/tunnel/config.d.ts.map +1 -1
- package/dist/tunnel/config.js +1 -1
- package/dist/tunnel/config.js.map +1 -1
- package/dist/tunnel/manager.d.ts +21 -1
- package/dist/tunnel/manager.d.ts.map +1 -1
- package/dist/tunnel/manager.js +78 -23
- package/dist/tunnel/manager.js.map +1 -1
- package/dist/tunnel/verify.d.ts +1 -1
- package/dist/tunnel/verify.d.ts.map +1 -1
- package/dist/tunnel/verify.js +8 -2
- package/dist/tunnel/verify.js.map +1 -1
- package/dist/ui/browser_tls_rustls_bg.wasm +0 -0
- package/dist/ui/index.html +2192 -0
- package/dist/ui/ps-lite-debug.d.ts +93 -0
- package/dist/ui/ps-lite-debug.d.ts.map +1 -0
- package/dist/ui/ps-lite-debug.js +129415 -0
- package/dist/ui/ps-lite-debug.js.map +1 -0
- package/package.json +20 -8
- package/dist/middleware/grant-check.d.ts +0 -12
- package/dist/middleware/grant-check.d.ts.map +0 -1
- package/dist/middleware/grant-check.js +0 -90
- package/dist/middleware/grant-check.js.map +0 -1
- package/dist/oauth/provider.d.ts +0 -55
- package/dist/oauth/provider.d.ts.map +0 -1
- package/dist/oauth/provider.js +0 -160
- package/dist/oauth/provider.js.map +0 -1
- package/dist/oauth/routes.d.ts +0 -10
- package/dist/oauth/routes.d.ts.map +0 -1
- package/dist/oauth/routes.js +0 -206
- package/dist/oauth/routes.js.map +0 -1
package/dist/client.js
ADDED
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
import { createAdaptorServer } from "@hono/node-server";
|
|
2
|
+
import { accessLogsListPath, createOwnerSignedPersonalServerRequest, createPersonalServerInfoFromHealth, createPersonalServerRegistrationRequest, dataListPath, dataReadPath, dataVersionsPath, grantRevokePath, parsePersonalServerJsonResponse, requestPath, submitPersonalServerRegistration, } from "@opendatalabs/personal-server-ts-core/client";
|
|
3
|
+
import { createServer } from "./bootstrap.js";
|
|
4
|
+
import { loadConfig } from "./config/index.js";
|
|
5
|
+
export async function startPersonalServer(options = {}) {
|
|
6
|
+
if (options.port === 0) {
|
|
7
|
+
throw new Error("port: 0 is not supported by the public Node handle");
|
|
8
|
+
}
|
|
9
|
+
let status = "starting";
|
|
10
|
+
let stopped = false;
|
|
11
|
+
let lastInfo = null;
|
|
12
|
+
let lastPreparedRegistration = null;
|
|
13
|
+
const setStatus = (nextStatus) => {
|
|
14
|
+
status = nextStatus;
|
|
15
|
+
options.onStatus?.(nextStatus);
|
|
16
|
+
};
|
|
17
|
+
const config = prepareConfig(options.config ?? (await loadConfig(options)), options);
|
|
18
|
+
const context = await createServer(config, {
|
|
19
|
+
rootPath: options.rootPath,
|
|
20
|
+
dataDir: options.dataDir,
|
|
21
|
+
ownerSignature: options.ownerSignature,
|
|
22
|
+
gatewayClient: options.gatewayClient,
|
|
23
|
+
readFulfillmentReporter: options.readFulfillmentReporter,
|
|
24
|
+
});
|
|
25
|
+
const mainServer = await listenHttpServer({
|
|
26
|
+
fetch: context.app.fetch,
|
|
27
|
+
port: config.server.port,
|
|
28
|
+
hostname: options.hostname,
|
|
29
|
+
});
|
|
30
|
+
const localOrigin = originFromAddress(mainServer.address());
|
|
31
|
+
let localAuthServer;
|
|
32
|
+
if (options.localApproval !== false &&
|
|
33
|
+
context.localApprovalPort &&
|
|
34
|
+
config.server.port !== 0) {
|
|
35
|
+
try {
|
|
36
|
+
localAuthServer = await listenHttpServer({
|
|
37
|
+
fetch: context.app.fetch,
|
|
38
|
+
port: context.localApprovalPort,
|
|
39
|
+
hostname: "127.0.0.1",
|
|
40
|
+
});
|
|
41
|
+
context.setLocalApprovalOrigin(originFromAddress(localAuthServer.address()));
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
context.logger.warn({ err, port: context.localApprovalPort }, "Loopback auth listener unavailable");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
setStatus("ready");
|
|
48
|
+
const backgroundServices = options.startBackgroundServices === false
|
|
49
|
+
? Promise.resolve()
|
|
50
|
+
: context.startBackgroundServices().catch((err) => {
|
|
51
|
+
setStatus("error");
|
|
52
|
+
context.logger.warn({ err }, "Background services failed");
|
|
53
|
+
});
|
|
54
|
+
async function info() {
|
|
55
|
+
if (stopped && lastInfo) {
|
|
56
|
+
return { ...lastInfo, status: "stopped" };
|
|
57
|
+
}
|
|
58
|
+
const response = await fetch(`${localOrigin}/health`);
|
|
59
|
+
const body = await response.json();
|
|
60
|
+
lastInfo = createPersonalServerInfoFromHealth({
|
|
61
|
+
kind: "node",
|
|
62
|
+
status,
|
|
63
|
+
health: body,
|
|
64
|
+
localUrl: localOrigin,
|
|
65
|
+
publicUrl: context.tunnelUrl ?? null,
|
|
66
|
+
});
|
|
67
|
+
return lastInfo;
|
|
68
|
+
}
|
|
69
|
+
async function ready(readyOptions = {}) {
|
|
70
|
+
if (readyOptions.publicUrl) {
|
|
71
|
+
await backgroundServices;
|
|
72
|
+
}
|
|
73
|
+
return info();
|
|
74
|
+
}
|
|
75
|
+
async function prepareRegistration(prepareOptions = {}) {
|
|
76
|
+
const current = await info();
|
|
77
|
+
const serverUrl = prepareOptions.serverUrl ?? current.urls.registration;
|
|
78
|
+
if (!current.ownerAddress || !current.server || !serverUrl) {
|
|
79
|
+
throw new Error("Personal Server identity and URL are required");
|
|
80
|
+
}
|
|
81
|
+
if (!current.gatewayConfig) {
|
|
82
|
+
throw new Error("Personal Server gateway config is required");
|
|
83
|
+
}
|
|
84
|
+
const request = createPersonalServerRegistrationRequest({
|
|
85
|
+
gatewayConfig: current.gatewayConfig,
|
|
86
|
+
ownerAddress: current.ownerAddress,
|
|
87
|
+
serverAddress: current.server.address,
|
|
88
|
+
publicKey: current.server.publicKey,
|
|
89
|
+
serverUrl,
|
|
90
|
+
});
|
|
91
|
+
lastPreparedRegistration = request;
|
|
92
|
+
return request;
|
|
93
|
+
}
|
|
94
|
+
async function submitRegistration(submitOptions) {
|
|
95
|
+
const request = submitOptions.request ??
|
|
96
|
+
(submitOptions.serverUrl
|
|
97
|
+
? await prepareRegistration({ serverUrl: submitOptions.serverUrl })
|
|
98
|
+
: (lastPreparedRegistration ?? (await prepareRegistration())));
|
|
99
|
+
return submitPersonalServerRegistration({
|
|
100
|
+
gateway: context.gatewayClient,
|
|
101
|
+
request,
|
|
102
|
+
signature: submitOptions.signature,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
async function callFetch(input, init) {
|
|
106
|
+
return fetch(toLocalRequest(input, localOrigin, init));
|
|
107
|
+
}
|
|
108
|
+
async function postData(scope, body, postOptions) {
|
|
109
|
+
const path = `/v1/data/${encodeURIComponent(scope)}`;
|
|
110
|
+
const request = await createOwnerRequest({
|
|
111
|
+
path,
|
|
112
|
+
method: "POST",
|
|
113
|
+
body,
|
|
114
|
+
authOptions: postOptions,
|
|
115
|
+
headers: {
|
|
116
|
+
"Content-Type": "application/json",
|
|
117
|
+
...postOptions.headers,
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
const response = await callFetch(request);
|
|
121
|
+
return parsePersonalServerJsonResponse(response, "data write");
|
|
122
|
+
}
|
|
123
|
+
async function listData(listOptions = {}) {
|
|
124
|
+
const path = dataListPath(listOptions);
|
|
125
|
+
const request = await createOwnerRequest({
|
|
126
|
+
path,
|
|
127
|
+
method: "GET",
|
|
128
|
+
authOptions: listOptions,
|
|
129
|
+
headers: listOptions.headers,
|
|
130
|
+
});
|
|
131
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "data list");
|
|
132
|
+
}
|
|
133
|
+
async function listAccessLogs(accessLogOptions = {}) {
|
|
134
|
+
const path = accessLogsListPath(accessLogOptions);
|
|
135
|
+
const request = await createOwnerRequest({
|
|
136
|
+
path,
|
|
137
|
+
method: "GET",
|
|
138
|
+
authOptions: accessLogOptions,
|
|
139
|
+
headers: accessLogOptions.headers,
|
|
140
|
+
});
|
|
141
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "access logs list");
|
|
142
|
+
}
|
|
143
|
+
async function listVersions(scope, versionOptions = {}) {
|
|
144
|
+
const path = dataVersionsPath(scope, versionOptions);
|
|
145
|
+
const request = await createOwnerRequest({
|
|
146
|
+
path,
|
|
147
|
+
method: "GET",
|
|
148
|
+
authOptions: versionOptions,
|
|
149
|
+
headers: versionOptions.headers,
|
|
150
|
+
});
|
|
151
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "data versions list");
|
|
152
|
+
}
|
|
153
|
+
async function readData(scope, readOptions = {}) {
|
|
154
|
+
const path = dataReadPath(scope, readOptions);
|
|
155
|
+
const request = await createOwnerRequest({
|
|
156
|
+
path,
|
|
157
|
+
method: "GET",
|
|
158
|
+
authOptions: readOptions,
|
|
159
|
+
headers: readOptions.headers,
|
|
160
|
+
});
|
|
161
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "data read");
|
|
162
|
+
}
|
|
163
|
+
async function syncStatus(syncOptions = {}) {
|
|
164
|
+
const request = await createOwnerRequest({
|
|
165
|
+
path: "/v1/sync/status",
|
|
166
|
+
method: "GET",
|
|
167
|
+
authOptions: syncOptions,
|
|
168
|
+
headers: syncOptions.headers,
|
|
169
|
+
});
|
|
170
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "sync status");
|
|
171
|
+
}
|
|
172
|
+
async function createGrant(grantOptions) {
|
|
173
|
+
const request = await createOwnerRequest({
|
|
174
|
+
path: "/v1/grants",
|
|
175
|
+
method: "POST",
|
|
176
|
+
body: {
|
|
177
|
+
granteeAddress: grantOptions.granteeAddress,
|
|
178
|
+
scopes: grantOptions.scopes,
|
|
179
|
+
...(grantOptions.expiresAt === undefined
|
|
180
|
+
? {}
|
|
181
|
+
: { expiresAt: grantOptions.expiresAt }),
|
|
182
|
+
...(grantOptions.grantVersion === undefined
|
|
183
|
+
? {}
|
|
184
|
+
: { grantVersion: grantOptions.grantVersion }),
|
|
185
|
+
},
|
|
186
|
+
authOptions: grantOptions,
|
|
187
|
+
headers: {
|
|
188
|
+
"Content-Type": "application/json",
|
|
189
|
+
...grantOptions.headers,
|
|
190
|
+
},
|
|
191
|
+
});
|
|
192
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "grant create");
|
|
193
|
+
}
|
|
194
|
+
async function listGrants(grantOptions = {}) {
|
|
195
|
+
const request = await createOwnerRequest({
|
|
196
|
+
path: "/v1/grants",
|
|
197
|
+
method: "GET",
|
|
198
|
+
authOptions: grantOptions,
|
|
199
|
+
headers: grantOptions.headers,
|
|
200
|
+
});
|
|
201
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "grant list");
|
|
202
|
+
}
|
|
203
|
+
async function revokeGrant(grantId, grantOptions = {}) {
|
|
204
|
+
const request = await createOwnerRequest({
|
|
205
|
+
path: grantRevokePath(grantId),
|
|
206
|
+
method: "DELETE",
|
|
207
|
+
authOptions: grantOptions,
|
|
208
|
+
headers: grantOptions.headers,
|
|
209
|
+
});
|
|
210
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "grant revoke");
|
|
211
|
+
}
|
|
212
|
+
async function syncNow(syncOptions = {}) {
|
|
213
|
+
const request = await createOwnerRequest({
|
|
214
|
+
path: "/v1/sync/trigger",
|
|
215
|
+
method: "POST",
|
|
216
|
+
authOptions: syncOptions,
|
|
217
|
+
headers: syncOptions.headers,
|
|
218
|
+
});
|
|
219
|
+
return parsePersonalServerJsonResponse(await callFetch(request), "sync trigger");
|
|
220
|
+
}
|
|
221
|
+
async function createOwnerRequest(params) {
|
|
222
|
+
const current = await info();
|
|
223
|
+
const origin = current.urls.apiOrigin;
|
|
224
|
+
if (!origin)
|
|
225
|
+
throw new Error("Personal Server API origin is required");
|
|
226
|
+
const encoded = params.body === undefined
|
|
227
|
+
? undefined
|
|
228
|
+
: new TextEncoder().encode(JSON.stringify(params.body));
|
|
229
|
+
const auth = authFromOptions(params.authOptions);
|
|
230
|
+
if (auth) {
|
|
231
|
+
return createOwnerSignedPersonalServerRequest({
|
|
232
|
+
origin,
|
|
233
|
+
path: params.path,
|
|
234
|
+
method: params.method,
|
|
235
|
+
body: encoded,
|
|
236
|
+
auth,
|
|
237
|
+
headers: params.headers,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return new Request(`${origin}${params.path}`, {
|
|
241
|
+
method: params.method,
|
|
242
|
+
body: encoded,
|
|
243
|
+
headers: params.headers,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
async function stop() {
|
|
247
|
+
if (stopped)
|
|
248
|
+
return;
|
|
249
|
+
if (!lastInfo) {
|
|
250
|
+
lastInfo = await info();
|
|
251
|
+
}
|
|
252
|
+
stopped = true;
|
|
253
|
+
setStatus("stopped");
|
|
254
|
+
await Promise.all([
|
|
255
|
+
closeServer(mainServer),
|
|
256
|
+
localAuthServer ? closeServer(localAuthServer) : Promise.resolve(),
|
|
257
|
+
]);
|
|
258
|
+
await context.cleanup();
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
kind: "node",
|
|
262
|
+
ready,
|
|
263
|
+
info,
|
|
264
|
+
prepareRegistration,
|
|
265
|
+
submitRegistration,
|
|
266
|
+
fetch: callFetch,
|
|
267
|
+
postData,
|
|
268
|
+
listData,
|
|
269
|
+
listAccessLogs,
|
|
270
|
+
listVersions,
|
|
271
|
+
readData,
|
|
272
|
+
createGrant,
|
|
273
|
+
listGrants,
|
|
274
|
+
revokeGrant,
|
|
275
|
+
syncStatus,
|
|
276
|
+
syncNow,
|
|
277
|
+
stop,
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
function authFromOptions(options) {
|
|
281
|
+
if ("auth" in options && options.auth)
|
|
282
|
+
return options.auth;
|
|
283
|
+
if ("signMessage" in options)
|
|
284
|
+
return { signMessage: options.signMessage };
|
|
285
|
+
if ("bearerToken" in options)
|
|
286
|
+
return { bearerToken: options.bearerToken };
|
|
287
|
+
return undefined;
|
|
288
|
+
}
|
|
289
|
+
async function listenHttpServer(params) {
|
|
290
|
+
const server = createAdaptorServer({ fetch: params.fetch });
|
|
291
|
+
await new Promise((resolve, reject) => {
|
|
292
|
+
const onError = (error) => {
|
|
293
|
+
server.off("error", onError);
|
|
294
|
+
reject(error);
|
|
295
|
+
};
|
|
296
|
+
server.once("error", onError);
|
|
297
|
+
server.listen(params.port, params.hostname, () => {
|
|
298
|
+
server.off("error", onError);
|
|
299
|
+
resolve();
|
|
300
|
+
});
|
|
301
|
+
});
|
|
302
|
+
return server;
|
|
303
|
+
}
|
|
304
|
+
function closeServer(server) {
|
|
305
|
+
return new Promise((resolve, reject) => {
|
|
306
|
+
server.close((err) => {
|
|
307
|
+
if (err)
|
|
308
|
+
reject(err);
|
|
309
|
+
else
|
|
310
|
+
resolve();
|
|
311
|
+
});
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
function prepareConfig(input, options) {
|
|
315
|
+
const config = mergeConfig(input, options.configDefaults);
|
|
316
|
+
if (options.port !== undefined) {
|
|
317
|
+
config.server = {
|
|
318
|
+
...config.server,
|
|
319
|
+
port: options.port,
|
|
320
|
+
origin: `http://localhost:${options.port}`,
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
return config;
|
|
324
|
+
}
|
|
325
|
+
function mergeConfig(input, defaults) {
|
|
326
|
+
if (!defaults)
|
|
327
|
+
return structuredClone(input);
|
|
328
|
+
return {
|
|
329
|
+
...input,
|
|
330
|
+
...defaults,
|
|
331
|
+
server: { ...input.server, ...defaults.server },
|
|
332
|
+
logging: { ...input.logging, ...defaults.logging },
|
|
333
|
+
storage: {
|
|
334
|
+
...input.storage,
|
|
335
|
+
...defaults.storage,
|
|
336
|
+
config: {
|
|
337
|
+
...input.storage.config,
|
|
338
|
+
...defaults.storage?.config,
|
|
339
|
+
},
|
|
340
|
+
},
|
|
341
|
+
gateway: {
|
|
342
|
+
...input.gateway,
|
|
343
|
+
...defaults.gateway,
|
|
344
|
+
contracts: {
|
|
345
|
+
...input.gateway.contracts,
|
|
346
|
+
...defaults.gateway?.contracts,
|
|
347
|
+
},
|
|
348
|
+
},
|
|
349
|
+
devUi: { ...input.devUi, ...defaults.devUi },
|
|
350
|
+
sync: { ...input.sync, ...defaults.sync },
|
|
351
|
+
tunnel: { ...input.tunnel, ...defaults.tunnel },
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
function originFromAddress(address) {
|
|
355
|
+
if (!address || typeof address === "string") {
|
|
356
|
+
throw new Error("Could not resolve bound server address");
|
|
357
|
+
}
|
|
358
|
+
return `http://127.0.0.1:${address.port}`;
|
|
359
|
+
}
|
|
360
|
+
function toLocalRequest(input, localOrigin, init) {
|
|
361
|
+
const url = `${localOrigin}${requestPath(input)}`;
|
|
362
|
+
if (input instanceof Request) {
|
|
363
|
+
const base = new Request(url, input);
|
|
364
|
+
return init ? new Request(base, init) : base;
|
|
365
|
+
}
|
|
366
|
+
return new Request(url, init);
|
|
367
|
+
}
|
|
368
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const DEFAULT_ROOT_PATH: string;
|
|
2
|
+
export declare const DEFAULT_DATA_DIR: string;
|
|
3
|
+
export declare const DEFAULT_CONFIG_PATH: string;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use DEFAULT_ROOT_PATH instead.
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_VANA_DIR: string;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use DEFAULT_ROOT_PATH instead.
|
|
10
|
+
*/
|
|
11
|
+
export declare const DEFAULT_SERVER_DIR: string;
|
|
12
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB,QAAqC,CAAC;AACpE,eAAO,MAAM,gBAAgB,QAAkC,CAAC;AAChE,eAAO,MAAM,mBAAmB,QAAyC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
export const DEFAULT_ROOT_PATH = join(homedir(), "personal-server");
|
|
4
|
+
export const DEFAULT_DATA_DIR = join(DEFAULT_ROOT_PATH, "data");
|
|
5
|
+
export const DEFAULT_CONFIG_PATH = join(DEFAULT_ROOT_PATH, "config.json");
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use DEFAULT_ROOT_PATH instead.
|
|
8
|
+
*/
|
|
9
|
+
export const DEFAULT_VANA_DIR = DEFAULT_ROOT_PATH;
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Use DEFAULT_ROOT_PATH instead.
|
|
12
|
+
*/
|
|
13
|
+
export const DEFAULT_SERVER_DIR = DEFAULT_ROOT_PATH;
|
|
14
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { DEFAULT_ROOT_PATH, DEFAULT_VANA_DIR, DEFAULT_SERVER_DIR, DEFAULT_DATA_DIR, DEFAULT_CONFIG_PATH, } from "./defaults.js";
|
|
2
|
+
export { loadConfig, saveConfig, type LoadConfigOptions } from "./loader.js";
|
|
3
|
+
export { expandHomePath, resolveRootPath } from "./paths.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { DEFAULT_ROOT_PATH, DEFAULT_VANA_DIR, DEFAULT_SERVER_DIR, DEFAULT_DATA_DIR, DEFAULT_CONFIG_PATH, } from "./defaults.js";
|
|
2
|
+
export { loadConfig, saveConfig } from "./loader.js";
|
|
3
|
+
export { expandHomePath, resolveRootPath } from "./paths.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,UAAU,EAA0B,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ServerConfig } from "@opendatalabs/personal-server-ts-core/schemas";
|
|
2
|
+
export interface LoadConfigOptions {
|
|
3
|
+
configPath?: string;
|
|
4
|
+
rootPath?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function loadConfig(options?: LoadConfigOptions): Promise<ServerConfig>;
|
|
7
|
+
export declare function saveConfig(config: ServerConfig, options?: LoadConfigOptions): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,+CAA+C,CAAC;AAwCvD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,UAAU,CAC9B,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAmCvB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAMf"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { ServerConfigSchema, } from "@opendatalabs/personal-server-ts-core/schemas";
|
|
4
|
+
import { resolveRootPath } from "./paths.js";
|
|
5
|
+
/**
|
|
6
|
+
* Apply environment-variable overrides to the raw config object.
|
|
7
|
+
*
|
|
8
|
+
* Gated behind CLOUD_MODE=true so desktop users are never affected.
|
|
9
|
+
*
|
|
10
|
+
* Supported env vars (all optional, only read when CLOUD_MODE=true):
|
|
11
|
+
* SERVER_PORT — server.port (integer)
|
|
12
|
+
* SERVER_ORIGIN — server.origin (URL)
|
|
13
|
+
* TUNNEL_ENABLED — tunnel.enabled (boolean: "true"/"false")
|
|
14
|
+
* DEV_UI_ENABLED — devUi.enabled (boolean: "true"/"false")
|
|
15
|
+
*/
|
|
16
|
+
function applyEnvOverrides(obj) {
|
|
17
|
+
if (process.env.CLOUD_MODE !== "true")
|
|
18
|
+
return;
|
|
19
|
+
const { SERVER_PORT, SERVER_ORIGIN, TUNNEL_ENABLED, DEV_UI_ENABLED } = process.env;
|
|
20
|
+
if (SERVER_PORT !== undefined || SERVER_ORIGIN !== undefined) {
|
|
21
|
+
const server = obj.server ?? {};
|
|
22
|
+
if (SERVER_PORT !== undefined)
|
|
23
|
+
server.port = Number(SERVER_PORT);
|
|
24
|
+
if (SERVER_ORIGIN !== undefined)
|
|
25
|
+
server.origin = SERVER_ORIGIN;
|
|
26
|
+
obj.server = server;
|
|
27
|
+
}
|
|
28
|
+
if (TUNNEL_ENABLED !== undefined) {
|
|
29
|
+
const tunnel = obj.tunnel ?? {};
|
|
30
|
+
tunnel.enabled = TUNNEL_ENABLED === "true";
|
|
31
|
+
obj.tunnel = tunnel;
|
|
32
|
+
}
|
|
33
|
+
if (DEV_UI_ENABLED !== undefined) {
|
|
34
|
+
const devUi = obj.devUi ?? {};
|
|
35
|
+
devUi.enabled = DEV_UI_ENABLED === "true";
|
|
36
|
+
obj.devUi = devUi;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export async function loadConfig(options) {
|
|
40
|
+
const configPath = options?.configPath ??
|
|
41
|
+
join(resolveRootPath(options?.rootPath), "config.json");
|
|
42
|
+
let raw;
|
|
43
|
+
try {
|
|
44
|
+
raw = await readFile(configPath, "utf-8");
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
if (err instanceof Error &&
|
|
48
|
+
"code" in err &&
|
|
49
|
+
err.code === "ENOENT") {
|
|
50
|
+
// File doesn't exist — will use empty object for defaults
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw err;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const parsed = raw !== undefined ? JSON.parse(raw) : {};
|
|
57
|
+
// Allow env vars to override config-file values (useful for cloud / Docker deployments)
|
|
58
|
+
applyEnvOverrides(parsed);
|
|
59
|
+
const config = ServerConfigSchema.parse(parsed);
|
|
60
|
+
// Write back so that defaults are visible and editable in config.json
|
|
61
|
+
const serialized = JSON.stringify(config, null, 2) + "\n";
|
|
62
|
+
if (serialized !== raw) {
|
|
63
|
+
await mkdir(dirname(configPath), { recursive: true });
|
|
64
|
+
await writeFile(configPath, serialized);
|
|
65
|
+
}
|
|
66
|
+
return config;
|
|
67
|
+
}
|
|
68
|
+
export async function saveConfig(config, options) {
|
|
69
|
+
const configPath = options?.configPath ??
|
|
70
|
+
join(resolveRootPath(options?.rootPath), "config.json");
|
|
71
|
+
await mkdir(dirname(configPath), { recursive: true });
|
|
72
|
+
await writeFile(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Expands a leading "~" to the current user's home directory.
|
|
3
|
+
*/
|
|
4
|
+
export declare function expandHomePath(input: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Resolves the configured root path (or default) to an absolute path.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveRootPath(input?: string): string;
|
|
9
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { DEFAULT_ROOT_PATH } from "./defaults.js";
|
|
4
|
+
/**
|
|
5
|
+
* Expands a leading "~" to the current user's home directory.
|
|
6
|
+
*/
|
|
7
|
+
export function expandHomePath(input) {
|
|
8
|
+
if (input === "~") {
|
|
9
|
+
return homedir();
|
|
10
|
+
}
|
|
11
|
+
if (input.startsWith("~/")) {
|
|
12
|
+
return resolve(homedir(), input.slice(2));
|
|
13
|
+
}
|
|
14
|
+
return input;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Resolves the configured root path (or default) to an absolute path.
|
|
18
|
+
*/
|
|
19
|
+
export function resolveRootPath(input) {
|
|
20
|
+
return resolve(expandHomePath(input ?? DEFAULT_ROOT_PATH));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAClB,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import "hono";
|
|
2
|
+
import type { GatewayGrantResponse } from "@opendatalabs/vana-sdk/node";
|
|
3
|
+
import type { AuthMechanism, RequestAuth } from "./middleware/web3-auth.js";
|
|
4
|
+
declare module "hono" {
|
|
5
|
+
interface ContextVariableMap {
|
|
6
|
+
auth: RequestAuth | undefined;
|
|
7
|
+
grant: GatewayGrantResponse | undefined;
|
|
8
|
+
authMechanism: AuthMechanism | undefined;
|
|
9
|
+
isPolicyBypass: boolean | undefined;
|
|
10
|
+
devBypass: boolean | undefined;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=hono-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-context.d.ts","sourceRoot":"","sources":["../src/hono-context.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAU,kBAAkB;QAC1B,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;QAC9B,KAAK,EAAE,oBAAoB,GAAG,SAAS,CAAC;QACxC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;QACzC,cAAc,EAAE,OAAO,GAAG,SAAS,CAAC;QACpC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;KAChC;CACF;AAED,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-context.js","sourceRoot":"","sources":["../src/hono-context.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,CAAC"}
|