@opendatalabs/connect 0.10.0-canary.e8aeb13 → 0.10.1-canary.2898948
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/cli/auth.d.ts +17 -3
- package/dist/cli/auth.d.ts.map +1 -1
- package/dist/cli/auth.js +118 -17
- package/dist/cli/auth.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +144 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/render/connect-renderer.d.ts +5 -0
- package/dist/cli/render/connect-renderer.d.ts.map +1 -1
- package/dist/cli/render/connect-renderer.js +62 -58
- package/dist/cli/render/connect-renderer.js.map +1 -1
- package/dist/cli/render/flow-theme.d.ts +17 -0
- package/dist/cli/render/flow-theme.d.ts.map +1 -0
- package/dist/cli/render/flow-theme.js +26 -0
- package/dist/cli/render/flow-theme.js.map +1 -0
- package/dist/cli/render/index.d.ts +1 -0
- package/dist/cli/render/index.d.ts.map +1 -1
- package/dist/cli/render/index.js +1 -0
- package/dist/cli/render/index.js.map +1 -1
- package/dist/cli/render/theme.d.ts +1 -0
- package/dist/cli/render/theme.d.ts.map +1 -1
- package/dist/cli/render/theme.js +19 -3
- package/dist/cli/render/theme.js.map +1 -1
- package/dist/personal-server/client.d.ts +1 -1
- package/dist/personal-server/client.d.ts.map +1 -1
- package/dist/personal-server/client.js +31 -17
- package/dist/personal-server/client.js.map +1 -1
- package/dist/personal-server/index.d.ts +7 -0
- package/dist/personal-server/index.d.ts.map +1 -1
- package/dist/personal-server/index.js +40 -31
- package/dist/personal-server/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cli/auth.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface VanaCredentials {
|
|
|
13
13
|
};
|
|
14
14
|
personal_server: {
|
|
15
15
|
url: string;
|
|
16
|
-
|
|
16
|
+
session_token: string;
|
|
17
17
|
expires_at: string;
|
|
18
18
|
} | null;
|
|
19
19
|
}
|
|
@@ -58,17 +58,22 @@ export interface DeviceCodePollAuthorized {
|
|
|
58
58
|
status: "authorized";
|
|
59
59
|
session_token: string;
|
|
60
60
|
personal_server_url?: string;
|
|
61
|
+
personal_server_session_token?: string;
|
|
61
62
|
ps_access_token?: string;
|
|
62
63
|
address: string;
|
|
63
64
|
expires_in?: number;
|
|
65
|
+
expires_at?: string;
|
|
64
66
|
}
|
|
65
67
|
export interface DeviceCodePollPending {
|
|
66
68
|
status: "pending";
|
|
67
69
|
}
|
|
70
|
+
export interface DeviceCodePollSlowDown {
|
|
71
|
+
status: "slow_down";
|
|
72
|
+
}
|
|
68
73
|
export interface DeviceCodePollExpired {
|
|
69
74
|
status: "expired";
|
|
70
75
|
}
|
|
71
|
-
export type DeviceCodePollResponse = DeviceCodePollAuthorized | DeviceCodePollPending | DeviceCodePollExpired;
|
|
76
|
+
export type DeviceCodePollResponse = DeviceCodePollAuthorized | DeviceCodePollPending | DeviceCodePollSlowDown | DeviceCodePollExpired;
|
|
72
77
|
/**
|
|
73
78
|
* Request a device code from the auth server.
|
|
74
79
|
*/
|
|
@@ -91,8 +96,17 @@ export declare function openBrowser(url: string): void;
|
|
|
91
96
|
export declare function runDeviceCodeFlow(callbacks: {
|
|
92
97
|
onCode: (code: string, verificationUri: string) => void;
|
|
93
98
|
onWaiting: () => void;
|
|
94
|
-
onAuthorized: (creds: VanaCredentials) => void
|
|
99
|
+
onAuthorized: (creds: VanaCredentials) => void | Promise<void>;
|
|
95
100
|
onExpired: () => void;
|
|
96
101
|
onError: (error: Error) => void;
|
|
97
102
|
}): Promise<VanaCredentials | null>;
|
|
103
|
+
export type AuthTarget = "cloud" | "self-hosted";
|
|
104
|
+
export declare function getAuthTarget(psUrl: string | null): AuthTarget;
|
|
105
|
+
export declare function resolvePersonalServerUrl(): string | undefined;
|
|
106
|
+
export declare function runSelfHostedLoginFlow(serverUrl: string, onLoginUrl: (url: string) => void): Promise<{
|
|
107
|
+
server: string;
|
|
108
|
+
address: string;
|
|
109
|
+
session_token: string;
|
|
110
|
+
expires_at: string;
|
|
111
|
+
}>;
|
|
98
112
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/cli/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,EAAE;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/auth.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Supports the device code flow for browser-based login and
|
|
6
6
|
* env var overrides for CI/automation.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { spawnSync } from "node:child_process";
|
|
9
9
|
import fs from "node:fs";
|
|
10
10
|
import fsp from "node:fs/promises";
|
|
11
11
|
import path from "node:path";
|
|
@@ -14,6 +14,22 @@ const AUTH_FILE = "auth.json";
|
|
|
14
14
|
function getAuthFilePath() {
|
|
15
15
|
return path.join(os.homedir(), ".vana", AUTH_FILE);
|
|
16
16
|
}
|
|
17
|
+
function normalizeCredentials(creds) {
|
|
18
|
+
if (!creds.account || typeof creds.account.session_token !== "string") {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const personalServer = creds.personal_server;
|
|
22
|
+
return {
|
|
23
|
+
account: creds.account,
|
|
24
|
+
personal_server: personalServer
|
|
25
|
+
? {
|
|
26
|
+
url: personalServer.url,
|
|
27
|
+
session_token: personalServer.session_token ?? personalServer.access_token ?? "",
|
|
28
|
+
expires_at: personalServer.expires_at,
|
|
29
|
+
}
|
|
30
|
+
: null,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
17
33
|
/**
|
|
18
34
|
* Load credentials from disk or env vars.
|
|
19
35
|
*
|
|
@@ -40,7 +56,7 @@ export function loadCredentials() {
|
|
|
40
56
|
personal_server: envPsToken && envPsUrl
|
|
41
57
|
? {
|
|
42
58
|
url: envPsUrl,
|
|
43
|
-
|
|
59
|
+
session_token: envPsToken,
|
|
44
60
|
expires_at: farFuture,
|
|
45
61
|
}
|
|
46
62
|
: null,
|
|
@@ -50,7 +66,10 @@ export function loadCredentials() {
|
|
|
50
66
|
const filePath = getAuthFilePath();
|
|
51
67
|
try {
|
|
52
68
|
const raw = fs.readFileSync(filePath, "utf8");
|
|
53
|
-
const creds = JSON.parse(raw);
|
|
69
|
+
const creds = normalizeCredentials(JSON.parse(raw));
|
|
70
|
+
if (!creds) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
54
73
|
if (isExpired(creds)) {
|
|
55
74
|
return null;
|
|
56
75
|
}
|
|
@@ -106,6 +125,9 @@ export function formatAddress(address) {
|
|
|
106
125
|
return address;
|
|
107
126
|
return `${address.slice(0, 6)}...${address.slice(-3)}`;
|
|
108
127
|
}
|
|
128
|
+
function isWalletAddress(address) {
|
|
129
|
+
return /^0x[a-fA-F0-9]{40}$/.test(address);
|
|
130
|
+
}
|
|
109
131
|
/**
|
|
110
132
|
* Return human-readable time until expiry: "29 days", "3 hours", etc.
|
|
111
133
|
*/
|
|
@@ -122,6 +144,16 @@ export function formatExpiresIn(expiresAt) {
|
|
|
122
144
|
const minutes = Math.floor(ms / (60 * 1000));
|
|
123
145
|
return `${minutes} minute${minutes === 1 ? "" : "s"}`;
|
|
124
146
|
}
|
|
147
|
+
function resolveCredentialExpiry(params) {
|
|
148
|
+
if (params.expiresAt) {
|
|
149
|
+
const parsed = new Date(params.expiresAt);
|
|
150
|
+
if (!Number.isNaN(parsed.getTime())) {
|
|
151
|
+
return parsed.toISOString();
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const expiresIn = params.expiresIn ?? 30 * 24 * 60 * 60;
|
|
155
|
+
return new Date(Date.now() + expiresIn * 1000).toISOString();
|
|
156
|
+
}
|
|
125
157
|
function getAccountUrl() {
|
|
126
158
|
return (process.env.VANA_ACCOUNT_URL?.replace(/\/+$/, "") ??
|
|
127
159
|
"https://account.vana.org");
|
|
@@ -161,17 +193,16 @@ export async function pollDeviceCode(deviceCode) {
|
|
|
161
193
|
* Best-effort — failures are silently ignored.
|
|
162
194
|
*/
|
|
163
195
|
export function openBrowser(url) {
|
|
196
|
+
// Use spawnSync with args array to prevent shell injection.
|
|
197
|
+
// A malicious server could return a URL with shell metacharacters.
|
|
164
198
|
const platform = process.platform;
|
|
165
199
|
try {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
execSync(`xdg-open ${JSON.stringify(url)}`, { stdio: "ignore" });
|
|
174
|
-
}
|
|
200
|
+
const opener = platform === "darwin"
|
|
201
|
+
? "open"
|
|
202
|
+
: platform === "win32"
|
|
203
|
+
? "start"
|
|
204
|
+
: "xdg-open";
|
|
205
|
+
spawnSync(opener, [url], { stdio: "ignore" });
|
|
175
206
|
}
|
|
176
207
|
catch {
|
|
177
208
|
// Best-effort — user can open manually
|
|
@@ -197,29 +228,37 @@ export async function runDeviceCodeFlow(callbacks) {
|
|
|
197
228
|
try {
|
|
198
229
|
const result = await pollDeviceCode(deviceCode.device_code);
|
|
199
230
|
if (result.status === "authorized") {
|
|
200
|
-
const
|
|
201
|
-
|
|
231
|
+
const expiresAt = resolveCredentialExpiry({
|
|
232
|
+
expiresAt: result.expires_at,
|
|
233
|
+
expiresIn: result.expires_in,
|
|
234
|
+
});
|
|
202
235
|
const creds = {
|
|
203
236
|
account: {
|
|
204
237
|
address: result.address,
|
|
205
238
|
session_token: result.session_token,
|
|
206
239
|
expires_at: expiresAt,
|
|
207
240
|
},
|
|
208
|
-
personal_server: result.personal_server_url &&
|
|
241
|
+
personal_server: result.personal_server_url &&
|
|
242
|
+
(result.personal_server_session_token ?? result.ps_access_token)
|
|
209
243
|
? {
|
|
210
244
|
url: result.personal_server_url,
|
|
211
|
-
|
|
245
|
+
session_token: result.personal_server_session_token ??
|
|
246
|
+
result.ps_access_token ??
|
|
247
|
+
"",
|
|
212
248
|
expires_at: expiresAt,
|
|
213
249
|
}
|
|
214
250
|
: null,
|
|
215
251
|
};
|
|
216
|
-
callbacks.onAuthorized(creds);
|
|
252
|
+
await callbacks.onAuthorized(creds);
|
|
217
253
|
return creds;
|
|
218
254
|
}
|
|
219
255
|
if (result.status === "expired") {
|
|
220
256
|
callbacks.onExpired();
|
|
221
257
|
return null;
|
|
222
258
|
}
|
|
259
|
+
if (result.status === "slow_down") {
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
223
262
|
// status === "pending" — continue polling
|
|
224
263
|
}
|
|
225
264
|
catch {
|
|
@@ -235,4 +274,66 @@ export async function runDeviceCodeFlow(callbacks) {
|
|
|
235
274
|
return null;
|
|
236
275
|
}
|
|
237
276
|
}
|
|
277
|
+
export function getAuthTarget(psUrl) {
|
|
278
|
+
if (!psUrl)
|
|
279
|
+
return "cloud";
|
|
280
|
+
if (psUrl.includes(".myvana.app"))
|
|
281
|
+
return "cloud";
|
|
282
|
+
return "self-hosted";
|
|
283
|
+
}
|
|
284
|
+
export function resolvePersonalServerUrl() {
|
|
285
|
+
return (process.env.VANA_PS_URL ||
|
|
286
|
+
process.env.VANA_PERSONAL_SERVER_URL ||
|
|
287
|
+
loadCredentials()?.personal_server?.url);
|
|
288
|
+
}
|
|
289
|
+
const SELF_HOSTED_POLL_INTERVAL_MS = 5_000;
|
|
290
|
+
function resolveLoginV2Url(serverUrl, endpoint) {
|
|
291
|
+
return new URL(endpoint, `${serverUrl.replace(/\/$/, "")}/`).toString();
|
|
292
|
+
}
|
|
293
|
+
export async function runSelfHostedLoginFlow(serverUrl, onLoginUrl) {
|
|
294
|
+
const base = serverUrl.replace(/\/$/, "");
|
|
295
|
+
// 1. Initiate login flow
|
|
296
|
+
const initRes = await fetch(`${base}/auth/device`, { method: "POST" });
|
|
297
|
+
if (!initRes.ok) {
|
|
298
|
+
throw new Error(`Server at ${base} does not support CLI login (${initRes.status})`);
|
|
299
|
+
}
|
|
300
|
+
const init = (await initRes.json());
|
|
301
|
+
// 2. Open browser
|
|
302
|
+
onLoginUrl(resolveLoginV2Url(base, init.login));
|
|
303
|
+
// 3. Poll for completion (5 min timeout)
|
|
304
|
+
const deadline = Date.now() + 5 * 60 * 1000;
|
|
305
|
+
const pollUrl = resolveLoginV2Url(base, init.poll.endpoint);
|
|
306
|
+
while (Date.now() < deadline) {
|
|
307
|
+
await new Promise((r) => setTimeout(r, SELF_HOSTED_POLL_INTERVAL_MS));
|
|
308
|
+
const pollRes = await fetch(`${pollUrl}?token=${encodeURIComponent(init.poll.token)}`);
|
|
309
|
+
if (pollRes.status === 200) {
|
|
310
|
+
const result = (await pollRes.json());
|
|
311
|
+
if (!isWalletAddress(result.address)) {
|
|
312
|
+
throw new Error("Personal Server did not report a valid owner wallet address. Ensure VANA_MASTER_KEY_SIGNATURE is configured.");
|
|
313
|
+
}
|
|
314
|
+
return {
|
|
315
|
+
server: result.server,
|
|
316
|
+
address: result.address,
|
|
317
|
+
session_token: result.access_token,
|
|
318
|
+
expires_at: result.expires_at,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
if (pollRes.status === 404 || pollRes.status === 202) {
|
|
322
|
+
const result = (await pollRes
|
|
323
|
+
.json()
|
|
324
|
+
.catch(() => null));
|
|
325
|
+
if (result?.status === "expired") {
|
|
326
|
+
throw new Error("Authorization expired. Please try again.");
|
|
327
|
+
}
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
330
|
+
if (pollRes.status === 429) {
|
|
331
|
+
continue;
|
|
332
|
+
}
|
|
333
|
+
if (!pollRes.ok) {
|
|
334
|
+
throw new Error(`Poll failed: ${pollRes.status}`);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
throw new Error("Authorization timed out. Please try again.");
|
|
338
|
+
}
|
|
238
339
|
//# sourceMappingURL=auth.js.map
|
package/dist/cli/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -26,15 +26,15 @@ const vanaPromptTheme = {
|
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
};
|
|
29
|
-
import { createConnectRenderer, createHumanRenderer, formatDisplayPath, formatRelativeTime, } from "./render/index.js";
|
|
29
|
+
import { createConnectRenderer, createHumanRenderer, createLoginRenderer, formatDisplayPath, formatRelativeTime, } from "./render/index.js";
|
|
30
30
|
import { CliOutcomeStatus, migrateLegacyDataHome, getBrowserProfilesDir, getConnectorCacheDir, getLogsDir, getSessionsDir, getSourceResultPath, readCliState, readCliConfig, updateCliConfig, updateSourceState, } from "../core/index.js";
|
|
31
31
|
import { fetchConnectorToCache, listAvailableSources, readCachedConnectorMetadata, } from "../connectors/registry.js";
|
|
32
|
-
import { detectPersonalServerTarget, ingestResult, } from "../personal-server/index.js";
|
|
32
|
+
import { detectPersonalServerTarget, ingestResult, resolvePersonalServerAuthConfig, } from "../personal-server/index.js";
|
|
33
33
|
import { findDataConnectorsDir, ManagedPlaywrightRuntime, } from "../runtime/index.js";
|
|
34
34
|
import { listAvailableSkills, installSkill, readInstalledSkills, } from "../skills/index.js";
|
|
35
35
|
import { queryStatus, querySources, queryDataList, queryDataShow, queryDoctor, } from "./queries.js";
|
|
36
36
|
import { checkForUpdate, readUpdateCheck, isNewerVersion, } from "./update-check.js";
|
|
37
|
-
import { loadCredentials, saveCredentials, clearCredentials, isExpired, formatAddress, formatExpiresIn, runDeviceCodeFlow, } from "./auth.js";
|
|
37
|
+
import { loadCredentials, saveCredentials, clearCredentials, isExpired, formatAddress, formatExpiresIn, getAuthTarget, resolvePersonalServerUrl, runDeviceCodeFlow, runSelfHostedLoginFlow, } from "./auth.js";
|
|
38
38
|
function cleanDescription(desc) {
|
|
39
39
|
return desc
|
|
40
40
|
.replace(/ using Playwright browser automation\.?/i, ".")
|
|
@@ -334,9 +334,10 @@ Examples:
|
|
|
334
334
|
});
|
|
335
335
|
program
|
|
336
336
|
.command("login")
|
|
337
|
-
.description("Log in to your Vana account")
|
|
338
|
-
.
|
|
339
|
-
|
|
337
|
+
.description("Log in to your Vana account or a self-hosted Personal Server")
|
|
338
|
+
.option("-s, --server <url>", "Self-hosted Personal Server URL")
|
|
339
|
+
.action(async (loginOptions) => {
|
|
340
|
+
process.exitCode = await runLogin(parsedOptions, loginOptions.server);
|
|
340
341
|
});
|
|
341
342
|
program
|
|
342
343
|
.command("logout")
|
|
@@ -1236,8 +1237,18 @@ async function runStatus(options) {
|
|
|
1236
1237
|
const displayName = displaySource(sourceId, sourceLabels);
|
|
1237
1238
|
const sourceStatus = status.sources.find((s) => s.source === sourceId);
|
|
1238
1239
|
const sourceOverdue = sourceStatus?.isOverdue ?? false;
|
|
1239
|
-
const
|
|
1240
|
-
|
|
1240
|
+
const dataState = stored?.dataState;
|
|
1241
|
+
// Show worst of connectionHealth and dataState
|
|
1242
|
+
let healthLabel;
|
|
1243
|
+
let healthTone;
|
|
1244
|
+
if (dataState === "ingest_failed") {
|
|
1245
|
+
healthLabel = "sync failed";
|
|
1246
|
+
healthTone = "warning";
|
|
1247
|
+
}
|
|
1248
|
+
else {
|
|
1249
|
+
healthTone = sourceOverdue ? "warning" : toneForHealth(health);
|
|
1250
|
+
healthLabel = health === "needs_reauth" ? "needs login" : health;
|
|
1251
|
+
}
|
|
1241
1252
|
const staleTag = sourceOverdue
|
|
1242
1253
|
? ` ${emit.badge("stale", "warning")}`
|
|
1243
1254
|
: "";
|
|
@@ -1245,7 +1256,11 @@ async function runStatus(options) {
|
|
|
1245
1256
|
? `collected ${formatRelativeTime(stored.lastCollectedAt)}`
|
|
1246
1257
|
: "";
|
|
1247
1258
|
emit.keyValue(` ${displayName}`, `${healthLabel}${staleTag} ${collectedAgo}`, healthTone);
|
|
1248
|
-
if (
|
|
1259
|
+
if (dataState === "ingest_failed") {
|
|
1260
|
+
const errMsg = stored?.lastError ?? "sync failed";
|
|
1261
|
+
emit.detail(` \u21b3 ${errMsg}. Run \`vana connect ${sourceId}\``);
|
|
1262
|
+
}
|
|
1263
|
+
else if ((health === "needs_reauth" || health === "error") &&
|
|
1249
1264
|
stored?.connectionHealthReason) {
|
|
1250
1265
|
const msg = formatHealthMessage(stored.connectionHealthReason);
|
|
1251
1266
|
const ago = stored.connectionHealthChangedAt
|
|
@@ -2149,12 +2164,20 @@ async function runServerData(scope, options) {
|
|
|
2149
2164
|
}
|
|
2150
2165
|
// If PS is available, try to list remote scopes via client
|
|
2151
2166
|
let remoteScopes = [];
|
|
2167
|
+
let didQueryRemoteScopes = false;
|
|
2152
2168
|
let remoteScopeFallbackReason;
|
|
2153
2169
|
if (target.state === "available" && target.url) {
|
|
2170
|
+
const auth = resolvePersonalServerAuthConfig(target.url);
|
|
2154
2171
|
try {
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2172
|
+
if (auth?.type === "bearerToken") {
|
|
2173
|
+
const { createPersonalServerClient: createClient } = await import("../personal-server/client.js");
|
|
2174
|
+
const client = createClient({
|
|
2175
|
+
url: target.url,
|
|
2176
|
+
auth,
|
|
2177
|
+
});
|
|
2178
|
+
didQueryRemoteScopes = true;
|
|
2179
|
+
remoteScopes = await client.listScopes(scope);
|
|
2180
|
+
}
|
|
2158
2181
|
}
|
|
2159
2182
|
catch (err) {
|
|
2160
2183
|
remoteScopeFallbackReason =
|
|
@@ -2162,7 +2185,7 @@ async function runServerData(scope, options) {
|
|
|
2162
2185
|
}
|
|
2163
2186
|
}
|
|
2164
2187
|
// Use remote scopes if available, otherwise fall back to local
|
|
2165
|
-
const scopeList =
|
|
2188
|
+
const scopeList = didQueryRemoteScopes
|
|
2166
2189
|
? remoteScopes.map((s) => ({
|
|
2167
2190
|
scope: s.scope,
|
|
2168
2191
|
detail: `${s.count} version${s.count !== 1 ? "s" : ""}`,
|
|
@@ -2175,13 +2198,15 @@ async function runServerData(scope, options) {
|
|
|
2175
2198
|
process.stdout.write(`${JSON.stringify({
|
|
2176
2199
|
count: scopeList.length,
|
|
2177
2200
|
scopes: scopeList,
|
|
2178
|
-
source:
|
|
2201
|
+
source: didQueryRemoteScopes ? "remote" : "local",
|
|
2179
2202
|
...(remoteScopeFallbackReason ? { remoteScopeFallbackReason } : {}),
|
|
2180
2203
|
})}\n`);
|
|
2181
2204
|
return 0;
|
|
2182
2205
|
}
|
|
2183
2206
|
if (scopeList.length === 0) {
|
|
2184
|
-
emit.info(
|
|
2207
|
+
emit.info(didQueryRemoteScopes
|
|
2208
|
+
? "No data on your Personal Server."
|
|
2209
|
+
: "No scopes found.");
|
|
2185
2210
|
if (target.state !== "available") {
|
|
2186
2211
|
emit.detail("Personal Server is not available. Showing locally-known scopes only.");
|
|
2187
2212
|
}
|
|
@@ -2190,7 +2215,7 @@ async function runServerData(scope, options) {
|
|
|
2190
2215
|
for (const entry of scopeList) {
|
|
2191
2216
|
emit.keyValue(entry.scope, entry.detail, "muted");
|
|
2192
2217
|
}
|
|
2193
|
-
if (
|
|
2218
|
+
if (!didQueryRemoteScopes && localScopes.length > 0) {
|
|
2194
2219
|
emit.blank();
|
|
2195
2220
|
emit.detail("Showing locally-known scopes. Connect your Personal Server for live data.");
|
|
2196
2221
|
}
|
|
@@ -2947,6 +2972,11 @@ export function getSourceStatusPresentation(source) {
|
|
|
2947
2972
|
if (!source.installed && !source.lastRunOutcome) {
|
|
2948
2973
|
return { label: "not connected", tone: "muted" };
|
|
2949
2974
|
}
|
|
2975
|
+
// Check dataState before early-returning on missing lastRunOutcome —
|
|
2976
|
+
// ingest can fail even when lastRunOutcome is unset
|
|
2977
|
+
if (source.dataState === "ingest_failed") {
|
|
2978
|
+
return { label: "sync failed", tone: "error" };
|
|
2979
|
+
}
|
|
2950
2980
|
if (!source.lastRunOutcome) {
|
|
2951
2981
|
return { label: "installed", tone: "success" };
|
|
2952
2982
|
}
|
|
@@ -2979,9 +3009,6 @@ export function getSourceStatusPresentation(source) {
|
|
|
2979
3009
|
if (source.dataState === "collected_local") {
|
|
2980
3010
|
return { label: "local", tone: "muted" };
|
|
2981
3011
|
}
|
|
2982
|
-
if (source.dataState === "ingest_failed") {
|
|
2983
|
-
return { label: "sync failed", tone: "error" };
|
|
2984
|
-
}
|
|
2985
3012
|
return { label: "connected", tone: "success" };
|
|
2986
3013
|
}
|
|
2987
3014
|
export function toneForRuntime(runtime) {
|
|
@@ -3084,6 +3111,9 @@ export function rankSourceStatus(source) {
|
|
|
3084
3111
|
if (source.lastRunOutcome === CliOutcomeStatus.CONNECTOR_UNAVAILABLE) {
|
|
3085
3112
|
return 4;
|
|
3086
3113
|
}
|
|
3114
|
+
if (source.dataState === "ingest_failed") {
|
|
3115
|
+
return 2;
|
|
3116
|
+
}
|
|
3087
3117
|
if (source.dataState === "ingested_personal_server") {
|
|
3088
3118
|
return 5;
|
|
3089
3119
|
}
|
|
@@ -3975,7 +4005,62 @@ async function runSkillShow(name, options) {
|
|
|
3975
4005
|
}
|
|
3976
4006
|
}
|
|
3977
4007
|
// ── Login / Logout ─────────────────────────────────────────────────────
|
|
3978
|
-
async function runLogin(options) {
|
|
4008
|
+
async function runLogin(options, serverUrl) {
|
|
4009
|
+
// Determine auth target: cloud (account.vana.org) or self-hosted (PS directly)
|
|
4010
|
+
const psUrl = serverUrl ?? resolvePersonalServerUrl() ?? null;
|
|
4011
|
+
const authTarget = getAuthTarget(psUrl);
|
|
4012
|
+
// If self-hosted, use /auth/device flow against the PS
|
|
4013
|
+
if (authTarget === "self-hosted" && psUrl) {
|
|
4014
|
+
const renderer = !options.json && !options.quiet ? createLoginRenderer() : null;
|
|
4015
|
+
renderer?.title(psUrl);
|
|
4016
|
+
try {
|
|
4017
|
+
const result = await runSelfHostedLoginFlow(psUrl, (url) => {
|
|
4018
|
+
renderer?.note("Open this URL in your browser:");
|
|
4019
|
+
renderer?.note(url);
|
|
4020
|
+
renderer?.scopeActive("Waiting for authorization");
|
|
4021
|
+
// Try to open browser — use spawn with args array to prevent shell injection
|
|
4022
|
+
// (a malicious self-hosted PS could return a URL with shell metacharacters)
|
|
4023
|
+
try {
|
|
4024
|
+
const { spawn } = require("node:child_process");
|
|
4025
|
+
const opener = process.platform === "darwin"
|
|
4026
|
+
? "open"
|
|
4027
|
+
: process.platform === "win32"
|
|
4028
|
+
? "start"
|
|
4029
|
+
: "xdg-open";
|
|
4030
|
+
spawn(opener, [url], { detached: true, stdio: "ignore" }).unref();
|
|
4031
|
+
}
|
|
4032
|
+
catch {
|
|
4033
|
+
// Browser open failed — user will open manually
|
|
4034
|
+
}
|
|
4035
|
+
});
|
|
4036
|
+
await saveCredentials({
|
|
4037
|
+
account: {
|
|
4038
|
+
address: result.address,
|
|
4039
|
+
session_token: "",
|
|
4040
|
+
expires_at: result.expires_at,
|
|
4041
|
+
},
|
|
4042
|
+
personal_server: {
|
|
4043
|
+
url: psUrl,
|
|
4044
|
+
session_token: result.session_token,
|
|
4045
|
+
expires_at: result.expires_at,
|
|
4046
|
+
},
|
|
4047
|
+
});
|
|
4048
|
+
await updateCliConfig({ personalServerUrl: psUrl });
|
|
4049
|
+
renderer?.success(`Logged in to ${psUrl}`);
|
|
4050
|
+
renderer?.detail("Credentials saved to ~/.vana/auth.json");
|
|
4051
|
+
return 0;
|
|
4052
|
+
}
|
|
4053
|
+
catch (err) {
|
|
4054
|
+
renderer?.fail("Login failed");
|
|
4055
|
+
renderer?.detail(err instanceof Error ? err.message : String(err));
|
|
4056
|
+
renderer?.next(`vana login --server ${psUrl}`);
|
|
4057
|
+
return 1;
|
|
4058
|
+
}
|
|
4059
|
+
finally {
|
|
4060
|
+
renderer?.cleanup();
|
|
4061
|
+
}
|
|
4062
|
+
}
|
|
4063
|
+
// Cloud flow (account.vana.org)
|
|
3979
4064
|
// Check env var shortcut
|
|
3980
4065
|
const envToken = process.env.VANA_SESSION_TOKEN;
|
|
3981
4066
|
if (envToken) {
|
|
@@ -4032,6 +4117,9 @@ async function runLogin(options) {
|
|
|
4032
4117
|
});
|
|
4033
4118
|
if (creds) {
|
|
4034
4119
|
await saveCredentials(creds);
|
|
4120
|
+
if (creds.personal_server?.url) {
|
|
4121
|
+
await updateCliConfig({ personalServerUrl: creds.personal_server.url });
|
|
4122
|
+
}
|
|
4035
4123
|
process.stdout.write(`${JSON.stringify({
|
|
4036
4124
|
status: "authenticated",
|
|
4037
4125
|
address: creds.account.address,
|
|
@@ -4043,40 +4131,60 @@ async function runLogin(options) {
|
|
|
4043
4131
|
return 1;
|
|
4044
4132
|
}
|
|
4045
4133
|
// Interactive mode
|
|
4046
|
-
const
|
|
4047
|
-
|
|
4048
|
-
emit.info(" Logging in to Vana...");
|
|
4049
|
-
emit.blank();
|
|
4134
|
+
const renderer = createLoginRenderer();
|
|
4135
|
+
renderer.title("Vana");
|
|
4050
4136
|
const creds = await runDeviceCodeFlow({
|
|
4051
4137
|
onCode: (code, uri) => {
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
emit.info(` ! Enter this code: ${BOLD}${code}${RESET}`);
|
|
4056
|
-
emit.blank();
|
|
4138
|
+
renderer.note("Open this URL in your browser:");
|
|
4139
|
+
renderer.note(uri);
|
|
4140
|
+
renderer.note(`Enter this code: ${code}`);
|
|
4057
4141
|
},
|
|
4058
4142
|
onWaiting: () => {
|
|
4059
|
-
|
|
4143
|
+
renderer.scopeActive("Waiting for authorization");
|
|
4060
4144
|
},
|
|
4061
4145
|
onAuthorized: async (authedCreds) => {
|
|
4062
4146
|
await saveCredentials(authedCreds);
|
|
4063
|
-
|
|
4147
|
+
if (authedCreds.personal_server?.url) {
|
|
4148
|
+
await updateCliConfig({
|
|
4149
|
+
personalServerUrl: authedCreds.personal_server.url,
|
|
4150
|
+
});
|
|
4151
|
+
}
|
|
4152
|
+
renderer.success(`Logged in as ${formatAddress(authedCreds.account.address)}`);
|
|
4064
4153
|
if (authedCreds.personal_server) {
|
|
4065
|
-
|
|
4066
|
-
emit.keyValue("Personal Server", authedCreds.personal_server.url, "success");
|
|
4154
|
+
renderer.detail(`Personal Server: ${authedCreds.personal_server.url}`);
|
|
4067
4155
|
}
|
|
4068
|
-
|
|
4156
|
+
renderer.detail("Credentials saved to ~/.vana/auth.json");
|
|
4069
4157
|
},
|
|
4070
4158
|
onExpired: () => {
|
|
4071
|
-
|
|
4159
|
+
renderer.fail("Authorization expired");
|
|
4160
|
+
renderer.next("vana login");
|
|
4072
4161
|
},
|
|
4073
4162
|
onError: (err) => {
|
|
4074
|
-
|
|
4163
|
+
renderer.fail("Login failed");
|
|
4164
|
+
renderer.detail(err.message);
|
|
4165
|
+
renderer.next("vana login");
|
|
4075
4166
|
},
|
|
4076
4167
|
});
|
|
4168
|
+
renderer.cleanup();
|
|
4077
4169
|
return creds ? 0 : 1;
|
|
4078
4170
|
}
|
|
4079
4171
|
async function runLogout(options) {
|
|
4172
|
+
// Revoke the token server-side before clearing local credentials
|
|
4173
|
+
const creds = loadCredentials();
|
|
4174
|
+
if (creds?.personal_server?.url && creds.personal_server.session_token) {
|
|
4175
|
+
try {
|
|
4176
|
+
await fetch(`${creds.personal_server.url.replace(/\/$/, "")}/auth/device/token`, {
|
|
4177
|
+
method: "DELETE",
|
|
4178
|
+
headers: {
|
|
4179
|
+
Authorization: `Bearer ${creds.personal_server.session_token}`,
|
|
4180
|
+
},
|
|
4181
|
+
signal: AbortSignal.timeout(5000),
|
|
4182
|
+
});
|
|
4183
|
+
}
|
|
4184
|
+
catch {
|
|
4185
|
+
// Best-effort — server may be down, but we still clear local creds
|
|
4186
|
+
}
|
|
4187
|
+
}
|
|
4080
4188
|
await clearCredentials();
|
|
4081
4189
|
if (options.json) {
|
|
4082
4190
|
process.stdout.write(`${JSON.stringify({ status: "logged_out" })}\n`);
|