claude-code-infinite 1.0.35 → 1.0.37
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/README.md +114 -10
- package/dist/body-shape.d.ts +49 -0
- package/dist/body-shape.d.ts.map +1 -0
- package/dist/body-shape.js +232 -0
- package/dist/body-shape.js.map +1 -0
- package/dist/cc-request.d.ts +15 -0
- package/dist/cc-request.d.ts.map +1 -1
- package/dist/cc-request.js +30 -0
- package/dist/cc-request.js.map +1 -1
- package/dist/claude-env.d.ts +24 -1
- package/dist/claude-env.d.ts.map +1 -1
- package/dist/claude-env.js +48 -7
- package/dist/claude-env.js.map +1 -1
- package/dist/cli-args.d.ts +1 -1
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +1 -1
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-main.js +113 -11
- package/dist/cli-main.js.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/count-tokens.d.ts +15 -2
- package/dist/count-tokens.d.ts.map +1 -1
- package/dist/count-tokens.js +13 -4
- package/dist/count-tokens.js.map +1 -1
- package/dist/desktop-command.d.ts +38 -0
- package/dist/desktop-command.d.ts.map +1 -0
- package/dist/desktop-command.js +324 -0
- package/dist/desktop-command.js.map +1 -0
- package/dist/desktop-service.d.ts +41 -0
- package/dist/desktop-service.d.ts.map +1 -0
- package/dist/desktop-service.js +449 -0
- package/dist/desktop-service.js.map +1 -0
- package/dist/desktop-setup.d.ts +94 -0
- package/dist/desktop-setup.d.ts.map +1 -0
- package/dist/desktop-setup.js +288 -0
- package/dist/desktop-setup.js.map +1 -0
- package/dist/financial-redaction.d.ts +12 -0
- package/dist/financial-redaction.d.ts.map +1 -0
- package/dist/financial-redaction.js +509 -0
- package/dist/financial-redaction.js.map +1 -0
- package/dist/hooks.d.ts +2 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +4 -0
- package/dist/hooks.js.map +1 -1
- package/dist/https-proxy-eligibility.d.ts +31 -0
- package/dist/https-proxy-eligibility.d.ts.map +1 -0
- package/dist/https-proxy-eligibility.js +204 -0
- package/dist/https-proxy-eligibility.js.map +1 -0
- package/dist/https-proxy-mode.d.ts +59 -0
- package/dist/https-proxy-mode.d.ts.map +1 -0
- package/dist/https-proxy-mode.js +255 -0
- package/dist/https-proxy-mode.js.map +1 -0
- package/dist/https-proxy-session.d.ts +64 -0
- package/dist/https-proxy-session.d.ts.map +1 -0
- package/dist/https-proxy-session.js +165 -0
- package/dist/https-proxy-session.js.map +1 -0
- package/dist/image-tokens.d.ts +6 -1
- package/dist/image-tokens.d.ts.map +1 -1
- package/dist/image-tokens.js +75 -14
- package/dist/image-tokens.js.map +1 -1
- package/dist/lane-activity.d.ts +42 -0
- package/dist/lane-activity.d.ts.map +1 -0
- package/dist/lane-activity.js +79 -0
- package/dist/lane-activity.js.map +1 -0
- package/dist/memtree-mcp.d.ts +32 -1
- package/dist/memtree-mcp.d.ts.map +1 -1
- package/dist/memtree-mcp.js +73 -7
- package/dist/memtree-mcp.js.map +1 -1
- package/dist/memtree.d.ts +10 -0
- package/dist/memtree.d.ts.map +1 -1
- package/dist/memtree.js +59 -12
- package/dist/memtree.js.map +1 -1
- package/dist/message-refs.d.ts +81 -0
- package/dist/message-refs.d.ts.map +1 -0
- package/dist/message-refs.js +378 -0
- package/dist/message-refs.js.map +1 -0
- package/dist/mitm-ca.d.ts +31 -0
- package/dist/mitm-ca.d.ts.map +1 -0
- package/dist/mitm-ca.js +236 -0
- package/dist/mitm-ca.js.map +1 -0
- package/dist/paused-session.d.ts.map +1 -1
- package/dist/paused-session.js +9 -2
- package/dist/paused-session.js.map +1 -1
- package/dist/proxy.d.ts +25 -0
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +168 -22
- package/dist/proxy.js.map +1 -1
- package/dist/refusal-reason.d.ts +3 -2
- package/dist/refusal-reason.d.ts.map +1 -1
- package/dist/refusal-reason.js +4 -3
- package/dist/refusal-reason.js.map +1 -1
- package/dist/reqlog.d.ts +13 -3
- package/dist/reqlog.d.ts.map +1 -1
- package/dist/reqlog.js +1 -1
- package/dist/reqlog.js.map +1 -1
- package/dist/request-sizing.d.ts +38 -2
- package/dist/request-sizing.d.ts.map +1 -1
- package/dist/request-sizing.js +72 -6
- package/dist/request-sizing.js.map +1 -1
- package/dist/secret-redaction.d.ts +25 -0
- package/dist/secret-redaction.d.ts.map +1 -0
- package/dist/secret-redaction.js +492 -0
- package/dist/secret-redaction.js.map +1 -0
- package/dist/statusline-auto.d.ts +15 -0
- package/dist/statusline-auto.d.ts.map +1 -0
- package/dist/statusline-auto.js +125 -0
- package/dist/statusline-auto.js.map +1 -0
- package/dist/statusline.d.ts.map +1 -1
- package/dist/statusline.js +3 -2
- package/dist/statusline.js.map +1 -1
- package/dist/utf8-bytes.d.ts +10 -0
- package/dist/utf8-bytes.d.ts.map +1 -0
- package/dist/utf8-bytes.js +107 -0
- package/dist/utf8-bytes.js.map +1 -0
- package/package.json +1 -1
package/dist/count-tokens.js
CHANGED
|
@@ -93,19 +93,28 @@ export function plausibleSample(sample) {
|
|
|
93
93
|
* Whether to count a request of `bytes` before deciding on it: with no usable
|
|
94
94
|
* sample once its estimate is a real share of the budget, and with one only
|
|
95
95
|
* after a jump of new content brings it near the budget. Small growth on a
|
|
96
|
-
* calibrated sample is estimated well and is not counted.
|
|
96
|
+
* calibrated sample is estimated well and is not counted. `images` are the
|
|
97
|
+
* body's inline images: added images jump by their visual tokens, not by their
|
|
98
|
+
* base64 read as text (a 470 KB contact sheet is ~3.5k tokens, not ~117k).
|
|
97
99
|
*/
|
|
98
|
-
export function shouldCountTokens(sample, bytes, estimateTokens, budgetTokens) {
|
|
100
|
+
export function shouldCountTokens(sample, bytes, estimateTokens, budgetTokens, images) {
|
|
99
101
|
if (!(budgetTokens > 0))
|
|
100
102
|
return false;
|
|
101
103
|
if (!plausibleSample(sample))
|
|
102
104
|
return estimateTokens >= UNCALIBRATED_COUNT_SHARE * budgetTokens;
|
|
103
105
|
if (bytes <= sample.forwardedBytes)
|
|
104
106
|
return false;
|
|
105
|
-
|
|
106
|
-
return addedTokens >= JUMP_BUDGET_SHARE * budgetTokens &&
|
|
107
|
+
return addedTokens(sample, bytes, images) >= JUMP_BUDGET_SHARE * budgetTokens &&
|
|
107
108
|
estimateTokens >= NEAR_BUDGET_SHARE * budgetTokens;
|
|
108
109
|
}
|
|
110
|
+
/** New content since `sample`: text at bytes/4, images at their visual tokens. */
|
|
111
|
+
function addedTokens(sample, bytes, images) {
|
|
112
|
+
if (!images || sample.imageBytes === undefined || sample.imageTokens === undefined) {
|
|
113
|
+
return approxTokensFromBytes(bytes - sample.forwardedBytes);
|
|
114
|
+
}
|
|
115
|
+
const text = Math.max(0, (bytes - images.imageBytes) - (sample.forwardedBytes - sample.imageBytes));
|
|
116
|
+
return approxTokensFromBytes(text) + Math.max(0, images.imageTokens - sample.imageTokens);
|
|
117
|
+
}
|
|
109
118
|
/** Shared per proxy; only hashes of account/upstream identity are stored. */
|
|
110
119
|
export class CountTokensCooldowns {
|
|
111
120
|
capacity;
|
package/dist/count-tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count-tokens.js","sourceRoot":"","sources":["../src/count-tokens.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"count-tokens.js","sourceRoot":"","sources":["../src/count-tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type DesktopMode, type DesktopState } from "./desktop-setup.js";
|
|
2
|
+
export interface DesktopCommandDeps {
|
|
3
|
+
mode: DesktopMode;
|
|
4
|
+
memtreeBaseUrl: string;
|
|
5
|
+
apiKey: () => string | undefined;
|
|
6
|
+
/** Asks for and saves a MemTree key (a terminal only); undefined when none was given. */
|
|
7
|
+
promptForKey?: () => Promise<string | undefined>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A `claude` for `claude mcp ...`: the terminal one, else the desktop app's own copy.
|
|
11
|
+
* Desktop keeps verified installs at `<version>/<checksum prefix>/claude`
|
|
12
|
+
* (`.../claude.app/Contents/MacOS/claude` on macOS); older layouts had `<version>/claude`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function claudeForConfig(root?: string): string | undefined;
|
|
15
|
+
/** Desktop's downloaded Claude Code binaries, oldest version first. */
|
|
16
|
+
export declare function desktopClaudeBinaries(root: string): string[];
|
|
17
|
+
export declare function runDesktopCommand(args: string[], deps: DesktopCommandDeps): Promise<number>;
|
|
18
|
+
/** Is the service answering on its port, with its token? */
|
|
19
|
+
export declare function serviceHealth(state: DesktopState, timeoutMs?: number): Promise<{
|
|
20
|
+
up: true;
|
|
21
|
+
sessions: number;
|
|
22
|
+
} | {
|
|
23
|
+
up: false;
|
|
24
|
+
detail: string;
|
|
25
|
+
}>;
|
|
26
|
+
/** What a stopped service means for Desktop sessions, and how to get it back. */
|
|
27
|
+
export declare function serviceDownText(mode: DesktopMode, state: DesktopState, detail: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* One line for a terminal ccc start when this mode's desktop service is set up but not
|
|
30
|
+
* answering (undefined otherwise). A loopback check, bounded at 300 ms.
|
|
31
|
+
*/
|
|
32
|
+
export declare function desktopServiceDownLine(mode: DesktopMode): Promise<string | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* The certificate lasts a year and only `setup` renews it: say so once it's within the
|
|
35
|
+
* renewal window or past it (sessions then fail TLS). undefined while it's fine.
|
|
36
|
+
*/
|
|
37
|
+
export declare function certificateExpiryText(mode: DesktopMode, state: DesktopState, now?: number): string | undefined;
|
|
38
|
+
//# sourceMappingURL=desktop-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop-command.d.ts","sourceRoot":"","sources":["../src/desktop-command.ts"],"names":[],"mappings":"AAuBA,OAAO,EAGqC,KAAK,WAAW,EAAE,KAAK,YAAY,EAC9E,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACjC,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAClD;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,SAAqF,GACxF,MAAM,GAAG,SAAS,CAIpB;AAED,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB5D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2GjG;AA2BD,4DAA4D;AAC5D,wBAAsB,aAAa,CACjC,KAAK,EAAE,YAAY,EAAE,SAAS,SAAQ,GACrC,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBzE;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW9F;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW3F;AAmBD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,SAAa,GACvD,MAAM,GAAG,SAAS,CASpB"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ccc [staging|local] desktop <command>`: MemTree for the Claude desktop app's Code tab
|
|
3
|
+
* (opt-in, macOS; plans/2026-11-10_PLAN_desktop_app.md).
|
|
4
|
+
*
|
|
5
|
+
* setup CA + leaf, token, port, Bash env file; launchd agent; MemTree MCP
|
|
6
|
+
* server in the user's Claude Code config; prints the lines to paste
|
|
7
|
+
* into the Claude desktop app's environment editor.
|
|
8
|
+
* env prints those lines again.
|
|
9
|
+
* status is the service up, how many sessions it serves.
|
|
10
|
+
* serve the service itself (what launchd runs).
|
|
11
|
+
* uninstall stops and removes all of the above (the pasted lines must be removed
|
|
12
|
+
* in Desktop by hand: until then those sessions can't reach the API).
|
|
13
|
+
*/
|
|
14
|
+
import fs from "node:fs";
|
|
15
|
+
import os from "node:os";
|
|
16
|
+
import path from "node:path";
|
|
17
|
+
import { fileURLToPath } from "node:url";
|
|
18
|
+
import { getConfigDir } from "./config.js";
|
|
19
|
+
import { claudeDesktopInstalled, locateClaude } from "./claude-locate.js";
|
|
20
|
+
import { anthropicUpstreamFromEnv } from "./cli-args.js";
|
|
21
|
+
import { sanitizedNoProxy } from "./https-proxy-session.js";
|
|
22
|
+
import { HTTPS_PROXY_MODE_ENV, httpsProxyModeDecision } from "./https-proxy-eligibility.js";
|
|
23
|
+
import { PROXY_TOKEN_HEADER } from "./memtree-mcp.js";
|
|
24
|
+
import { desktopEnvLines, desktopPaths, installLaunchAgent, readDesktopState, registerDesktopMcp, setupDesktopFiles, uninstallLaunchAgent, unregisterDesktopMcp, writeDesktopState, desktopLaunchdLabel, CA_ROTATE_BEFORE_MS, } from "./desktop-setup.js";
|
|
25
|
+
import { startDesktopService } from "./desktop-service.js";
|
|
26
|
+
const CLI_PATH = fileURLToPath(new URL("./cli.js", import.meta.url));
|
|
27
|
+
/**
|
|
28
|
+
* A `claude` for `claude mcp ...`: the terminal one, else the desktop app's own copy.
|
|
29
|
+
* Desktop keeps verified installs at `<version>/<checksum prefix>/claude`
|
|
30
|
+
* (`.../claude.app/Contents/MacOS/claude` on macOS); older layouts had `<version>/claude`.
|
|
31
|
+
*/
|
|
32
|
+
export function claudeForConfig(root = path.join(os.homedir(), "Library", "Application Support", "Claude", "claude-code")) {
|
|
33
|
+
const terminal = locateClaude();
|
|
34
|
+
if (terminal)
|
|
35
|
+
return terminal.command;
|
|
36
|
+
return desktopClaudeBinaries(root).at(-1);
|
|
37
|
+
}
|
|
38
|
+
/** Desktop's downloaded Claude Code binaries, oldest version first. */
|
|
39
|
+
export function desktopClaudeBinaries(root) {
|
|
40
|
+
const isExe = (f) => {
|
|
41
|
+
try {
|
|
42
|
+
fs.accessSync(f, fs.constants.X_OK);
|
|
43
|
+
return fs.statSync(f).isFile();
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const dirs = (d) => {
|
|
50
|
+
try {
|
|
51
|
+
return fs.readdirSync(d, { withFileTypes: true }).filter((e) => e.isDirectory()).map((e) => e.name);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const found = [];
|
|
58
|
+
for (const version of dirs(root)) {
|
|
59
|
+
const vdir = path.join(root, version);
|
|
60
|
+
const candidates = [path.join(vdir, "claude"),
|
|
61
|
+
...dirs(vdir).flatMap((sub) => [
|
|
62
|
+
path.join(vdir, sub, "claude"),
|
|
63
|
+
path.join(vdir, sub, "claude.app", "Contents", "MacOS", "claude"),
|
|
64
|
+
])];
|
|
65
|
+
const file = candidates.find(isExe);
|
|
66
|
+
if (file)
|
|
67
|
+
found.push({ version, file });
|
|
68
|
+
}
|
|
69
|
+
found.sort((a, b) => a.version.localeCompare(b.version, undefined, { numeric: true }));
|
|
70
|
+
return found.map((f) => f.file);
|
|
71
|
+
}
|
|
72
|
+
export async function runDesktopCommand(args, deps) {
|
|
73
|
+
const paths = desktopPaths(getConfigDir(), deps.mode);
|
|
74
|
+
const sub = args[0] ?? "help";
|
|
75
|
+
if (sub === "setup") {
|
|
76
|
+
const refused = await setupPreflight(deps);
|
|
77
|
+
if (refused !== undefined) {
|
|
78
|
+
console.error(`ccc desktop: ${refused}`);
|
|
79
|
+
return 1;
|
|
80
|
+
}
|
|
81
|
+
const state = await setupDesktopFiles(paths, deps.mode, {
|
|
82
|
+
rotateToken: args.includes("--rotate-token"), rotateCa: args.includes("--rotate-ca"),
|
|
83
|
+
userExtraCaPem: userExtraCaPem(process.env),
|
|
84
|
+
...(process.env.CLAUDE_CONFIG_DIR?.trim()
|
|
85
|
+
? { claudeConfigDir: process.env.CLAUDE_CONFIG_DIR.trim() } : {}),
|
|
86
|
+
userEnv: {
|
|
87
|
+
...(process.env.NODE_EXTRA_CA_CERTS ? { NODE_EXTRA_CA_CERTS: process.env.NODE_EXTRA_CA_CERTS } : {}),
|
|
88
|
+
...(process.env.CLAUDE_ENV_FILE ? { CLAUDE_ENV_FILE: process.env.CLAUDE_ENV_FILE } : {}),
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
let mcpFailure;
|
|
92
|
+
if (!args.includes("--no-mcp")) {
|
|
93
|
+
const claude = claudeForConfig();
|
|
94
|
+
const result = claude ? registerDesktopMcp(claude) : { ok: false, reason: "no `claude` found (terminal or the desktop app's copy)" };
|
|
95
|
+
if (!result.ok)
|
|
96
|
+
mcpFailure = result.reason;
|
|
97
|
+
state.mcpRegistered = result.ok;
|
|
98
|
+
writeDesktopState(paths, state);
|
|
99
|
+
}
|
|
100
|
+
// After the state is final: the service reads it at start.
|
|
101
|
+
if (!args.includes("--no-launchd")) {
|
|
102
|
+
try {
|
|
103
|
+
installLaunchAgent(deps.mode, paths, CLI_PATH);
|
|
104
|
+
}
|
|
105
|
+
catch (err) {
|
|
106
|
+
console.error(`ccc desktop: the service could not be started: ${String(err?.message ?? err)}. ` +
|
|
107
|
+
`Try again, or run \`ccc desktop serve\` in a terminal to see why.`);
|
|
108
|
+
return 1;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
if (state.caRotated) {
|
|
112
|
+
console.log("A new certificate was made: Desktop sessions started before now must be " +
|
|
113
|
+
"restarted.\n");
|
|
114
|
+
if (args.includes("--no-launchd")) {
|
|
115
|
+
console.log("Restart the service too (it still serves the old one): " +
|
|
116
|
+
`launchctl kickstart -k gui/$(id -u)/${desktopLaunchdLabel(deps.mode)}\n`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
console.log(setupText(paths, state));
|
|
120
|
+
if (mcpFailure) {
|
|
121
|
+
console.error(`\nccc desktop: the MemTree MCP server was NOT registered: ${mcpFailure}. ` +
|
|
122
|
+
"Compression works, but the memory tools will be missing.");
|
|
123
|
+
return 2;
|
|
124
|
+
}
|
|
125
|
+
return 0;
|
|
126
|
+
}
|
|
127
|
+
if (sub === "env") {
|
|
128
|
+
const state = readDesktopState(paths);
|
|
129
|
+
if (!state) {
|
|
130
|
+
console.error("ccc desktop: not set up: run `ccc desktop setup`.");
|
|
131
|
+
return 1;
|
|
132
|
+
}
|
|
133
|
+
console.log(desktopEnvLines(paths, state).join("\n"));
|
|
134
|
+
return 0;
|
|
135
|
+
}
|
|
136
|
+
if (sub === "status") {
|
|
137
|
+
const state = readDesktopState(paths);
|
|
138
|
+
if (!state) {
|
|
139
|
+
console.log("ccc desktop is not set up: run `ccc desktop setup`.");
|
|
140
|
+
return 1;
|
|
141
|
+
}
|
|
142
|
+
const health = await serviceHealth(state);
|
|
143
|
+
const expiry = certificateExpiryText(deps.mode, state);
|
|
144
|
+
console.log(health.up
|
|
145
|
+
? `service up on 127.0.0.1:${state.port}, ${health.sessions} active session(s); ` +
|
|
146
|
+
`certificate valid until ${state.notAfter}`
|
|
147
|
+
: serviceDownText(deps.mode, state, health.detail));
|
|
148
|
+
if (expiry)
|
|
149
|
+
console.log(expiry);
|
|
150
|
+
return health.up && !expiry ? 0 : 1;
|
|
151
|
+
}
|
|
152
|
+
if (sub === "serve") {
|
|
153
|
+
const state = readDesktopState(paths);
|
|
154
|
+
const apiKey = deps.apiKey();
|
|
155
|
+
if (!state || !apiKey) {
|
|
156
|
+
console.error("ccc desktop serve: not set up, or no MemTree key.");
|
|
157
|
+
return 1;
|
|
158
|
+
}
|
|
159
|
+
trimServiceLog(paths.log);
|
|
160
|
+
const service = await startDesktopService({
|
|
161
|
+
paths, state, memtreeBaseUrl: deps.memtreeBaseUrl, apiKey,
|
|
162
|
+
...(process.env.CCC_PROXY_TRACE ? { tracePath: process.env.CCC_PROXY_TRACE } : {}),
|
|
163
|
+
...upstreamOverride(process.env.CCC_ANTHROPIC_UPSTREAM),
|
|
164
|
+
});
|
|
165
|
+
// A stray rejection must not take down every routed session: log it and carry on.
|
|
166
|
+
process.on("unhandledRejection", (err) => console.error(`${new Date().toISOString()} unhandled rejection: ${String(err)}`));
|
|
167
|
+
const stop = () => { void service.close().then(() => process.exit(0)); };
|
|
168
|
+
process.on("SIGTERM", stop);
|
|
169
|
+
process.on("SIGINT", stop);
|
|
170
|
+
return await new Promise(() => { });
|
|
171
|
+
}
|
|
172
|
+
if (sub === "uninstall") {
|
|
173
|
+
uninstallLaunchAgent(deps.mode, paths);
|
|
174
|
+
fs.rmSync(paths.dir, { recursive: true, force: true });
|
|
175
|
+
const others = ["production", "staging", "local"].some((m) => m !== deps.mode && fs.existsSync(desktopPaths(getConfigDir(), m).state));
|
|
176
|
+
const claude = claudeForConfig();
|
|
177
|
+
if (claude)
|
|
178
|
+
unregisterDesktopMcp(claude, others);
|
|
179
|
+
console.log("Removed the ccc desktop service, its files and the MemTree MCP entry.\n" +
|
|
180
|
+
"In the Claude desktop app, remove the ccc lines from your environment (or switch sessions to another environment).");
|
|
181
|
+
return 0;
|
|
182
|
+
}
|
|
183
|
+
console.log("usage: ccc [staging|local] desktop setup|env|status|serve|uninstall");
|
|
184
|
+
return sub === "help" ? 0 : 1;
|
|
185
|
+
}
|
|
186
|
+
/** Why setup can't go ahead (undefined: it can); asks for a MemTree key when none is saved. */
|
|
187
|
+
async function setupPreflight(deps) {
|
|
188
|
+
if (process.platform !== "darwin")
|
|
189
|
+
return "the desktop app mode supports macOS only for now.";
|
|
190
|
+
const blocked = httpsProxyModeDecision({
|
|
191
|
+
env: { ...process.env, [HTTPS_PROXY_MODE_ENV]: "1" }, platform: process.platform,
|
|
192
|
+
claudeArgs: [], cwd: os.homedir(),
|
|
193
|
+
});
|
|
194
|
+
if (blocked.mode === "base-url" && blocked.requested) {
|
|
195
|
+
return `Desktop sessions can't be routed through ccc here: ${blocked.reason}.`;
|
|
196
|
+
}
|
|
197
|
+
// Desktop passes the login shell's NO_PROXY on: one covering api.anthropic.com would send
|
|
198
|
+
// those sessions straight to Anthropic, past MemTree, with compaction off (Codex r1 P2).
|
|
199
|
+
const noProxy = Object.keys(sanitizedNoProxy(process.env));
|
|
200
|
+
if (noProxy.length) {
|
|
201
|
+
return `your ${noProxy.join(" and ")} covers api.anthropic.com, so Desktop sessions would ` +
|
|
202
|
+
"skip ccc: remove that entry from your shell profile, then run setup again.";
|
|
203
|
+
}
|
|
204
|
+
if (!claudeDesktopInstalled()) {
|
|
205
|
+
console.log("Note: the Claude desktop app wasn't found; setting up anyway.\n");
|
|
206
|
+
}
|
|
207
|
+
if (deps.apiKey())
|
|
208
|
+
return undefined;
|
|
209
|
+
const key = process.stdin.isTTY ? await deps.promptForKey?.() : undefined;
|
|
210
|
+
return key ? undefined : "no MemTree API key saved yet: run `ccc desktop setup` in a terminal.";
|
|
211
|
+
}
|
|
212
|
+
/** Is the service answering on its port, with its token? */
|
|
213
|
+
export async function serviceHealth(state, timeoutMs = 2_000) {
|
|
214
|
+
try {
|
|
215
|
+
const r = await fetch(`http://127.0.0.1:${state.port}/ccc-desktop/status`, {
|
|
216
|
+
headers: { [PROXY_TOKEN_HEADER]: state.token }, signal: AbortSignal.timeout(timeoutMs),
|
|
217
|
+
});
|
|
218
|
+
const body = r.ok ? await r.json() : {};
|
|
219
|
+
if (body.service === "ccc-desktop" && typeof body.sessions === "number") {
|
|
220
|
+
return { up: true, sessions: body.sessions };
|
|
221
|
+
}
|
|
222
|
+
return { up: false, detail: `port ${state.port} answered ${r.status}: another program, ` +
|
|
223
|
+
"or a service with another token" };
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
const code = err?.cause?.code;
|
|
227
|
+
return { up: false, detail: code === "ECONNREFUSED" ? "nothing is listening"
|
|
228
|
+
: String(err?.name ?? err) };
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/** What a stopped service means for Desktop sessions, and how to get it back. */
|
|
232
|
+
export function serviceDownText(mode, state, detail) {
|
|
233
|
+
const label = desktopLaunchdLabel(mode);
|
|
234
|
+
const cmd = mode === "production" ? "ccc" : `ccc ${mode}`;
|
|
235
|
+
return [
|
|
236
|
+
`ccc desktop service is NOT running on 127.0.0.1:${state.port} (${detail}).`,
|
|
237
|
+
"Claude desktop app sessions started from your ccc environment can't reach Claude until it",
|
|
238
|
+
"is back: they show \"Unable to connect to API\". Other Desktop environments are unaffected.",
|
|
239
|
+
`Restart it: launchctl kickstart -k gui/$(id -u)/${label}`,
|
|
240
|
+
`See why it stopped: tail ${paths(mode).log}`,
|
|
241
|
+
`Or run \`${cmd} desktop setup\` again, or switch those sessions to another environment.`,
|
|
242
|
+
].join("\n");
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* One line for a terminal ccc start when this mode's desktop service is set up but not
|
|
246
|
+
* answering (undefined otherwise). A loopback check, bounded at 300 ms.
|
|
247
|
+
*/
|
|
248
|
+
export async function desktopServiceDownLine(mode) {
|
|
249
|
+
if (process.platform !== "darwin")
|
|
250
|
+
return undefined;
|
|
251
|
+
const state = readDesktopState(paths(mode));
|
|
252
|
+
if (!state)
|
|
253
|
+
return undefined;
|
|
254
|
+
const expiry = certificateExpiryText(mode, state);
|
|
255
|
+
if (expiry)
|
|
256
|
+
return expiry;
|
|
257
|
+
const health = await serviceHealth(state, 300);
|
|
258
|
+
if (health.up)
|
|
259
|
+
return undefined;
|
|
260
|
+
const cmd = mode === "production" ? "ccc" : `ccc ${mode}`;
|
|
261
|
+
return `ccc: the desktop app service isn't running, so Desktop sessions in your ccc ` +
|
|
262
|
+
`environment can't reach Claude: run \`${cmd} desktop status\` for how to fix it.`;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Test-only CCC_ANTHROPIC_UPSTREAM, held to the loopback as in terminal ccc: decrypted
|
|
266
|
+
* conversations and Desktop's OAuth bearer must never go anywhere else (Codex r1 P1).
|
|
267
|
+
*/
|
|
268
|
+
function upstreamOverride(raw) {
|
|
269
|
+
const { value, warning } = anthropicUpstreamFromEnv(raw);
|
|
270
|
+
if (warning)
|
|
271
|
+
console.error(warning);
|
|
272
|
+
return value ? { upstreamOrigin: value } : {};
|
|
273
|
+
}
|
|
274
|
+
/** launchd appends to service.log forever: past 10 MB, start it afresh at each service start. */
|
|
275
|
+
function trimServiceLog(log) {
|
|
276
|
+
try {
|
|
277
|
+
if (fs.statSync(log).size > 10 * 1024 * 1024)
|
|
278
|
+
fs.truncateSync(log, 0);
|
|
279
|
+
}
|
|
280
|
+
catch { /* none yet */ }
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* The certificate lasts a year and only `setup` renews it: say so once it's within the
|
|
284
|
+
* renewal window or past it (sessions then fail TLS). undefined while it's fine.
|
|
285
|
+
*/
|
|
286
|
+
export function certificateExpiryText(mode, state, now = Date.now()) {
|
|
287
|
+
const left = Date.parse(state.notAfter) - now;
|
|
288
|
+
if (!(left <= CA_ROTATE_BEFORE_MS))
|
|
289
|
+
return undefined;
|
|
290
|
+
const cmd = mode === "production" ? "ccc" : `ccc ${mode}`;
|
|
291
|
+
return left <= 0
|
|
292
|
+
? `ccc desktop's certificate expired on ${state.notAfter}: Desktop sessions in your ccc ` +
|
|
293
|
+
`environment fail to connect. Run \`${cmd} desktop setup\`, then restart those sessions.`
|
|
294
|
+
: `ccc desktop's certificate expires on ${state.notAfter}: run \`${cmd} desktop setup\` ` +
|
|
295
|
+
"to renew it (then restart open Desktop sessions).";
|
|
296
|
+
}
|
|
297
|
+
function paths(mode) {
|
|
298
|
+
return desktopPaths(getConfigDir(), mode);
|
|
299
|
+
}
|
|
300
|
+
/** The user's NODE_EXTRA_CA_CERTS file (corporate CAs), kept in the pasted bundle. */
|
|
301
|
+
function userExtraCaPem(env) {
|
|
302
|
+
if (!env.NODE_EXTRA_CA_CERTS)
|
|
303
|
+
return "";
|
|
304
|
+
try {
|
|
305
|
+
return fs.readFileSync(env.NODE_EXTRA_CA_CERTS, "utf8");
|
|
306
|
+
}
|
|
307
|
+
catch {
|
|
308
|
+
return "";
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
function setupText(paths, state) {
|
|
312
|
+
return [
|
|
313
|
+
`ccc desktop service (${state.mode}) is running on 127.0.0.1:${state.port}.`,
|
|
314
|
+
"",
|
|
315
|
+
"In the Claude desktop app: Code tab > environment menu > add or edit a local environment,",
|
|
316
|
+
"and paste these lines into its Environment variables box:",
|
|
317
|
+
"",
|
|
318
|
+
...desktopEnvLines(paths, state).map((l) => ` ${l}`),
|
|
319
|
+
"",
|
|
320
|
+
"New sessions started from that environment get MemTree; others are unchanged.",
|
|
321
|
+
"Print the lines again with `ccc desktop env`; undo everything with `ccc desktop uninstall`.",
|
|
322
|
+
].join("\n");
|
|
323
|
+
}
|
|
324
|
+
//# sourceMappingURL=desktop-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop-command.js","sourceRoot":"","sources":["../src/desktop-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type ProxyOptions } from "./proxy.js";
|
|
2
|
+
import type { DesktopPaths, DesktopState } from "./desktop-setup.js";
|
|
3
|
+
export interface DesktopServiceOptions {
|
|
4
|
+
paths: DesktopPaths;
|
|
5
|
+
state: DesktopState;
|
|
6
|
+
memtreeBaseUrl: string;
|
|
7
|
+
apiKey: string;
|
|
8
|
+
/** Test-only: a loopback mock in place of api.anthropic.com. */
|
|
9
|
+
upstreamOrigin?: ProxyOptions["upstreamOrigin"];
|
|
10
|
+
tracePath?: string;
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
log?: (line: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export interface RunningDesktopService {
|
|
15
|
+
port: number;
|
|
16
|
+
sessions: () => string[];
|
|
17
|
+
/** Close sessions idle for longer than `idleMs` (the sweep's job; exposed for tests). */
|
|
18
|
+
closeIdle: (idleMs?: number) => Promise<void>;
|
|
19
|
+
close: () => Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The session's directory, from Claude Code's environment block ("Primary working
|
|
23
|
+
* directory: ..."): in the top-level `system` text, or (Claude Code 2.1.322) in a
|
|
24
|
+
* `role: "system"` entry of `messages`. Never user or assistant text.
|
|
25
|
+
*/
|
|
26
|
+
export declare function workingDirectoryFromBody(body: string): string | undefined;
|
|
27
|
+
export declare function startDesktopService(opts: DesktopServiceOptions): Promise<RunningDesktopService>;
|
|
28
|
+
/**
|
|
29
|
+
* Whether a /v1/messages body offers the memtree tools: true / false when it has a
|
|
30
|
+
* `tools` list with or without them, undefined when it has none (a side call: no change).
|
|
31
|
+
*/
|
|
32
|
+
export declare function toolsOffered(body: string): boolean | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Why a Desktop session in `cwd` must not run through ccc: its project's (or the user's,
|
|
35
|
+
* re-read now) Claude Code settings turn on the Bash sandbox, whose proxy would forward
|
|
36
|
+
* through this service with the token and lose its private-address check, or set a proxy,
|
|
37
|
+
* NO_PROXY, CA or env file that breaks the routing (Codex r1 P1). Setup checks only what
|
|
38
|
+
* it can see; each project is checked here, on its session's first model call.
|
|
39
|
+
*/
|
|
40
|
+
export declare function projectRefusal(cwd: string, claudeConfigDir?: string): string | undefined;
|
|
41
|
+
//# sourceMappingURL=desktop-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop-service.d.ts","sourceRoot":"","sources":["../src/desktop-service.ts"],"names":[],"mappings":"AAmCA,OAAO,EACqD,KAAK,YAAY,EAC5E,MAAM,YAAY,CAAC;AASpB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQrE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,cAAc,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,MAAM,EAAE,CAAC;IACzB,yFAAyF;IACzF,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAmBD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoBzE;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0PrG;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAS9D;AAwED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYxF"}
|