youmd 0.13.12 → 0.13.14
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/commands/chat.d.ts +5 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +137 -21
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/doctor.d.ts +33 -2
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +69 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/founder.js +2 -2
- package/dist/commands/founder.js.map +1 -1
- package/dist/commands/push.d.ts +4 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +30 -6
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/stack.d.ts.map +1 -1
- package/dist/commands/stack.js +7 -2
- package/dist/commands/stack.js.map +1 -1
- package/dist/commands/sync.d.ts +5 -0
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +120 -19
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/tasks.d.ts.map +1 -1
- package/dist/commands/tasks.js +24 -1
- package/dist/commands/tasks.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/api-failure.d.ts +19 -0
- package/dist/lib/api-failure.d.ts.map +1 -0
- package/dist/lib/api-failure.js +67 -0
- package/dist/lib/api-failure.js.map +1 -0
- package/dist/lib/api.d.ts +22 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +4 -0
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/chat-errors.d.ts +47 -0
- package/dist/lib/chat-errors.d.ts.map +1 -0
- package/dist/lib/chat-errors.js +151 -0
- package/dist/lib/chat-errors.js.map +1 -0
- package/dist/lib/daemon.d.ts +13 -1
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/daemon.js +41 -2
- package/dist/lib/daemon.js.map +1 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +53 -7
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/stream.d.ts.map +1 -1
- package/dist/lib/stream.js +2 -1
- package/dist/lib/stream.js.map +1 -1
- package/dist/lib/workspace-brief.d.ts +91 -0
- package/dist/lib/workspace-brief.d.ts.map +1 -0
- package/dist/lib/workspace-brief.js +402 -0
- package/dist/lib/workspace-brief.js.map +1 -0
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +125 -22
- package/dist/mcp/server.js.map +1 -1
- package/native/prebuilds/darwin-universal/youmd_safe_open.node +0 -0
- package/package.json +1 -1
- package/scripts/skillstack-sync/com.you.context-sync.plist +6 -6
- package/scripts/skillstack-sync/com.you.identity-sync.plist +6 -6
- package/scripts/skillstack-sync/com.you.orchestrator-watch.plist +7 -6
- package/scripts/skillstack-sync/com.you.realtime-sync.plist +7 -6
- package/scripts/skillstack-sync/com.you.skillstack-sync.plist +6 -6
- package/scripts/skillstack-sync/context-sync.sh +46 -6
- package/scripts/skillstack-sync/install-daemons.sh +42 -1
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Chat service error parsing for the CLI.
|
|
4
|
+
*
|
|
5
|
+
* The you.md chat proxy answers a total LLM provider failure with a
|
|
6
|
+
* classified envelope:
|
|
7
|
+
*
|
|
8
|
+
* { error: { code: "llm_billing" | "llm_auth" | ..., message },
|
|
9
|
+
* message, fix, providers: [{ provider, reason, status, detail, fix }] }
|
|
10
|
+
*
|
|
11
|
+
* This module turns that (or any older/plain error body) into a
|
|
12
|
+
* ChatServiceError whose message tells the operator what actually broke and
|
|
13
|
+
* what to do about it — never a bare "Chat service unavailable".
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.ChatServiceError = void 0;
|
|
17
|
+
exports.parseChatServiceError = parseChatServiceError;
|
|
18
|
+
exports.isLlmProviderErrorCode = isLlmProviderErrorCode;
|
|
19
|
+
exports.explainChatError = explainChatError;
|
|
20
|
+
class ChatServiceError extends Error {
|
|
21
|
+
constructor(input) {
|
|
22
|
+
super(input.message);
|
|
23
|
+
this.name = "ChatServiceError";
|
|
24
|
+
this.code = input.code;
|
|
25
|
+
this.httpStatus = input.httpStatus;
|
|
26
|
+
this.fix = input.fix;
|
|
27
|
+
this.providers = input.providers ?? [];
|
|
28
|
+
}
|
|
29
|
+
/** True when the operator can fix it by paying or rotating a key. */
|
|
30
|
+
get operatorActionable() {
|
|
31
|
+
return this.code === "llm_billing" || this.code === "llm_auth" || this.code === "not_configured";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.ChatServiceError = ChatServiceError;
|
|
35
|
+
const LLM_CODES = new Set([
|
|
36
|
+
"llm_billing",
|
|
37
|
+
"llm_auth",
|
|
38
|
+
"llm_rate_limited",
|
|
39
|
+
"llm_model_unavailable",
|
|
40
|
+
"llm_upstream_unavailable",
|
|
41
|
+
"not_configured",
|
|
42
|
+
]);
|
|
43
|
+
function readString(obj, key) {
|
|
44
|
+
if (!obj || typeof obj !== "object")
|
|
45
|
+
return undefined;
|
|
46
|
+
const v = obj[key];
|
|
47
|
+
return typeof v === "string" && v ? v : undefined;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Parse an error response body (string or already-parsed JSON) from the chat
|
|
51
|
+
* proxy into a ChatServiceError.
|
|
52
|
+
*/
|
|
53
|
+
function parseChatServiceError(httpStatus, body) {
|
|
54
|
+
let data = body;
|
|
55
|
+
if (typeof body === "string") {
|
|
56
|
+
try {
|
|
57
|
+
data = JSON.parse(body);
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
data = null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const errObj = data && typeof data === "object" ? data.error : undefined;
|
|
64
|
+
const code = readString(errObj, "code") ?? "server_error";
|
|
65
|
+
const message = readString(errObj, "message") ??
|
|
66
|
+
readString(data, "message") ??
|
|
67
|
+
(typeof errObj === "string" && errObj ? errObj : undefined) ??
|
|
68
|
+
(typeof body === "string" && body.trim() ? body.trim().slice(0, 200) : `chat proxy returned HTTP ${httpStatus}`);
|
|
69
|
+
const fix = readString(data, "fix");
|
|
70
|
+
const providers = [];
|
|
71
|
+
const rawProviders = data && typeof data === "object" ? data.providers : undefined;
|
|
72
|
+
if (Array.isArray(rawProviders)) {
|
|
73
|
+
for (const p of rawProviders) {
|
|
74
|
+
const provider = readString(p, "provider");
|
|
75
|
+
const reason = readString(p, "reason");
|
|
76
|
+
const detail = readString(p, "detail");
|
|
77
|
+
if (!provider || !reason || !detail)
|
|
78
|
+
continue;
|
|
79
|
+
const status = p.status;
|
|
80
|
+
providers.push({
|
|
81
|
+
provider,
|
|
82
|
+
reason,
|
|
83
|
+
status: typeof status === "number" ? status : null,
|
|
84
|
+
detail,
|
|
85
|
+
fix: readString(p, "fix"),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return new ChatServiceError({ code, httpStatus, message, fix, providers });
|
|
90
|
+
}
|
|
91
|
+
function isLlmProviderErrorCode(code) {
|
|
92
|
+
return LLM_CODES.has(code);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Terminal-ready explanation. Returns lines without leading indentation or
|
|
96
|
+
* color so callers can style them; the first line is the headline.
|
|
97
|
+
*/
|
|
98
|
+
function explainChatError(err) {
|
|
99
|
+
if (!(err instanceof ChatServiceError)) {
|
|
100
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
101
|
+
return [msg || "chat failed for an unknown reason."];
|
|
102
|
+
}
|
|
103
|
+
const lines = [];
|
|
104
|
+
const primary = err.providers.find((p) => p.reason === "billing")
|
|
105
|
+
?? err.providers.find((p) => p.reason === "auth")
|
|
106
|
+
?? err.providers[0];
|
|
107
|
+
switch (err.code) {
|
|
108
|
+
case "llm_billing":
|
|
109
|
+
lines.push(`the You Agent's LLM account is out of credits${primary ? ` (${label(primary.provider)})` : ""}.`);
|
|
110
|
+
break;
|
|
111
|
+
case "llm_auth":
|
|
112
|
+
lines.push(`the You Agent's LLM API key was rejected${primary ? ` (${label(primary.provider)})` : ""}.`);
|
|
113
|
+
break;
|
|
114
|
+
case "llm_rate_limited":
|
|
115
|
+
lines.push("the LLM provider is rate limiting the You Agent right now.");
|
|
116
|
+
break;
|
|
117
|
+
case "llm_model_unavailable":
|
|
118
|
+
lines.push("the LLM provider does not recognize the configured model.");
|
|
119
|
+
break;
|
|
120
|
+
case "not_configured":
|
|
121
|
+
lines.push("no LLM API key is configured on the you.md backend.");
|
|
122
|
+
break;
|
|
123
|
+
case "llm_upstream_unavailable":
|
|
124
|
+
lines.push("every LLM provider behind the You Agent is failing right now.");
|
|
125
|
+
break;
|
|
126
|
+
case "rate_limited":
|
|
127
|
+
lines.push("you.md is rate limiting this machine. wait a minute and retry.");
|
|
128
|
+
break;
|
|
129
|
+
default:
|
|
130
|
+
lines.push(err.message);
|
|
131
|
+
}
|
|
132
|
+
for (const p of err.providers) {
|
|
133
|
+
const status = p.status === null ? "" : ` ${p.status}`;
|
|
134
|
+
lines.push(`${label(p.provider)}${status}: ${p.detail}${p.fix ? ` -> ${p.fix}` : ""}`);
|
|
135
|
+
}
|
|
136
|
+
if (err.fix && !err.providers.some((p) => p.fix === err.fix)) {
|
|
137
|
+
lines.push(`fix: ${err.fix}`);
|
|
138
|
+
}
|
|
139
|
+
if (lines.length === 1 && err.message !== lines[0]) {
|
|
140
|
+
lines.push(err.message);
|
|
141
|
+
}
|
|
142
|
+
return lines;
|
|
143
|
+
}
|
|
144
|
+
function label(provider) {
|
|
145
|
+
if (provider === "anthropic")
|
|
146
|
+
return "Anthropic";
|
|
147
|
+
if (provider === "openrouter")
|
|
148
|
+
return "OpenRouter";
|
|
149
|
+
return provider;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=chat-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-errors.js","sourceRoot":"","sources":["../../src/lib/chat-errors.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/daemon.d.ts
CHANGED
|
@@ -16,6 +16,10 @@ export interface YoumdDaemon {
|
|
|
16
16
|
export interface YoumdDaemonHealth extends YoumdDaemon {
|
|
17
17
|
loaded: boolean;
|
|
18
18
|
legacyLoaded?: boolean;
|
|
19
|
+
supervisorState?: string;
|
|
20
|
+
runCount?: number;
|
|
21
|
+
lastExitCode?: number;
|
|
22
|
+
executionProven?: boolean;
|
|
19
23
|
lastLogLine?: string;
|
|
20
24
|
lastErrorLine?: string;
|
|
21
25
|
lastActivityAt?: string;
|
|
@@ -39,6 +43,14 @@ export declare function expandHome(input: string): string;
|
|
|
39
43
|
export declare function tailUsefulLine(filePath: string, maxBytes?: number): string | undefined;
|
|
40
44
|
export declare function newestMtimeIso(paths: string[]): string | undefined;
|
|
41
45
|
export declare function isLaunchAgentLoaded(label: string): boolean;
|
|
46
|
+
export interface LaunchdJobStatus {
|
|
47
|
+
state?: string;
|
|
48
|
+
runCount?: number;
|
|
49
|
+
lastExitCode?: number;
|
|
50
|
+
}
|
|
51
|
+
/** Parse the stable scalar fields emitted by `launchctl print`. */
|
|
52
|
+
export declare function parseLaunchdJobStatus(output: string): LaunchdJobStatus;
|
|
53
|
+
export declare function getLaunchdJobStatus(label: string): LaunchdJobStatus | undefined;
|
|
42
54
|
/** True if the given systemd --user unit is active (running service or armed timer). */
|
|
43
55
|
export declare function isSystemdUnitActive(unit: string): boolean;
|
|
44
56
|
/** Platform-aware "is this daemon loaded?" for a YoumdDaemon, across launchd + systemd. */
|
|
@@ -53,7 +65,7 @@ export interface DaemonRepairResult {
|
|
|
53
65
|
}
|
|
54
66
|
export interface DaemonRepairOptions {
|
|
55
67
|
backend?: DaemonBackend;
|
|
56
|
-
getHealth?: () => Array<Pick<YoumdDaemonHealth, "label" | "loaded">>;
|
|
68
|
+
getHealth?: () => Array<Pick<YoumdDaemonHealth, "label" | "loaded" | "executionProven">>;
|
|
57
69
|
scriptRoot?: string;
|
|
58
70
|
scriptExists?: (filePath: string) => boolean;
|
|
59
71
|
runInstaller?: (scriptPath: string) => {
|
package/dist/lib/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,eAAO,MAAM,aAAa,EAAE,WAAW,EAoDtC,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAInD;AAGD,wBAAgB,cAAc,IAAI,OAAO,CAcxC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,SAAO,GAAG,MAAM,GAAG,SAAS,CAuBpF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAWlE;AAYD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAM1D;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED,2FAA2F;AAC3F,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAS3D;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/daemon.js
CHANGED
|
@@ -40,6 +40,8 @@ exports.expandHome = expandHome;
|
|
|
40
40
|
exports.tailUsefulLine = tailUsefulLine;
|
|
41
41
|
exports.newestMtimeIso = newestMtimeIso;
|
|
42
42
|
exports.isLaunchAgentLoaded = isLaunchAgentLoaded;
|
|
43
|
+
exports.parseLaunchdJobStatus = parseLaunchdJobStatus;
|
|
44
|
+
exports.getLaunchdJobStatus = getLaunchdJobStatus;
|
|
43
45
|
exports.isSystemdUnitActive = isSystemdUnitActive;
|
|
44
46
|
exports.isDaemonLoaded = isDaemonLoaded;
|
|
45
47
|
exports.repairResidentDaemons = repairResidentDaemons;
|
|
@@ -205,6 +207,25 @@ function isLaunchAgentLoaded(label) {
|
|
|
205
207
|
});
|
|
206
208
|
return result.status === 0 && !!result.stdout.trim();
|
|
207
209
|
}
|
|
210
|
+
/** Parse the stable scalar fields emitted by `launchctl print`. */
|
|
211
|
+
function parseLaunchdJobStatus(output) {
|
|
212
|
+
const state = output.match(/^\s*state = (.+)$/m)?.[1]?.trim();
|
|
213
|
+
const runs = output.match(/^\s*runs = (\d+)$/m)?.[1];
|
|
214
|
+
const lastExit = output.match(/^\s*last exit code = (-?\d+)$/m)?.[1];
|
|
215
|
+
return {
|
|
216
|
+
...(state ? { state } : {}),
|
|
217
|
+
...(runs !== undefined ? { runCount: Number(runs) } : {}),
|
|
218
|
+
...(lastExit !== undefined ? { lastExitCode: Number(lastExit) } : {}),
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
function getLaunchdJobStatus(label) {
|
|
222
|
+
if (process.platform !== "darwin" || typeof process.getuid !== "function")
|
|
223
|
+
return undefined;
|
|
224
|
+
const result = child_process.spawnSync("launchctl", ["print", `gui/${process.getuid()}/${label}`], { encoding: "utf-8" });
|
|
225
|
+
if (result.status !== 0 || !result.stdout.trim())
|
|
226
|
+
return undefined;
|
|
227
|
+
return parseLaunchdJobStatus(result.stdout);
|
|
228
|
+
}
|
|
208
229
|
/** True if the given systemd --user unit is active (running service or armed timer). */
|
|
209
230
|
function isSystemdUnitActive(unit) {
|
|
210
231
|
if (!hasUserSystemd())
|
|
@@ -238,7 +259,9 @@ function isDaemonLoaded(daemon) {
|
|
|
238
259
|
function repairResidentDaemons(options = {}) {
|
|
239
260
|
const backend = options.backend ?? detectDaemonBackend();
|
|
240
261
|
const getHealth = options.getHealth ?? getDaemonHealth;
|
|
241
|
-
const missing = () => getHealth()
|
|
262
|
+
const missing = () => getHealth()
|
|
263
|
+
.filter((daemon) => !daemon.loaded || daemon.executionProven === false)
|
|
264
|
+
.map((daemon) => daemon.label);
|
|
242
265
|
const missingBefore = backend === "unsupported" ? [] : missing();
|
|
243
266
|
const base = { backend, missingBefore };
|
|
244
267
|
if (backend === "unsupported" || missingBefore.length === 0) {
|
|
@@ -293,15 +316,31 @@ function getDaemonHealth() {
|
|
|
293
316
|
const lastErrorLine = tailUsefulLine(daemon.stderrLog);
|
|
294
317
|
const stderrMtime = mtimeMs(daemon.stderrLog);
|
|
295
318
|
const healthyMtime = Math.max(mtimeMs(daemon.stdoutLog), daemon.combinedLog ? mtimeMs(daemon.combinedLog) : 0);
|
|
296
|
-
const
|
|
319
|
+
const runtimeWarning = lastErrorLine &&
|
|
297
320
|
stderrMtime >= healthyMtime &&
|
|
298
321
|
/(error|warn|conflict|refus|failed|smaller|blocked|unknown option|command not found|no such file|cannot find)/i.test(lastErrorLine)
|
|
299
322
|
? lastErrorLine
|
|
300
323
|
: undefined;
|
|
324
|
+
const launchd = detectDaemonBackend() === "launchd"
|
|
325
|
+
? getLaunchdJobStatus(daemon.label)
|
|
326
|
+
: undefined;
|
|
327
|
+
const executionProven = launchd?.runCount !== undefined
|
|
328
|
+
? launchd.runCount > 0
|
|
329
|
+
: undefined;
|
|
330
|
+
const supervisorWarning = executionProven === false
|
|
331
|
+
? "resident job is loaded but launchd has never executed it"
|
|
332
|
+
: launchd?.lastExitCode !== undefined && launchd.lastExitCode !== 0
|
|
333
|
+
? `resident job last exited with code ${launchd.lastExitCode}`
|
|
334
|
+
: undefined;
|
|
335
|
+
const warning = supervisorWarning ?? runtimeWarning;
|
|
301
336
|
return {
|
|
302
337
|
...daemon,
|
|
303
338
|
loaded: isDaemonLoaded(daemon),
|
|
304
339
|
legacyLoaded: daemon.legacyLabel ? isLaunchAgentLoaded(daemon.legacyLabel) : false,
|
|
340
|
+
...(launchd?.state ? { supervisorState: launchd.state } : {}),
|
|
341
|
+
...(launchd?.runCount !== undefined ? { runCount: launchd.runCount } : {}),
|
|
342
|
+
...(launchd?.lastExitCode !== undefined ? { lastExitCode: launchd.lastExitCode } : {}),
|
|
343
|
+
...(executionProven !== undefined ? { executionProven } : {}),
|
|
305
344
|
lastLogLine: tailUsefulLine(daemon.combinedLog ?? daemon.stdoutLog) ?? tailUsefulLine(daemon.stdoutLog),
|
|
306
345
|
lastErrorLine,
|
|
307
346
|
lastActivityAt: newestMtimeIso(logs),
|
package/dist/lib/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/onboarding.js
CHANGED
|
@@ -54,6 +54,7 @@ exports.researchUser = researchUser;
|
|
|
54
54
|
exports.getOpenRouterKey = getOpenRouterKey;
|
|
55
55
|
exports.randomThinking = randomThinking;
|
|
56
56
|
exports.randomLabel = randomLabel;
|
|
57
|
+
const chat_errors_1 = require("./chat-errors");
|
|
57
58
|
const readline = __importStar(require("readline"));
|
|
58
59
|
const fs = __importStar(require("fs"));
|
|
59
60
|
const path = __importStar(require("path"));
|
|
@@ -627,7 +628,10 @@ function displayScrapeResult(label, data) {
|
|
|
627
628
|
*/
|
|
628
629
|
const STREAM_CHAT_URL = `${_SITE}/api/v1/chat/stream`;
|
|
629
630
|
async function callLLM(apiKey, messages, options) {
|
|
630
|
-
// Try the you.md proxy first (no API key needed)
|
|
631
|
+
// Try the you.md proxy first (no API key needed). If it fails, keep the
|
|
632
|
+
// classified reason so the user sees *why* (billing, key, outage) instead
|
|
633
|
+
// of a bare "Chat service unavailable".
|
|
634
|
+
let proxyError = null;
|
|
631
635
|
try {
|
|
632
636
|
const proxyRes = await fetch(CHAT_PROXY_URL, {
|
|
633
637
|
method: "POST",
|
|
@@ -643,18 +647,46 @@ async function callLLM(apiKey, messages, options) {
|
|
|
643
647
|
}),
|
|
644
648
|
signal: AbortSignal.timeout(60000),
|
|
645
649
|
});
|
|
650
|
+
const proxyBody = await proxyRes.text();
|
|
646
651
|
if (proxyRes.ok) {
|
|
647
|
-
|
|
652
|
+
let proxyData = {};
|
|
653
|
+
try {
|
|
654
|
+
proxyData = JSON.parse(proxyBody);
|
|
655
|
+
}
|
|
656
|
+
catch {
|
|
657
|
+
proxyData = {};
|
|
658
|
+
}
|
|
648
659
|
if (proxyData.content)
|
|
649
660
|
return proxyData.content;
|
|
661
|
+
proxyError = new chat_errors_1.ChatServiceError({
|
|
662
|
+
code: "empty_response",
|
|
663
|
+
httpStatus: proxyRes.status,
|
|
664
|
+
message: "the chat proxy answered with no content.",
|
|
665
|
+
});
|
|
666
|
+
}
|
|
667
|
+
else {
|
|
668
|
+
proxyError = (0, chat_errors_1.parseChatServiceError)(proxyRes.status, proxyBody);
|
|
650
669
|
}
|
|
651
670
|
}
|
|
652
|
-
catch {
|
|
653
|
-
|
|
671
|
+
catch (err) {
|
|
672
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
673
|
+
const timedOut = err instanceof Error && (err.name === "TimeoutError" || err.name === "AbortError");
|
|
674
|
+
proxyError = new chat_errors_1.ChatServiceError({
|
|
675
|
+
code: timedOut ? "proxy_timeout" : "proxy_unreachable",
|
|
676
|
+
httpStatus: 0,
|
|
677
|
+
message: timedOut
|
|
678
|
+
? `the you.md chat proxy did not answer within 60s (${CHAT_PROXY_URL}).`
|
|
679
|
+
: `could not reach the you.md chat proxy (${CHAT_PROXY_URL}): ${msg}`,
|
|
680
|
+
fix: "check your network; if you.md is up, retry in a moment",
|
|
681
|
+
});
|
|
654
682
|
}
|
|
655
683
|
// Fall back to direct OpenRouter call if user has their own key
|
|
656
684
|
if (!apiKey) {
|
|
657
|
-
throw new
|
|
685
|
+
throw proxyError ?? new chat_errors_1.ChatServiceError({
|
|
686
|
+
code: "server_error",
|
|
687
|
+
httpStatus: 0,
|
|
688
|
+
message: "Chat service unavailable",
|
|
689
|
+
});
|
|
658
690
|
}
|
|
659
691
|
const res = await fetch(OPENROUTER_URL, {
|
|
660
692
|
method: "POST",
|
|
@@ -674,7 +706,18 @@ async function callLLM(apiKey, messages, options) {
|
|
|
674
706
|
});
|
|
675
707
|
if (!res.ok) {
|
|
676
708
|
const body = await res.text();
|
|
677
|
-
|
|
709
|
+
const local = new chat_errors_1.ChatServiceError({
|
|
710
|
+
code: res.status === 402 ? "llm_billing" : res.status === 401 ? "llm_auth" : "llm_upstream_unavailable",
|
|
711
|
+
httpStatus: res.status,
|
|
712
|
+
message: `your own OpenRouter key failed too (HTTP ${res.status}): ${body.slice(0, 200)}`,
|
|
713
|
+
fix: res.status === 402
|
|
714
|
+
? "add credits at https://openrouter.ai/settings/credits"
|
|
715
|
+
: res.status === 401
|
|
716
|
+
? "rotate the key at https://openrouter.ai/settings/keys and update OPENROUTER_API_KEY"
|
|
717
|
+
: undefined,
|
|
718
|
+
providers: proxyError?.providers,
|
|
719
|
+
});
|
|
720
|
+
throw local;
|
|
678
721
|
}
|
|
679
722
|
const data = (await res.json());
|
|
680
723
|
if (!data.choices || data.choices.length === 0) {
|
|
@@ -987,7 +1030,10 @@ generate initial profile sections from what you know, show a brief summary, and
|
|
|
987
1030
|
}
|
|
988
1031
|
catch (err) {
|
|
989
1032
|
spinner.stop();
|
|
990
|
-
|
|
1033
|
+
const [headline, ...why] = (0, chat_errors_1.explainChatError)(err);
|
|
1034
|
+
console.log(chalk_1.default.red(` failed to connect to AI: ${headline}`));
|
|
1035
|
+
for (const line of why)
|
|
1036
|
+
console.log(chalk_1.default.dim(` ${line}`));
|
|
991
1037
|
console.log(chalk_1.default.dim(" falling back to manual mode."));
|
|
992
1038
|
console.log("");
|
|
993
1039
|
await runFallbackMode(rl, info);
|