claude-code-infinite 1.0.22 → 1.0.25
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 +58 -23
- package/dist/cli-args.d.ts +15 -0
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +17 -0
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-main.js +56 -33
- package/dist/cli-main.js.map +1 -1
- package/dist/cli-output.d.ts +15 -0
- package/dist/cli-output.d.ts.map +1 -0
- package/dist/cli-output.js +26 -0
- package/dist/cli-output.js.map +1 -0
- package/dist/hooks.d.ts +6 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +12 -0
- package/dist/hooks.js.map +1 -1
- package/dist/link-command.d.ts +50 -0
- package/dist/link-command.d.ts.map +1 -0
- package/dist/link-command.js +168 -0
- package/dist/link-command.js.map +1 -0
- package/dist/memtree-mcp-config.d.ts +28 -5
- package/dist/memtree-mcp-config.d.ts.map +1 -1
- package/dist/memtree-mcp-config.js +116 -47
- package/dist/memtree-mcp-config.js.map +1 -1
- package/dist/memtree-mcp.js +1 -1
- package/dist/memtree-newest.d.ts +1 -0
- package/dist/memtree-newest.d.ts.map +1 -1
- package/dist/memtree-newest.js +1 -1
- package/dist/memtree-newest.js.map +1 -1
- package/dist/memtree.d.ts +9 -0
- package/dist/memtree.d.ts.map +1 -1
- package/dist/memtree.js +18 -0
- package/dist/memtree.js.map +1 -1
- package/dist/payment-notice.d.ts +19 -1
- package/dist/payment-notice.d.ts.map +1 -1
- package/dist/payment-notice.js +25 -2
- package/dist/payment-notice.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +134 -10
- package/dist/proxy.js.map +1 -1
- package/dist/reqlog.d.ts +2 -0
- package/dist/reqlog.d.ts.map +1 -1
- package/dist/reqlog.js.map +1 -1
- package/dist/route-fallback.d.ts +6 -0
- package/dist/route-fallback.d.ts.map +1 -1
- package/dist/route-fallback.js +9 -0
- package/dist/route-fallback.js.map +1 -1
- package/package.json +1 -1
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** The whole lookup, every page included, gives up after this long. */
|
|
2
|
+
export declare const LINK_TIMEOUT_MS = 5000;
|
|
3
|
+
export declare const LINK_EXIT: {
|
|
4
|
+
readonly ok: 0;
|
|
5
|
+
readonly error: 1;
|
|
6
|
+
readonly usage: 2;
|
|
7
|
+
readonly noTree: 3;
|
|
8
|
+
};
|
|
9
|
+
export declare const LINK_USAGE: string;
|
|
10
|
+
export interface LinkDeps {
|
|
11
|
+
fetch: typeof fetch;
|
|
12
|
+
baseUrl: string;
|
|
13
|
+
/** The saved MemTree key for this environment, if any. */
|
|
14
|
+
apiKey: string | undefined;
|
|
15
|
+
/** `ccc` / `ccc staging` / `ccc local`, for the no-key hint. */
|
|
16
|
+
command: string;
|
|
17
|
+
stdout: (text: string) => void;
|
|
18
|
+
stderr: (text: string) => void;
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface SessionLink {
|
|
22
|
+
session_id: string;
|
|
23
|
+
url: string;
|
|
24
|
+
tree: string;
|
|
25
|
+
/** The session's last activity (the listing has no tree time; the tree may trail it). */
|
|
26
|
+
updated_at: string | null;
|
|
27
|
+
}
|
|
28
|
+
type Lookup = {
|
|
29
|
+
kind: "found";
|
|
30
|
+
link: SessionLink;
|
|
31
|
+
} | {
|
|
32
|
+
kind: "none";
|
|
33
|
+
reason: "no-session" | "no-tree";
|
|
34
|
+
} | {
|
|
35
|
+
kind: "error";
|
|
36
|
+
message: string;
|
|
37
|
+
};
|
|
38
|
+
/** Exit codes: LINK_EXIT. */
|
|
39
|
+
export declare function runLinkCommand(argv: readonly string[], deps: LinkDeps): Promise<number>;
|
|
40
|
+
/** `<session-id> [--json]`, in either order; anything else is a usage error. */
|
|
41
|
+
export declare function parseLinkArgs(argv: readonly string[]): {
|
|
42
|
+
sessionId: string;
|
|
43
|
+
json: boolean;
|
|
44
|
+
} | {
|
|
45
|
+
error: string;
|
|
46
|
+
};
|
|
47
|
+
/** Pages through the owner's sessions matching the id, under one deadline. */
|
|
48
|
+
export declare function findSessionLink(sessionId: string, deps: Pick<LinkDeps, "fetch" | "baseUrl" | "apiKey" | "timeoutMs">): Promise<Lookup>;
|
|
49
|
+
export {};
|
|
50
|
+
//# sourceMappingURL=link-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-command.d.ts","sourceRoot":"","sources":["../src/link-command.ts"],"names":[],"mappings":"AAkBA,uEAAuE;AACvE,eAAO,MAAM,eAAe,OAAQ,CAAC;AACrC,eAAO,MAAM,SAAS;;;;;CAAoD,CAAC;AAM3E,eAAO,MAAM,UAAU,QAIkC,CAAC;AAE1D,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,yFAAyF;IACzF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,KAAK,MAAM,GACP;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,6BAA6B;AAC7B,wBAAsB,cAAc,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB7F;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAO1D;AAED,8EAA8E;AAC9E,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC,GACjE,OAAO,CAAC,MAAM,CAAC,CAUjB"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `ccc link <session-id>`: print the newest MemTree page of one of the
|
|
3
|
+
* user's Claude Code sessions, for scripts and agents (docs/headless.md).
|
|
4
|
+
*
|
|
5
|
+
* Asks the server's owner-only `GET /v1/memtree/sessions` (what the `list`
|
|
6
|
+
* MCP tool relays) with the saved key, so only the caller's own sessions can
|
|
7
|
+
* answer. `q` also matches titles and snippets that quote the id, so only an
|
|
8
|
+
* item whose `session_id` is exactly this session counts, and cursors are
|
|
9
|
+
* followed (bounded) when other sessions quote it. The printed URL is the
|
|
10
|
+
* server's own `latest_tree.links.url`: shortening a pinned reference can
|
|
11
|
+
* select another tree (memtree-newest.ts).
|
|
12
|
+
*
|
|
13
|
+
* stdout carries the URL (or `--json`) and nothing else; everything else
|
|
14
|
+
* goes to stderr.
|
|
15
|
+
*/
|
|
16
|
+
import { CLIENT_NAME, CLIENT_VERSION } from "./memtree.js";
|
|
17
|
+
import { SESSION_ID, validatedTreeUrl } from "./memtree-newest.js";
|
|
18
|
+
/** The whole lookup, every page included, gives up after this long. */
|
|
19
|
+
export const LINK_TIMEOUT_MS = 5_000;
|
|
20
|
+
export const LINK_EXIT = { ok: 0, error: 1, usage: 2, noTree: 3 };
|
|
21
|
+
/** The server's maximum page, so a busy match rarely needs a second request. */
|
|
22
|
+
const SESSIONS_LIMIT = 100;
|
|
23
|
+
const MAX_PAGES = 10;
|
|
24
|
+
const ERROR_PREVIEW_CHARS = 300;
|
|
25
|
+
export const LINK_USAGE = "usage: ccc [staging|local] link <session-id> [--json]\n" +
|
|
26
|
+
" Prints the session's newest MemTree page URL.\n" +
|
|
27
|
+
" Exit 0 printed, 1 no saved key or the server could not be reached,\n" +
|
|
28
|
+
" 2 bad invocation, 3 the session has no MemTree yet.";
|
|
29
|
+
/** Exit codes: LINK_EXIT. */
|
|
30
|
+
export async function runLinkCommand(argv, deps) {
|
|
31
|
+
const parsed = parseLinkArgs(argv);
|
|
32
|
+
if ("error" in parsed) {
|
|
33
|
+
deps.stderr(`${parsed.error ? `ccc link: ${parsed.error}\n` : ""}${LINK_USAGE}\n`);
|
|
34
|
+
return LINK_EXIT.usage;
|
|
35
|
+
}
|
|
36
|
+
if (!deps.apiKey) {
|
|
37
|
+
deps.stderr(`ccc link: no MemTree key saved. Run \`${deps.command}\` once to save one.\n`);
|
|
38
|
+
return LINK_EXIT.error;
|
|
39
|
+
}
|
|
40
|
+
const result = await findSessionLink(parsed.sessionId, deps);
|
|
41
|
+
if (result.kind === "error") {
|
|
42
|
+
deps.stderr(`ccc link: ${result.message}\n`);
|
|
43
|
+
return LINK_EXIT.error;
|
|
44
|
+
}
|
|
45
|
+
if (result.kind === "none") {
|
|
46
|
+
deps.stderr(`ccc link: ${noneMessage(parsed.sessionId, result.reason)}\n`);
|
|
47
|
+
return LINK_EXIT.noTree;
|
|
48
|
+
}
|
|
49
|
+
deps.stdout(`${parsed.json ? JSON.stringify(result.link) : result.link.url}\n`);
|
|
50
|
+
return LINK_EXIT.ok;
|
|
51
|
+
}
|
|
52
|
+
/** `<session-id> [--json]`, in either order; anything else is a usage error. */
|
|
53
|
+
export function parseLinkArgs(argv) {
|
|
54
|
+
const json = argv.includes("--json");
|
|
55
|
+
const rest = argv.filter((arg) => arg !== "--json");
|
|
56
|
+
if (rest.length === 0 || rest.includes("--help") || rest.includes("-h"))
|
|
57
|
+
return { error: "" };
|
|
58
|
+
if (rest.length > 1)
|
|
59
|
+
return { error: `unexpected arguments: ${rest.slice(1).join(" ")}` };
|
|
60
|
+
if (!SESSION_ID.test(rest[0]))
|
|
61
|
+
return { error: `not a session id: ${rest[0]}` };
|
|
62
|
+
return { sessionId: rest[0], json };
|
|
63
|
+
}
|
|
64
|
+
/** Pages through the owner's sessions matching the id, under one deadline. */
|
|
65
|
+
export async function findSessionLink(sessionId, deps) {
|
|
66
|
+
// A referenced timer, not AbortSignal.timeout (unreferenced): the deadline
|
|
67
|
+
// must fire even when nothing else keeps the event loop alive.
|
|
68
|
+
const controller = new AbortController();
|
|
69
|
+
const timer = setTimeout(() => controller.abort(), deps.timeoutMs ?? LINK_TIMEOUT_MS);
|
|
70
|
+
try {
|
|
71
|
+
return await lookupPages(sessionId, deps, controller.signal);
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
clearTimeout(timer);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async function lookupPages(sessionId, deps, signal) {
|
|
78
|
+
const query = new URLSearchParams({ q: sessionId, limit: String(SESSIONS_LIMIT) });
|
|
79
|
+
const seen = new Set();
|
|
80
|
+
try {
|
|
81
|
+
for (let page = 0; page < MAX_PAGES; page++) {
|
|
82
|
+
const body = await fetchSessionsPage(deps, query, signal);
|
|
83
|
+
if (typeof body === "string")
|
|
84
|
+
return { kind: "error", message: body };
|
|
85
|
+
const item = body.sessions.find((s) => sameSession(s?.session_id, sessionId));
|
|
86
|
+
if (item)
|
|
87
|
+
return linkFromItem(item);
|
|
88
|
+
const cursor = body.next_cursor;
|
|
89
|
+
if (cursor === null || cursor === undefined || cursor === "") {
|
|
90
|
+
return { kind: "none", reason: "no-session" };
|
|
91
|
+
}
|
|
92
|
+
if (typeof cursor !== "string" || seen.has(cursor)) {
|
|
93
|
+
return { kind: "error", message: "unexpected sessions listing from the server" };
|
|
94
|
+
}
|
|
95
|
+
seen.add(cursor);
|
|
96
|
+
query.set("cursor", cursor);
|
|
97
|
+
}
|
|
98
|
+
return { kind: "error", message: "too many sessions match that id" };
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
return { kind: "error", message: networkMessage(err, signal) };
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** One page of the listing, or an error message for a refusal or a bad body. */
|
|
105
|
+
async function fetchSessionsPage(deps, query, signal) {
|
|
106
|
+
const base = deps.baseUrl.replace(/\/$/, "");
|
|
107
|
+
const res = await deps.fetch(`${base}/v1/memtree/sessions?${query}`, {
|
|
108
|
+
signal,
|
|
109
|
+
redirect: "error", // the bearer header never follows a redirect
|
|
110
|
+
headers: {
|
|
111
|
+
authorization: `Bearer ${deps.apiKey}`,
|
|
112
|
+
accept: "application/json",
|
|
113
|
+
"x-client": CLIENT_NAME,
|
|
114
|
+
"x-client-version": CLIENT_VERSION,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
const text = await res.text();
|
|
118
|
+
if (!res.ok)
|
|
119
|
+
return `HTTP ${res.status} from the MemTree server: ${preview(text)}`;
|
|
120
|
+
try {
|
|
121
|
+
const body = JSON.parse(text);
|
|
122
|
+
if (Array.isArray(body?.sessions))
|
|
123
|
+
return body;
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// Falls through to the message below.
|
|
127
|
+
}
|
|
128
|
+
return "unexpected sessions listing from the server";
|
|
129
|
+
}
|
|
130
|
+
function linkFromItem(item) {
|
|
131
|
+
const tree = item.latest_tree;
|
|
132
|
+
if (!tree)
|
|
133
|
+
return { kind: "none", reason: "no-tree" };
|
|
134
|
+
const raw = typeof tree.links?.url === "string" ? tree.links.url : undefined;
|
|
135
|
+
const url = raw ? validatedTreeUrl(raw) : undefined;
|
|
136
|
+
if (!url)
|
|
137
|
+
return { kind: "error", message: "the server sent no usable tree URL" };
|
|
138
|
+
const ref = typeof tree.ref === "string" && tree.ref ? tree.ref : tree.request_id;
|
|
139
|
+
return {
|
|
140
|
+
kind: "found",
|
|
141
|
+
link: {
|
|
142
|
+
session_id: String(item.session_id),
|
|
143
|
+
url,
|
|
144
|
+
tree: typeof ref === "string" ? ref : "",
|
|
145
|
+
updated_at: typeof item.last_at === "string" ? item.last_at : null,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/** Session ids are matched as the server's `q` does: ignoring case. */
|
|
150
|
+
function sameSession(candidate, sessionId) {
|
|
151
|
+
return typeof candidate === "string" && candidate.toLowerCase() === sessionId.toLowerCase();
|
|
152
|
+
}
|
|
153
|
+
function noneMessage(sessionId, reason) {
|
|
154
|
+
return reason === "no-tree"
|
|
155
|
+
? `session ${sessionId} has no MemTree yet`
|
|
156
|
+
: `no session ${sessionId} on this key yet (check the id; a new session appears ` +
|
|
157
|
+
"once its first request reaches MemTree)";
|
|
158
|
+
}
|
|
159
|
+
function networkMessage(err, signal) {
|
|
160
|
+
if (signal.aborted)
|
|
161
|
+
return "the MemTree server did not answer in time";
|
|
162
|
+
const detail = err instanceof Error ? err.message : String(err);
|
|
163
|
+
return `could not reach the MemTree server (${detail})`;
|
|
164
|
+
}
|
|
165
|
+
function preview(text) {
|
|
166
|
+
return text.replace(/\s+/g, " ").trim().slice(0, ERROR_PREVIEW_CHARS);
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=link-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-command.js","sourceRoot":"","sources":["../src/link-command.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,uEAAuE;AACvE,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAW,CAAC;AAC3E,gFAAgF;AAChF,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,CAAC,MAAM,UAAU,GACrB,yDAAyD;IACzD,mDAAmD;IACnD,wEAAwE;IACxE,uDAAuD,CAAC;AA2B1D,6BAA6B;AAC7B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAuB,EAAE,IAAc;IAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,IAAI,CAAC,CAAC;QACnF,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,CAAC,yCAAyC,IAAI,CAAC,OAAO,wBAAwB,CAAC,CAAC;QAC3F,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAC7C,OAAO,SAAS,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAChF,OAAO,SAAS,CAAC,EAAE,CAAC;AACtB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAC3B,IAAuB;IAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC9F,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,yBAAyB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC1F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChF,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,IAAkE;IAElE,2EAA2E;IAC3E,+DAA+D;IAC/D,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,OAAO,MAAM,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,SAAiB,EACjB,IAAoD,EACpD,MAAmB;IAEnB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,IAAI,CAAC;QACH,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YAC9E,IAAI,IAAI;gBAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAChC,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;YAChD,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;YACnF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;IACjE,CAAC;AACH,CAAC;AAOD,gFAAgF;AAChF,KAAK,UAAU,iBAAiB,CAC9B,IAAoD,EACpD,KAAsB,EACtB,MAAmB;IAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,wBAAwB,KAAK,EAAE,EAAE;QACnE,MAAM;QACN,QAAQ,EAAE,OAAO,EAAE,6CAA6C;QAChE,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;YACtC,MAAM,EAAE,kBAAkB;YAC1B,UAAU,EAAE,WAAW;YACvB,kBAAkB,EAAE,cAAc;SACnC;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,QAAQ,GAAG,CAAC,MAAM,6BAA6B,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IACnF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;YAAE,OAAO,IAAoB,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IACD,OAAO,6CAA6C,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,IAAmD;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,WAGL,CAAC;IACd,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACtD,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;IAClF,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAClF,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE;YACJ,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,GAAG;YACH,IAAI,EAAE,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxC,UAAU,EAAE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;SACnE;KACF,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,SAAS,WAAW,CAAC,SAAkB,EAAE,SAAiB;IACxD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;AAC9F,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,MAAgC;IACtE,OAAO,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,WAAW,SAAS,qBAAqB;QAC3C,CAAC,CAAC,cAAc,SAAS,wDAAwD;YAC7E,yCAAyC,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,GAAY,EAAE,MAAmB;IACvD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,2CAA2C,CAAC;IACvE,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChE,OAAO,uCAAuC,MAAM,GAAG,CAAC;AAC1D,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACxE,CAAC"}
|
|
@@ -11,8 +11,26 @@ export interface MemtreeMcpConfigFile {
|
|
|
11
11
|
close(): void;
|
|
12
12
|
}
|
|
13
13
|
export declare function writeMemtreeMcpConfig(proxyUrl: string, tempRoot?: string): MemtreeMcpConfigFile;
|
|
14
|
+
export interface MemtreeMcpPlan {
|
|
15
|
+
/** ccc registers its own server (`--mcp-config` + `--allowedTools`). */
|
|
16
|
+
register: boolean;
|
|
17
|
+
/** The tools the session will have (bare names): the `x-memtree-tools`
|
|
18
|
+
* value, and what ccc pre-allows when it registers. Empty: no header. */
|
|
19
|
+
tools: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether ccc adds its `memtree` server to this Claude argv, and which tools
|
|
23
|
+
* the session then has. The same for interactive and print/non-TTY runs.
|
|
24
|
+
*/
|
|
25
|
+
export declare function planMemtreeMcp(args: readonly string[], env: NodeJS.ProcessEnv, cwd?: string): MemtreeMcpPlan;
|
|
14
26
|
/** Prepend the options; `=` forms so no variadic option swallows user argv. */
|
|
15
|
-
export declare function withMemtreeMcpArgs(args: readonly string[], configPath: string): string[];
|
|
27
|
+
export declare function withMemtreeMcpArgs(args: readonly string[], configPath: string, tools?: readonly string[]): string[];
|
|
28
|
+
/**
|
|
29
|
+
* The memtree tools (bare names) that `--disallowedTools` /
|
|
30
|
+
* `--disallowed-tools` rules in Claude's argv name: the tool itself, the
|
|
31
|
+
* whole server (`mcp__memtree`), or a `*` pattern such as `mcp__memtree__*`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function disallowedMemtreeTools(args: readonly string[]): string[];
|
|
16
34
|
/**
|
|
17
35
|
* The `--mcp-config` values in Claude's argv (before `--`): each is a file
|
|
18
36
|
* path or an inline JSON string. Handles `--mcp-config a b` (variadic, up to
|
|
@@ -20,9 +38,14 @@ export declare function withMemtreeMcpArgs(args: readonly string[], configPath:
|
|
|
20
38
|
*/
|
|
21
39
|
export declare function mcpConfigArgs(args: readonly string[]): string[];
|
|
22
40
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
41
|
+
* The server named `memtree` in the argv's `--mcp-config` values, judged by
|
|
42
|
+
* the last value that defines one (Claude Code keeps the last definition of
|
|
43
|
+
* a name): "ccc" when it runs `memtree-mcp` (`ccc memtree-mcp`, `ccc staging
|
|
44
|
+
* memtree-mcp`, or dist/memtree-mcp.js), "other" for someone else's, and
|
|
45
|
+
* "unknown" when a value ccc cannot read or parse comes after it (it may
|
|
46
|
+
* define one), "none" otherwise. Only `--mcp-config` can override ccc's
|
|
47
|
+
* server: it beats a project `.mcp.json` server of the same name (checked on
|
|
48
|
+
* Claude Code 2.1.302), and plugin servers get `plugin_…` names.
|
|
26
49
|
*/
|
|
27
|
-
export declare function
|
|
50
|
+
export declare function memtreeServerInArgs(args: readonly string[], cwd?: string): "ccc" | "other" | "unknown" | "none";
|
|
28
51
|
//# sourceMappingURL=memtree-mcp-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memtree-mcp-config.d.ts","sourceRoot":"","sources":["../src/memtree-mcp-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memtree-mcp-config.d.ts","sourceRoot":"","sources":["../src/memtree-mcp-config.ts"],"names":[],"mappings":"AA4CA,+BAA+B;AAC/B,eAAO,MAAM,0BAA0B,QAA+B,CAAC;AACvE,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,UAA0C,CAAC;AAC7E,eAAO,MAAM,kBAAkB,QAA8D,CAAC;AAE9F,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAEtE;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAazD;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAoB,GAC7B,oBAAoB,CAatB;AAED,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB;6EACyE;IACzE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,GAAG,GAAE,MAAsB,GAC1B,cAAc,CAShB;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,SAAS,MAAM,EAAuB,GAC5C,MAAM,EAAE,CAMV;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAOxE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,GAAE,MAAsB,GAC1B,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAQtC"}
|
|
@@ -5,23 +5,31 @@
|
|
|
5
5
|
* the tools to the memory it returns, so it must never be sent when the tools
|
|
6
6
|
* are absent.
|
|
7
7
|
*
|
|
8
|
-
* -
|
|
9
|
-
* and passes `--mcp-config=<file>`.
|
|
10
|
-
* `.mcp.json`, whose tools Claude Code
|
|
11
|
-
* the tool names `mcp__memtree__*` and
|
|
12
|
-
* `--strict-mcp-config`. The `=` form matters:
|
|
13
|
-
* and a following positional prompt would
|
|
14
|
-
* The tools are read-only views of the
|
|
15
|
-
* pre-allowed with `--allowedTools=` as
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
8
|
+
* - Every ccc session, interactive or print (`-p`) / non-TTY: ccc writes a
|
|
9
|
+
* one-server config to a temp dir and passes `--mcp-config=<file>`.
|
|
10
|
+
* `--mcp-config` (unlike a plugin's `.mcp.json`, whose tools Claude Code
|
|
11
|
+
* would name `mcp__plugin_ccc_…`) keeps the tool names `mcp__memtree__*` and
|
|
12
|
+
* still loads under a user's `--strict-mcp-config`. The `=` form matters:
|
|
13
|
+
* `--mcp-config` is variadic, and a following positional prompt would
|
|
14
|
+
* otherwise be read as a config. The tools are read-only views of the
|
|
15
|
+
* user's own sessions, so they are pre-allowed with `--allowedTools=` as
|
|
16
|
+
* well: Claude Code adds repeated `--allowedTools` lists together, so a
|
|
17
|
+
* caller's own list is kept and only these tools are added. The server sets
|
|
18
|
+
* Claude Code's `alwaysLoad: true`, so its tools are in the prompt from the
|
|
19
|
+
* first turn (and after --resume) instead of deferred behind tool search;
|
|
20
|
+
* this applies to this server only, not the user's other MCP servers.
|
|
21
|
+
* Claude Code also waits (up to its 5s connect timeout) for the server
|
|
22
|
+
* before that turn; it is a local Node process, so that is milliseconds.
|
|
23
|
+
* The server writes only to its own stdio pipe, so `-p` output (text, json,
|
|
24
|
+
* stream-json) is unchanged apart from what the model does with the tools.
|
|
25
|
+
* - The caller's choices win (planMemtreeMcp): `CCC_MEMTREE_MCP=0` turns it
|
|
26
|
+
* off; a caller's own `--mcp-config` server named `memtree` (or a config
|
|
27
|
+
* ccc cannot read, which might define one) is kept and ccc adds and
|
|
28
|
+
* pre-allows nothing (if it runs `ccc memtree-mcp` the header is still
|
|
29
|
+
* sent); tools named by `--disallowedTools` (a tool, `mcp__memtree`,
|
|
30
|
+
* or a `*` pattern) are neither pre-allowed nor named in the header, and
|
|
31
|
+
* with all four disallowed ccc registers nothing. Claude Code applies a
|
|
32
|
+
* deny over an allow in any case.
|
|
25
33
|
*/
|
|
26
34
|
import fs from "node:fs";
|
|
27
35
|
import os from "node:os";
|
|
@@ -32,7 +40,7 @@ import { CLIENT_VERSION } from "./memtree.js";
|
|
|
32
40
|
/** `x-memtree-tools` value. */
|
|
33
41
|
export const MEMTREE_TOOLS_HEADER_VALUE = MEMTREE_TOOL_NAMES.join(",");
|
|
34
42
|
/** Claude Code's names for the tools, for `--allowedTools`. */
|
|
35
|
-
export const MEMTREE_ALLOWED_TOOLS = MEMTREE_TOOL_NAMES.map(
|
|
43
|
+
export const MEMTREE_ALLOWED_TOOLS = MEMTREE_TOOL_NAMES.map(memtreeToolName);
|
|
36
44
|
export const MEMTREE_MCP_SCRIPT = fileURLToPath(new URL("./memtree-mcp.js", import.meta.url));
|
|
37
45
|
export function memtreeMcpEnabledByEnv(env) {
|
|
38
46
|
return env.CCC_MEMTREE_MCP !== "0";
|
|
@@ -67,30 +75,81 @@ export function writeMemtreeMcpConfig(proxyUrl, tempRoot = os.tmpdir()) {
|
|
|
67
75
|
},
|
|
68
76
|
};
|
|
69
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Whether ccc adds its `memtree` server to this Claude argv, and which tools
|
|
80
|
+
* the session then has. The same for interactive and print/non-TTY runs.
|
|
81
|
+
*/
|
|
82
|
+
export function planMemtreeMcp(args, env, cwd = process.cwd()) {
|
|
83
|
+
const disallowed = new Set(disallowedMemtreeTools(args));
|
|
84
|
+
const tools = MEMTREE_TOOL_NAMES.filter((tool) => !disallowed.has(tool));
|
|
85
|
+
const callerServer = memtreeServerInArgs(args, cwd);
|
|
86
|
+
if (callerServer === "ccc")
|
|
87
|
+
return { register: false, tools };
|
|
88
|
+
if (callerServer !== "none" || !memtreeMcpEnabledByEnv(env) || tools.length === 0) {
|
|
89
|
+
return { register: false, tools: [] };
|
|
90
|
+
}
|
|
91
|
+
return { register: true, tools };
|
|
92
|
+
}
|
|
70
93
|
/** Prepend the options; `=` forms so no variadic option swallows user argv. */
|
|
71
|
-
export function withMemtreeMcpArgs(args, configPath) {
|
|
94
|
+
export function withMemtreeMcpArgs(args, configPath, tools = MEMTREE_TOOL_NAMES) {
|
|
72
95
|
return [
|
|
73
96
|
`--mcp-config=${configPath}`,
|
|
74
|
-
`--allowedTools=${
|
|
97
|
+
`--allowedTools=${tools.map(memtreeToolName).join(",")}`,
|
|
75
98
|
...args,
|
|
76
99
|
];
|
|
77
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* The memtree tools (bare names) that `--disallowedTools` /
|
|
103
|
+
* `--disallowed-tools` rules in Claude's argv name: the tool itself, the
|
|
104
|
+
* whole server (`mcp__memtree`), or a `*` pattern such as `mcp__memtree__*`.
|
|
105
|
+
*/
|
|
106
|
+
export function disallowedMemtreeTools(args) {
|
|
107
|
+
const rules = optionValues(args, ["--disallowedTools", "--disallowed-tools"])
|
|
108
|
+
.flatMap((value) => value.split(/[\s,]+/))
|
|
109
|
+
.filter(Boolean);
|
|
110
|
+
return MEMTREE_TOOL_NAMES.filter((tool) => rules.some((rule) => ruleMatchesMemtreeTool(rule, tool)));
|
|
111
|
+
}
|
|
78
112
|
/**
|
|
79
113
|
* The `--mcp-config` values in Claude's argv (before `--`): each is a file
|
|
80
114
|
* path or an inline JSON string. Handles `--mcp-config a b` (variadic, up to
|
|
81
115
|
* the next option) and `--mcp-config=a`.
|
|
82
116
|
*/
|
|
83
117
|
export function mcpConfigArgs(args) {
|
|
118
|
+
return optionValues(args, ["--mcp-config"]);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* The server named `memtree` in the argv's `--mcp-config` values, judged by
|
|
122
|
+
* the last value that defines one (Claude Code keeps the last definition of
|
|
123
|
+
* a name): "ccc" when it runs `memtree-mcp` (`ccc memtree-mcp`, `ccc staging
|
|
124
|
+
* memtree-mcp`, or dist/memtree-mcp.js), "other" for someone else's, and
|
|
125
|
+
* "unknown" when a value ccc cannot read or parse comes after it (it may
|
|
126
|
+
* define one), "none" otherwise. Only `--mcp-config` can override ccc's
|
|
127
|
+
* server: it beats a project `.mcp.json` server of the same name (checked on
|
|
128
|
+
* Claude Code 2.1.302), and plugin servers get `plugin_…` names.
|
|
129
|
+
*/
|
|
130
|
+
export function memtreeServerInArgs(args, cwd = process.cwd()) {
|
|
131
|
+
let found = "none";
|
|
132
|
+
for (const value of mcpConfigArgs(args)) {
|
|
133
|
+
const server = memtreeServerIn(value, cwd);
|
|
134
|
+
if (server === null)
|
|
135
|
+
continue;
|
|
136
|
+
found = server === undefined ? "unknown" : isCccMemtreeServer(server) ? "ccc" : "other";
|
|
137
|
+
}
|
|
138
|
+
return found;
|
|
139
|
+
}
|
|
140
|
+
/** `--name value…` (variadic, up to the next option) and `--name=value`, before `--`. */
|
|
141
|
+
function optionValues(args, names) {
|
|
84
142
|
const values = [];
|
|
85
143
|
for (let i = 0; i < args.length; i++) {
|
|
86
144
|
const arg = args[i];
|
|
87
145
|
if (arg === "--")
|
|
88
146
|
break;
|
|
89
|
-
|
|
90
|
-
|
|
147
|
+
const inline = names.find((name) => arg.startsWith(`${name}=`));
|
|
148
|
+
if (inline) {
|
|
149
|
+
values.push(arg.slice(inline.length + 1));
|
|
91
150
|
continue;
|
|
92
151
|
}
|
|
93
|
-
if (arg
|
|
152
|
+
if (!names.includes(arg))
|
|
94
153
|
continue;
|
|
95
154
|
while (i + 1 < args.length && !args[i + 1].startsWith("-"))
|
|
96
155
|
values.push(args[++i]);
|
|
@@ -98,31 +157,41 @@ export function mcpConfigArgs(args) {
|
|
|
98
157
|
return values;
|
|
99
158
|
}
|
|
100
159
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* dist/memtree-mcp.js). Unreadable or malformed configs count as no.
|
|
160
|
+
* The `memtree` entry of one `--mcp-config` value (file or inline JSON):
|
|
161
|
+
* null when it defines none, undefined when it cannot be read or parsed.
|
|
104
162
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
continue;
|
|
116
|
-
}
|
|
117
|
-
const server = parsed?.mcpServers?.[MEMTREE_MCP_SERVER_NAME];
|
|
118
|
-
if (!server || typeof server !== "object")
|
|
119
|
-
continue;
|
|
120
|
-
const commandLine = [server.command, ...(Array.isArray(server.args) ? server.args : [])]
|
|
121
|
-
.filter((part) => typeof part === "string")
|
|
122
|
-
.join(" ");
|
|
123
|
-
if (/memtree-mcp/.test(commandLine))
|
|
124
|
-
return true;
|
|
163
|
+
function memtreeServerIn(value, cwd) {
|
|
164
|
+
let parsed;
|
|
165
|
+
try {
|
|
166
|
+
const text = value.trim().startsWith("{")
|
|
167
|
+
? value
|
|
168
|
+
: fs.readFileSync(path.resolve(cwd, value), "utf-8");
|
|
169
|
+
parsed = JSON.parse(text);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return undefined;
|
|
125
173
|
}
|
|
126
|
-
|
|
174
|
+
const server = parsed?.mcpServers?.[MEMTREE_MCP_SERVER_NAME];
|
|
175
|
+
if (server === undefined)
|
|
176
|
+
return null;
|
|
177
|
+
return server && typeof server === "object" ? server : undefined;
|
|
178
|
+
}
|
|
179
|
+
/** A command line whose program or an argument is `memtree-mcp` or a memtree-mcp.js path. */
|
|
180
|
+
function isCccMemtreeServer(server) {
|
|
181
|
+
const parts = [server.command, ...(Array.isArray(server.args) ? server.args : [])];
|
|
182
|
+
return parts.some((part) => typeof part === "string" && /^memtree-mcp(\.js)?$/.test(path.basename(part)));
|
|
183
|
+
}
|
|
184
|
+
function memtreeToolName(tool) {
|
|
185
|
+
return `mcp__${MEMTREE_MCP_SERVER_NAME}__${tool}`;
|
|
186
|
+
}
|
|
187
|
+
/** A permission rule naming this tool, its whole server, or a `*` pattern over it. */
|
|
188
|
+
function ruleMatchesMemtreeTool(rule, tool) {
|
|
189
|
+
if (rule === `mcp__${MEMTREE_MCP_SERVER_NAME}`)
|
|
190
|
+
return true;
|
|
191
|
+
const pattern = rule.split("*").map(escapeRegExp).join(".*");
|
|
192
|
+
return new RegExp(`^${pattern}$`).test(memtreeToolName(tool));
|
|
193
|
+
}
|
|
194
|
+
function escapeRegExp(text) {
|
|
195
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
127
196
|
}
|
|
128
197
|
//# sourceMappingURL=memtree-mcp-config.js.map
|